//#region packages/intl-getcanonicallocales/types.d.ts
interface UnicodeLocaleId {
  lang: UnicodeLanguageId;
  extensions: Array<UnicodeExtension | TransformedExtension | PuExtension | OtherExtension>;
}
interface UnicodeLanguageId {
  lang: string;
  script?: string;
  region?: string;
  variants: string[];
}
type KV = [string, string] | [string];
interface Extension {
  type: string;
}
interface UnicodeExtension extends Extension {
  type: "u";
  keywords: KV[];
  attributes: string[];
}
interface TransformedExtension extends Extension {
  type: "t";
  fields: KV[];
  lang?: UnicodeLanguageId;
}
interface PuExtension extends Extension {
  type: "x";
  value: string;
}
interface OtherExtension extends Extension {
  type: "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "v" | "w" | "y" | "z";
  value: string;
}
//#endregion
//#region packages/intl-getcanonicallocales/emitter.d.ts
declare function emitUnicodeLanguageId(lang?: UnicodeLanguageId): string;
declare function emitUnicodeLocaleId({
  lang,
  extensions
}: UnicodeLocaleId): string;
//#endregion
//#region packages/intl-getcanonicallocales/parser.d.ts
declare function isUnicodeLanguageSubtag(lang: string): boolean;
declare function isStructurallyValidLanguageTag(tag: string): boolean;
declare function isUnicodeRegionSubtag(region: string): boolean;
declare function isUnicodeScriptSubtag(script: string): boolean;
declare function parseUnicodeLanguageId(chunks: string[] | string): UnicodeLanguageId;
declare function parseUnicodeLocaleId(locale: string): UnicodeLocaleId;
//#endregion
//#region packages/intl-getcanonicallocales/likelySubtags.generated.d.ts
declare const likelySubtags: Record<string, string>;
//#endregion
//#region packages/intl-getcanonicallocales/index.d.ts
declare function getCanonicalLocales(locales?: string[] | string | Intl.Locale | Intl.Locale[] | ArrayLike<string | Intl.Locale>): string[];
//#endregion
export { Extension, KV, OtherExtension, PuExtension, TransformedExtension, UnicodeExtension, UnicodeLanguageId, UnicodeLocaleId, emitUnicodeLanguageId, emitUnicodeLocaleId, getCanonicalLocales, isStructurallyValidLanguageTag, isUnicodeLanguageSubtag, isUnicodeRegionSubtag, isUnicodeScriptSubtag, likelySubtags, parseUnicodeLanguageId, parseUnicodeLocaleId };
//# sourceMappingURL=index.d.ts.map