import { DigitsArrow, FieldArrow, ScopeArrow, Vector1Arrow, Vector2Arrow, Vector3Arrow } from './arrows'; import { DateTimePatternFieldType, EraWidthType, FormatWidthType } from './calendars'; import { DateFieldType, DateFieldWidthType, RelativeTimeFieldType } from './datefields'; import { ListPatternPositionType } from './general'; import { CurrencySpacingPattern, CurrencySpacingPos, NumberMiscPatternType, NumberSymbolType, NumberSystemCategory, NumberSystemName } from './numbers'; import { LanguageIdType, RegionIdType, ScriptIdType } from './autogen.identifiers'; import { ContextTransformFieldType } from './autogen.context'; import { CurrencyType } from './autogen.currencies'; import { MetaZoneType } from './autogen.timezones'; import { UnitType } from './autogen.units'; import { AltType, DayPeriodAltType, EraAltType, PluralType } from './misc'; /** * @public */ export interface CalendarFields { readonly weekdays: Vector2Arrow; readonly months: Vector2Arrow; readonly quarters: Vector2Arrow; readonly dayPeriods: Vector3Arrow; } /** * @public */ export interface CalendarSchema { readonly eras: Vector3Arrow; readonly format: CalendarFields; readonly standAlone: CalendarFields; readonly availableFormats: Vector1Arrow; readonly pluralFormats: Vector2Arrow; readonly intervalFormats: Vector2Arrow; readonly dateFormats: Vector1Arrow; readonly timeFormats: Vector1Arrow; readonly dateTimeFormats: Vector1Arrow; readonly dateTimeFormatsAt: Vector1Arrow; readonly intervalFormatFallback: FieldArrow; } /** * @public */ export interface BuddhistSchema extends CalendarSchema { } /** * @public */ export interface GregorianSchema extends CalendarSchema { } /** * @public */ export interface JapaneseSchema extends CalendarSchema { } /** * @public */ export interface PersianSchema extends CalendarSchema { } /** * @public */ export interface CurrenciesSchema { readonly displayName: Vector1Arrow; readonly decimal: Vector1Arrow; readonly pluralName: Vector2Arrow; readonly symbol: Vector2Arrow; } /** * @public */ export interface RelativeTimeFields { readonly previous2: Vector1Arrow; readonly previous: Vector1Arrow; readonly current: Vector1Arrow; readonly next: Vector1Arrow; readonly next2: Vector1Arrow; readonly future: Vector2Arrow; readonly past: Vector2Arrow; } /** * @public */ export interface RelativeTimes { readonly wide: RelativeTimeFields; readonly short: RelativeTimeFields; readonly narrow: RelativeTimeFields; } /** * @public */ export interface DateFieldsSchema { readonly relativeTimes: RelativeTimes; readonly displayName: Vector2Arrow; } /** * @public */ export interface LayoutSchema { readonly characterOrder: FieldArrow; readonly lineOrder: FieldArrow; } /** * @public */ export interface ListPatternsSchema { readonly and: Vector1Arrow; readonly andShort: Vector1Arrow; readonly or: Vector1Arrow; readonly unitLong: Vector1Arrow; readonly unitNarrow: Vector1Arrow; readonly unitShort: Vector1Arrow; } /** * @public */ export interface ContextTransformsSchema { readonly contextTransforms: Vector1Arrow; } /** * @public */ export interface LanguageNameInfo { readonly displayName: Vector2Arrow; } /** * @public */ export interface ScriptNameInfo { readonly displayName: Vector2Arrow; } /** * @public */ export interface RegionNameInfo { readonly displayName: Vector2Arrow; } /** * @public */ export interface NamesSchema { readonly languages: LanguageNameInfo; readonly scripts: ScriptNameInfo; readonly regions: RegionNameInfo; } /** * @public */ export interface CurrencyFormats { readonly standard: FieldArrow; readonly accounting: FieldArrow; readonly short: DigitsArrow; readonly spacing: Vector2Arrow; readonly unitPattern: Vector1Arrow; } /** * @public */ export interface DecimalFormats { readonly standard: FieldArrow; readonly short: DigitsArrow; readonly long: DigitsArrow; } /** * @public */ export interface NumberSystemInfo { readonly symbols: Vector1Arrow; readonly currencyFormats: CurrencyFormats; readonly decimalFormats: DecimalFormats; readonly percentFormat: FieldArrow; readonly scientificFormat: FieldArrow; readonly miscPatterns: Vector1Arrow; } /** * @public */ export interface NumbersSchema { readonly minimumGroupingDigits: FieldArrow; readonly numberSystems: Vector1Arrow; readonly numberSystem: ScopeArrow; } /** * @public */ export type TimeZoneNameType = 'daylight' | 'generic' | 'standard'; /** * @public */ export interface MetaZoneInfo { readonly short: Vector2Arrow; readonly long: Vector2Arrow; } /** * @public */ export interface TimeZoneSchema { readonly metaZones: MetaZoneInfo; readonly exemplarCity: Vector1Arrow; readonly gmtFormat: FieldArrow; readonly hourFormat: FieldArrow; readonly gmtZeroFormat: FieldArrow; readonly regionFormat: FieldArrow; } /** * @public */ export interface UnitInfo { readonly unitPattern: Vector2Arrow; readonly displayName: Vector1Arrow; readonly perUnitPattern: Vector1Arrow; readonly perPattern: FieldArrow; readonly timesPattern: FieldArrow; } /** * @public */ export interface UnitsSchema { readonly long: UnitInfo; readonly narrow: UnitInfo; readonly short: UnitInfo; } /** * @public */ export interface Schema { readonly Names: NamesSchema; readonly Numbers: NumbersSchema; readonly DateFields: DateFieldsSchema; readonly Layout: LayoutSchema; readonly ListPatterns: ListPatternsSchema; readonly Buddhist: BuddhistSchema; readonly Gregorian: GregorianSchema; readonly Japanese: JapaneseSchema; readonly Persian: PersianSchema; readonly TimeZones: TimeZoneSchema; readonly Currencies: CurrenciesSchema; readonly Units: UnitsSchema; readonly ContextTransforms: ContextTransformsSchema; }