use std::path::PathBuf;
use clap::Parser;
use crate::Command;
use crate::settings::{LogFormat, LogLevel};
#[derive(Parser, Debug)]
#[command(
version,
about = "A user-friendly, reliable command-line interface to interact with the Dusk blockchain.",
author = "Dusk Network B.V."
)]
pub(crate) struct WalletArgs {
#[arg(short, long)]
pub wallet_dir: Option<PathBuf>,
#[arg(short, long)]
pub network: Option<String>,
#[arg(long, env = "RUSK_WALLET_PWD")]
pub password: Option<String>,
#[arg(long)]
pub state: Option<String>,
#[arg(long)]
pub prover: Option<String>,
#[arg(long)]
pub archiver: Option<String>,
#[arg(long, value_enum, default_value_t = LogLevel::Info)]
pub log_level: LogLevel,
#[arg(long, value_enum, default_value_t = LogFormat::Coloured)]
pub log_type: LogFormat,
#[command(subcommand)]
pub command: Option<Command>,
}