pub mod bulk_estimated;
pub mod cli;
pub mod cmd;
pub mod config;
pub mod donation_details;
pub mod eventref;
pub mod optimize_attest;
pub mod render;
pub mod session;
pub mod tax_profile;
pub use cli::Cli;
pub use config::CliConfig;
pub use session::{
BulkFilter, BulkIncomeFilter, BulkIncomePlan, BulkIncomeRow, BulkLinkPlan, BulkLinkRow,
BulkReclassifyOutflowPlan, BulkReclassifyOutflowRow, BulkResolvePlan, BulkResolveRow,
BulkStiFilter, BulkStiPlan, BulkStiRow, BulkVoidPlan, BulkVoidRow, Frame, MatchAction,
MatchProposal, Session,
};
#[derive(Debug, thiserror::Error)]
pub enum CliError {
#[error(transparent)]
Store(#[from] btctax_store::StoreError),
#[error(transparent)]
Core(#[from] btctax_core::CoreError),
#[error(transparent)]
Adapter(#[from] btctax_adapters::AdapterError),
#[error("sqlite: {0}")]
Sqlite(#[from] rusqlite::Error),
#[error("csv: {0}")]
Csv(#[from] csv::Error),
#[error("io: {0}")]
Io(#[from] std::io::Error),
#[error("not a valid event reference: {0:?}")]
BadEventRef(String),
#[error("usage: {0}")]
Usage(String),
#[error("unrecognized stored config value: key={key:?} value={value:?}")]
BadConfigValue { key: String, value: String },
}