use clap::{ArgAction, Args};
use std::path::PathBuf;
#[derive(Args, Debug, Clone, Default)]
pub struct FingerprintArgs {
#[arg(long = "ja3", default_value_t = true, action = ArgAction::Set)]
pub ja3: bool,
#[arg(long = "client-hello", alias = "ch")]
pub client_hello: bool,
#[arg(long = "ja3-db", value_name = "FILE")]
pub ja3_database: Option<PathBuf>,
#[arg(long = "ja3s", default_value_t = true, action = ArgAction::Set)]
pub ja3s: bool,
#[arg(long = "server-hello", alias = "sh")]
pub server_hello: bool,
#[arg(long = "ja3s-db", value_name = "FILE")]
pub ja3s_database: Option<PathBuf>,
#[arg(long = "jarm", default_value_t = true, action = ArgAction::Set)]
pub jarm: bool,
#[arg(long = "jarm-db", value_name = "FILE")]
pub jarm_database: Option<PathBuf>,
#[arg(short = 'c', long = "client-simulation")]
pub client_simulation: bool,
#[arg(long = "export-hello", value_name = "FORMAT")]
pub export_hello: Option<String>,
}