use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error(r#"import format "{0}" is not supported"#)]
UnknownImportFormat(String),
#[error("no authenticator URLs found in zip archive '{0}'")]
NoAuthenticatorUrls(String),
#[cfg(all(target_os = "macos", feature = "keychain-access"))]
#[error(transparent)]
Keychain(#[from] crate::migrate::import::keychain::Error),
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
Csv(#[from] csv_async::Error),
#[error(transparent)]
Zip(#[from] async_zip::error::ZipError),
#[error(transparent)]
Json(#[from] serde_json::Error),
}