use std::path::PathBuf;
use clap::Args;
use super::super::formats::OutputArgs;
use super::super::help::EXPORT_AFTER_HELP;
use super::super::parsing::{parse_item_index, parse_representation_uti};
use super::RetrievalFilterArgs;
#[derive(Debug, Args)]
#[command(after_help = EXPORT_AFTER_HELP)]
pub(in crate::cli) struct ExportArgs {
pub(in crate::cli) snapshot_id: i64,
#[arg(long, value_parser = parse_item_index)]
pub(in crate::cli) item: usize,
#[arg(long, value_parser = parse_representation_uti)]
pub(in crate::cli) uti: String,
#[arg(long)]
pub(in crate::cli) out: PathBuf,
#[arg(long, default_value_t = false)]
pub(in crate::cli) force: bool,
#[command(flatten)]
pub(in crate::cli) filters: RetrievalFilterArgs,
#[command(flatten)]
pub(in crate::cli) output: OutputArgs,
}
#[derive(Debug, Args)]
pub(in crate::cli) struct PreviewArgs {
pub(in crate::cli) snapshot_id: i64,
#[arg(value_parser = parse_item_index)]
pub(in crate::cli) item: usize,
#[arg(value_parser = parse_representation_uti)]
pub(in crate::cli) uti: String,
#[arg(long)]
pub(in crate::cli) out: PathBuf,
#[arg(long, default_value_t = false)]
pub(in crate::cli) force: bool,
#[command(flatten)]
pub(in crate::cli) output: OutputArgs,
}