use thiserror::Error;
#[derive(Debug, Error)]
pub enum TTSError {
#[error("Missing API key for provider: {0}")]
MissingApiKey(&'static str),
#[error("Network error: {0}")]
Network(#[from] reqwest::Error),
#[error("Audio processing error: {0}")]
AudioProcessingError(String),
#[error("Provider error: {0}")]
Provider(String),
#[error("Invalid audio format: {0}")]
InvalidFormat(String),
#[error("Cache error: {0}")]
Cache(String),
#[error("Configuration error: {0}")]
Config(String),
#[error("API error: {0}")]
ApiError(String),
}
pub use TTSError as Error;