#[cfg(feature = "serde")]
use serde::{Deserialize, Serialize};
use crate::{phoneme::Phoneme, prosody::ProsodicPhoneme};
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct WordPhonemePair {
pub word: String,
pub phonemes: Vec<Phoneme>,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct WordPhonemeMap {
pub word: String,
pub phonemes: Vec<Phoneme>,
pub is_unknown: bool,
pub is_ignored: bool,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct WordPhonemeDetail {
pub word: String,
pub phonemes: Vec<Phoneme>,
pub features: Vec<String>,
pub pos: String,
pub pos_group1: String,
pub pos_group2: String,
pub pos_group3: String,
pub ctype: String,
pub cform: String,
pub orig: String,
pub read: String,
pub pron: String,
pub accent_nucleus: i32,
pub mora_count: i32,
pub chain_rule: String,
pub chain_flag: i32,
pub is_unknown: bool,
pub is_ignored: bool,
}
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct WordPhonemeProsody {
pub word: String,
pub phonemes: Vec<ProsodicPhoneme>,
pub pos: String,
pub pos_group1: String,
pub pos_group2: String,
pub pos_group3: String,
pub ctype: String,
pub cform: String,
pub orig: String,
pub read: String,
pub pron: String,
pub accent_nucleus: i32,
pub mora_count: i32,
pub chain_rule: String,
pub chain_flag: i32,
pub is_unknown: bool,
pub is_ignored: bool,
}