use clap::Args as ClapArgs;
use std::path::PathBuf;
use surreal_sync_runtime::SurrealCliOpts as SurrealOpts;
#[derive(ClapArgs, Clone)]
pub struct Args {
#[arg(long)]
pub path: String,
#[arg(long)]
pub to_namespace: String,
#[arg(long)]
pub to_database: String,
#[arg(long, default_value = "id")]
pub id_field: String,
#[arg(long, value_delimiter = ',')]
pub id_columns: Vec<String>,
#[arg(long = "rule", value_name = "RULE")]
pub conversion_rules: Vec<String>,
#[arg(long, value_name = "PATH")]
pub schema_file: Option<PathBuf>,
#[arg(long, value_name = "PATH")]
pub transforms_config: Option<PathBuf>,
#[command(flatten)]
pub surreal: SurrealOpts,
}