use thiserror::Error;
#[derive(Debug, Error)]
pub enum MirError {
#[error("Invalid audio input: {0}")]
InvalidInput(String),
#[error("Insufficient data: {0}")]
InsufficientData(String),
#[error("Analysis failed: {0}")]
AnalysisFailed(String),
#[error("FFT error: {0}")]
FftError(String),
#[error("Invalid configuration: {0}")]
InvalidConfig(String),
#[error("Feature extraction failed: {0}")]
FeatureExtractionFailed(String),
#[error("Model error: {0}")]
ModelError(String),
}
pub type MirResult<T> = Result<T, MirError>;