import { type Locale } from './locales.js'; export declare enum Plurality { ZERO = "zero", ONE = "one", TWO = "two", FEW = "few", MANY = "many", OTHER = "other" } /** * Locales that have no grammatical plural distinction and therefore only * support {@link Plurality.OTHER}. */ export declare const nonPluralLocales: ["ja_JP", "ko_KR", "zh_CN", "zh_TW", "zh_HK", "zh_SG", "vi_VN", "th_TH", "km_KH", "lo_LA", "my_MM", "id_ID", "ms_MY", "ms_BN", "tr_TR", "az_AZ", "hu_HU", "uz_UZ", "kk_KZ", "ug_CN", "ky_KG", "tk_TM", "kn_IN", "bo_CN", "bo_IN", "dz_BT", "yo_NG", "yo_BJ", "wo_SN", "su_ID", "jv_ID", "gug_PY", "fa_IR", "fa_AF"]; export type NonPluralLocale = (typeof nonPluralLocales)[number]; export declare const nonPluralLocalesSet: Set<"wo_SN" | "yo_NG" | "yo_BJ" | "az_AZ" | "kk_KZ" | "ky_KG" | "tk_TM" | "ug_CN" | "uz_UZ" | "hu_HU" | "fa_IR" | "fa_AF" | "kn_IN" | "bo_CN" | "bo_IN" | "dz_BT" | "id_ID" | "ja_JP" | "jv_ID" | "km_KH" | "ko_KR" | "lo_LA" | "ms_MY" | "ms_BN" | "my_MM" | "su_ID" | "th_TH" | "vi_VN" | "zh_CN" | "zh_TW" | "zh_HK" | "zh_SG" | "gug_PY" | "tr_TR">; /** * Determines if the given locale supports pluralization. * * @param {Locale} locale - The locale to check for pluralization support. * @return {boolean} `true` if the locale supports pluralization, `false` otherwise. */ export declare function hasPluralization(locale: Locale): locale is Exclude; /** * Determines which plural forms the given locale supports. * * Locales that do not pluralize only support {@link Plurality.OTHER}; locales * without known plural rules fall back to all plural forms. * * @param {Locale} locale - The locale to retrieve the supported plural forms for. * @return {Set} The set of plural forms supported by the locale. */ export declare function getSupportedPlurality(locale: Locale): Set;