use icu_locid::LanguageIdentifier;
use litemap::LiteMap;
use serde::Deserialize;
#[derive(PartialEq, PartialOrd, Ord, Eq, Debug, Deserialize)]
pub struct LocalePluralRules {
#[serde(rename = "pluralRule-count-zero")]
pub zero: Option<String>,
#[serde(rename = "pluralRule-count-one")]
pub one: Option<String>,
#[serde(rename = "pluralRule-count-two")]
pub two: Option<String>,
#[serde(rename = "pluralRule-count-few")]
pub few: Option<String>,
#[serde(rename = "pluralRule-count-many")]
pub many: Option<String>,
}
#[derive(PartialEq, Debug, Deserialize)]
pub struct Rules(pub LiteMap<LanguageIdentifier, LocalePluralRules>);
#[derive(PartialEq, Debug, Deserialize)]
pub struct Supplemental {
#[serde(rename = "plurals-type-cardinal")]
pub plurals_type_cardinal: Option<Rules>,
#[serde(rename = "plurals-type-ordinal")]
pub plurals_type_ordinal: Option<Rules>,
}
#[derive(PartialEq, Debug, Deserialize)]
pub struct Resource {
pub supplemental: Supplemental,
}