type LocaleOption = [
    [
        "af",
        "NA",
        "ZA"
    ],
    [
        "am"
    ],
    [
        "ar",
        "AE",
        "BH",
        "DJ",
        "DZ",
        "EG",
        "EH",
        "JO",
        "KW",
        "LB",
        "LY",
        "MA",
        "OM",
        "PS",
        "QA",
        "SA",
        "SD",
        "TN",
        "YE"
    ],
    [
        "as"
    ],
    [
        "az"
    ],
    [
        "ba"
    ],
    [
        "be"
    ],
    [
        "bg"
    ],
    [
        "bi"
    ],
    [
        "bn",
        "BD",
        "IN"
    ],
    [
        "bo",
        "CN",
        "IN"
    ],
    [
        "br"
    ],
    [
        "bs"
    ],
    [
        "ca",
        "AD",
        "ES"
    ],
    [
        "ch",
        "GU",
        "MP"
    ],
    [
        "co"
    ],
    [
        "cs"
    ],
    [
        "cy"
    ],
    [
        "da"
    ],
    [
        "de",
        "AT",
        "CH",
        "DE",
        "LI",
        "MF"
    ],
    [
        "dv"
    ],
    [
        "dz"
    ],
    [
        "el",
        "CY",
        "GR"
    ],
    [
        "en",
        "AG",
        "AI",
        "AQ",
        "AU",
        "BB",
        "BM",
        "BS",
        "BZ",
        "CA",
        "CC",
        "CK",
        "CX",
        "DM",
        "FK",
        "FM",
        "GB",
        "GD",
        "GI",
        "GS",
        "GY",
        "HM",
        "IM",
        "IO",
        "JE",
        "JM",
        "KN",
        "KY",
        "LC",
        "LR",
        "MF",
        "MS",
        "NZ",
        "PN",
        "PW",
        "SB",
        "SH",
        "SL",
        "SS",
        "SX",
        "TC",
        "TT",
        "US",
        "VC",
        "ZM"
    ],
    [
        "eo"
    ],
    [
        "es",
        "AR",
        "BO",
        "CL",
        "CO",
        "CR",
        "CU",
        "DO",
        "EC",
        "ES",
        "GQ",
        "GT",
        "HN",
        "MX",
        "NI",
        "PA",
        "PE",
        "PR",
        "PY",
        "SV",
        "US",
        "UY",
        "VE"
    ],
    [
        "et"
    ],
    [
        "eu"
    ],
    [
        "fa",
        "AF",
        "IR"
    ],
    [
        "fi"
    ],
    [
        "fj"
    ],
    [
        "fo"
    ],
    [
        "fr",
        "BE",
        "BF",
        "BL",
        "CA",
        "CF",
        "CG",
        "CH",
        "CM",
        "DJ",
        "FR",
        "GA",
        "GF",
        "GG",
        "GN",
        "GP",
        "LU",
        "MC",
        "MF",
        "ML",
        "MQ",
        "NC",
        "NE",
        "PF",
        "PM",
        "RE",
        "TD",
        "TF",
        "TG",
        "YT"
    ],
    [
        "fy"
    ],
    [
        "ga"
    ],
    [
        "gd"
    ],
    [
        "gl"
    ],
    [
        "gu"
    ],
    [
        "ha",
        "GH",
        "NG"
    ],
    [
        "he"
    ],
    [
        "hi"
    ],
    [
        "hr"
    ],
    [
        "ht"
    ],
    [
        "hu"
    ],
    [
        "hy"
    ],
    [
        "id"
    ],
    [
        "ig"
    ],
    [
        "ii"
    ],
    [
        "is"
    ],
    [
        "it",
        "CH",
        "IT",
        "SM",
        "VA"
    ],
    [
        "iu"
    ],
    [
        "ja"
    ],
    [
        "ka"
    ],
    [
        "kk"
    ],
    [
        "kl"
    ],
    [
        "km"
    ],
    [
        "kn"
    ],
    [
        "ko",
        "KP",
        "KR"
    ],
    [
        "ku",
        "IQ",
        "IR",
        "SY",
        "TR",
        "Arab",
        "Latn"
    ],
    [
        "ky"
    ],
    [
        "lb"
    ],
    [
        "lo"
    ],
    [
        "lt"
    ],
    [
        "lv"
    ],
    [
        "mg"
    ],
    [
        "mh"
    ],
    [
        "mi"
    ],
    [
        "mk"
    ],
    [
        "ml"
    ],
    [
        "mn",
        "Cyrl",
        "Mong"
    ],
    [
        "mr"
    ],
    [
        "ms",
        "BN",
        "MY"
    ],
    [
        "mt"
    ],
    [
        "my"
    ],
    [
        "na"
    ],
    [
        "nb"
    ],
    [
        "ne"
    ],
    [
        "nl",
        "BE",
        "NL",
        "SR"
    ],
    [
        "nn"
    ],
    [
        "no",
        "BV",
        "NO",
        "SJ"
    ],
    [
        "nr"
    ],
    [
        "ny"
    ],
    [
        "oc",
        "ES",
        "FR",
        "IT"
    ],
    [
        "or"
    ],
    [
        "pa",
        "IN",
        "PK",
        "Arab",
        "Gurmukhi"
    ],
    [
        "pl"
    ],
    [
        "ps",
        "AF",
        "PK"
    ],
    [
        "pt",
        "AO",
        "BR",
        "CV",
        "GQ",
        "GW",
        "MZ",
        "PT",
        "ST",
        "TL"
    ],
    [
        "qu",
        "BO",
        "EC",
        "PE"
    ],
    [
        "rm"
    ],
    [
        "ro",
        "MD",
        "RO"
    ],
    [
        "ru",
        "BY",
        "KG",
        "KZ",
        "RU"
    ],
    [
        "rw"
    ],
    [
        "sa"
    ],
    [
        "se",
        "FI",
        "NO",
        "SE"
    ],
    [
        "sg"
    ],
    [
        "si"
    ],
    [
        "sk"
    ],
    [
        "sl"
    ],
    [
        "sm",
        "AS",
        "WS"
    ],
    [
        "sn"
    ],
    [
        "so",
        "DJ",
        "SO"
    ],
    [
        "sq",
        "AL",
        "MK",
        "XK"
    ],
    [
        "sr",
        "BA",
        "HR",
        "ME",
        "RS",
        "Cyrl",
        "Latn"
    ],
    [
        "ss"
    ],
    [
        "st",
        "LS",
        "ZA"
    ],
    [
        "sv",
        "AX",
        "FI",
        "SE"
    ],
    [
        "sw",
        "BI",
        "CD",
        "KE",
        "RW",
        "TZ",
        "UG"
    ],
    [
        "ta",
        "IN",
        "LK",
        "MY",
        "SG"
    ],
    [
        "te"
    ],
    [
        "tg"
    ],
    [
        "th"
    ],
    [
        "ti",
        "ER",
        "ET"
    ],
    [
        "tk"
    ],
    [
        "tn"
    ],
    [
        "to"
    ],
    [
        "tr"
    ],
    [
        "ty"
    ],
    [
        "uk"
    ],
    [
        "ur",
        "IN",
        "PK"
    ],
    [
        "uz",
        "Cyrl",
        "Latn"
    ],
    [
        "vi"
    ],
    [
        "wo",
        "GM",
        "MR",
        "SN"
    ],
    [
        "xh"
    ],
    [
        "yi",
        "IL",
        "US"
    ],
    [
        "yo",
        "BJ",
        "NG"
    ],
    [
        "zh",
        "CN",
        "HK",
        "MO",
        "SG",
        "TW",
        "Hans",
        "Hant"
    ],
    [
        "zu"
    ]
];
type LocaleOptions<T> = T extends [infer F, ...infer R] ? F extends string ? F | (R extends string[] ? `${F}-${R[number]}` : never) : never : never;
export type Locale = LocaleOptions<LocaleOption[number]> | (Intl.UnicodeBCP47LocaleIdentifier & {});
export {};
