use alloc::string::String;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, thiserror::Error)]
#[non_exhaustive]
pub enum ShabdakoshError {
#[error("dictionary parse error: {0}")]
DictParseError(String),
#[error("unknown ARPABET symbol: {0}")]
UnknownSymbol(String),
#[error("phoneme {phoneme} not in {language} inventory")]
PhonemeNotInInventory {
phoneme: String,
language: String,
},
#[error("unknown language: {0}")]
UnknownLanguage(String),
}
pub type Result<T> = core::result::Result<T, ShabdakoshError>;