use clap::Parser;
use std::path::PathBuf;
use crate::config::SyncPublicKey;
#[derive(Parser, Debug)]
#[command(name = "pass-ssh-unpack")]
#[command(version, about, long_about = None)]
pub struct Args {
#[arg(short, long, action = clap::ArgAction::Append)]
pub vault: Vec<String>,
#[arg(short, long, action = clap::ArgAction::Append)]
pub item: Vec<String>,
#[arg(short, long)]
pub full: bool,
#[arg(short, long)]
pub quiet: bool,
#[arg(long, conflicts_with = "rclone")]
pub ssh: bool,
#[arg(long, conflicts_with = "ssh")]
pub rclone: bool,
#[arg(long)]
pub purge: bool,
#[arg(long)]
pub dry_run: bool,
#[arg(short, long)]
pub config: Option<PathBuf>,
#[arg(short, long)]
pub output_dir: Option<PathBuf>,
#[arg(long, value_enum)]
pub sync_public_key: Option<SyncPublicKey>,
#[arg(long)]
pub rclone_password_path: Option<String>,
#[arg(long)]
pub always_encrypt: bool,
}