use alloc::string::String;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, thiserror::Error)]
#[non_exhaustive]
pub enum SvaraError {
#[error("invalid formant: {0}")]
InvalidFormant(String),
#[error("invalid phoneme: {0}")]
InvalidPhoneme(String),
#[error("invalid pitch: {0}")]
InvalidPitch(String),
#[error("invalid duration: {0}")]
InvalidDuration(String),
#[error("articulation failed: {0}")]
ArticulationFailed(String),
#[error("computation error: {0}")]
ComputationError(String),
}
pub type Result<T> = core::result::Result<T, SvaraError>;