import { LocaleData } from './core.js'; type LanguageTag = string; type RegionCode = string; type ScriptCode = string; type CurrencyCode = string; type CalendarCode = string; type DateTimeFieldCode = string; export interface DisplayNamesData { /** * Note that for style fields, `short` and `narrow` might not exist. * At runtime, the fallback order will be narrow -> short -> long. */ types: { /** * Maps language subtag like `zh-CN` to their display names. */ language: { dialect: { narrow: Record; short: Record; long: Record; }; standard: { narrow: Record; short: Record; long: Record; }; }; region: { narrow: Record; short: Record; long: Record; }; script: { narrow: Record; short: Record; long: Record; }; currency: { narrow: Record; short: Record; long: Record; }; calendar: { narrow: Record; short: Record; long: Record; }; dateTimeField: { narrow: Record; short: Record; long: Record; }; }; /** * Not in spec, but we need this to display both language and region in display name. * e.g. zh-Hans-SG + "{0}({1})" -> 简体中文(新加坡) * Here {0} is replaced by language display name and {1} is replaced by region display name. */ patterns: { locale: string; }; } export type DisplayNamesLocaleData = LocaleData; export {};