import { LocaleData } from './core'; import { LDMLPluralRule } from './plural-rules'; export interface FieldData { '0'?: string; '1'?: string; '-1'?: string; '2'?: string; '-2'?: string; '3'?: string; '-3'?: string; future: RelativeTimeData; past: RelativeTimeData; } type RelativeTimeData = { [u in LDMLPluralRule]?: string; }; export type UnpackedLocaleFieldsData = { [f in RelativeTimeField]?: FieldData; } & { nu: Array; }; export type LocaleFieldsData = { [f in RelativeTimeField]?: FieldData; } & { nu?: Array; }; export type RelativeTimeField = 'second' | 'second-short' | 'second-narrow' | 'minute' | 'minute-short' | 'minute-narrow' | 'hour' | 'hour-short' | 'hour-narrow' | 'day' | 'day-short' | 'day-narrow' | 'week' | 'week-short' | 'week-narrow' | 'month' | 'month-short' | 'month-narrow' | 'quarter' | 'quarter-short' | 'quarter-narrow' | 'year' | 'year-short' | 'year-narrow'; export type RelativeTimeFormatSingularUnit = Exclude; export type RelativeTimeLocaleData = LocaleData; export interface RelativeTimeFormatInternal { numberFormat: Intl.NumberFormat; pluralRules: Intl.PluralRules; locale: string; fields: LocaleFieldsData; style: Intl.ResolvedRelativeTimeFormatOptions['style']; numeric: Intl.ResolvedRelativeTimeFormatOptions['numeric']; numberingSystem: string; initializedRelativeTimeFormat: boolean; } export {};