mod aptos;
mod bitcoin;
mod cosmos;
mod ethereum;
mod filecoin;
mod mnemonic;
mod nostr;
mod simple;
mod solana;
mod spark;
mod sui;
mod ton;
mod tron;
mod xrpl;
pub(crate) use aptos::AptosCommand;
pub(crate) use bitcoin::BitcoinCommand;
use clap::{Parser, Subcommand};
pub(crate) use cosmos::CosmosCommand;
pub(crate) use ethereum::EthereumCommand;
pub(crate) use filecoin::FilecoinCommand;
pub(crate) use mnemonic::MnemonicCommand;
pub(crate) use nostr::NostrCommand;
pub(crate) use simple::SimpleSubcommand;
pub(crate) use solana::SolanaCommand;
pub(crate) use spark::SparkCommand;
pub(crate) use sui::SuiCommand;
pub(crate) use ton::TonCommand;
pub(crate) use tron::TronCommand;
pub(crate) use xrpl::XrplCommand;
#[derive(Parser)]
#[command(name = "kobe")]
#[command(version, about, long_about = None)]
#[command(propagate_version = true)]
pub(crate) struct Cli {
#[arg(long, global = true)]
pub json: bool,
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub(crate) enum Commands {
#[command(name = "aptos", alias = "apt")]
Aptos(AptosCommand),
#[command(name = "btc", alias = "bitcoin")]
Bitcoin(BitcoinCommand),
#[command(name = "evm", alias = "eth", alias = "ethereum")]
Ethereum(EthereumCommand),
#[command(name = "svm", alias = "sol", alias = "solana")]
Solana(SolanaCommand),
#[command(name = "cosmos", alias = "atom")]
Cosmos(CosmosCommand),
#[command(name = "tron", alias = "trx")]
Tron(TronCommand),
#[command(name = "spark")]
Spark(SparkCommand),
#[command(name = "fil", alias = "filecoin")]
Filecoin(FilecoinCommand),
#[command(name = "ton")]
Ton(TonCommand),
#[command(name = "sui")]
Sui(SuiCommand),
#[command(name = "xrpl", alias = "xrp", alias = "ripple")]
Xrpl(XrplCommand),
#[command(name = "nostr")]
Nostr(NostrCommand),
#[command(name = "mnemonic", alias = "mn")]
Mnemonic(MnemonicCommand),
}