pub use clap::{ArgGroup, Parser};
use std::path::PathBuf;
#[derive(Parser, Debug, Clone)]
#[command(version, about = "A Rust-based static binary analysis tool", long_about = None, group(
ArgGroup::new("modes")
.args(&["tui", "pdf", "csv", "json", "out_dir", "dry_run"])
.required(true).multiple(true))
)]
pub struct Cli {
pub path: PathBuf,
#[arg(short, long)]
pub tui: bool,
#[arg(short, long)]
pub pdf: bool,
#[arg(short, long)]
pub csv: bool,
#[arg(short, long)]
pub json: bool,
#[arg(short, long)]
pub out_dir: Option<PathBuf>,
#[arg(short, long)]
pub dry_run: bool,
}