//#region packages/ecma402-abstract/types/date-time.d.ts type Formats = Pick & { fractionalSecondDigits?: 1 | 2 | 3; hour12?: boolean; pattern: string; pattern12: string; skeleton: string; rawPattern: string; rangePatterns: Record; rangePatterns12: Record; }; interface RangePatternPart { source: T; pattern: string; } type RangePatterns = Pick & { hour12?: boolean; patternParts: Array; }; declare enum RangePatternType { startRange = "startRange", shared = "shared", endRange = "endRange" } type TABLE_2 = "era" | "year" | "month" | "day" | "dayPeriod" | "ampm" | "hour" | "minute" | "second" | "fractionalSecondDigits"; type TimeZoneNameData = Record; interface EraData { BC: string; AD: string; } interface DateTimeFormatLocaleInternalData { am: string; pm: string; weekday: { narrow: string[]; long: string[]; short: string[]; }; era: { narrow: EraData; long: EraData; short: EraData; }; month: { narrow: string[]; long: string[]; short: string[]; }; /** * Stand-alone month names (used when month appears without other date fields) * Falls back to format month if not provided */ monthStandalone?: { narrow: string[]; long: string[]; short: string[]; }; timeZoneName: TimeZoneNameData; /** * So we can construct GMT+08:00 */ gmtFormat: string; /** * So we can construct GMT+08:00 */ hourFormat: string; hourCycle: string; dateFormat: { full: Formats; long: Formats; medium: Formats; short: Formats; }; timeFormat: { full: Formats; long: Formats; medium: Formats; short: Formats; }; dateTimeFormat: { full: string; long: string; medium: string; short: string; }; /** * Interval format fallback pattern from CLDR (e.g., "{0} – {1}" for English, "{0}~{1}" for Japanese) * Used when no specific interval format is available for a given skeleton */ intervalFormatFallback: string; formats: Record; nu: string[]; hc: string[]; ca: string[]; } type IntervalFormatsData = { intervalFormatFallback: string; } & Record>; interface DateTimeFormat$1 extends Omit { resolvedOptions(): ResolvedDateTimeFormatOptions; formatToParts(date?: Date | number): IntlDateTimeFormatPart[]; formatRange(startDate: number | Date, endDate: number | Date): string; formatRangeToParts(startDate: number | Date, endDate: number | Date): IntlDateTimeFormatPart[]; } interface ResolvedDateTimeFormatOptions extends Intl.ResolvedDateTimeFormatOptions { dateStyle?: "full" | "long" | "medium" | "short"; timeStyle?: "full" | "long" | "medium" | "short"; numberingSystem: string; } type UnpackedZoneData = [number, string, number, boolean]; type IntlDateTimeFormatPartType = Intl.DateTimeFormatPartTypes | "ampm" | "relatedYear" | "yearName" | "unknown" | "fractionalSecondDigits"; interface IntlDateTimeFormatPart { type: IntlDateTimeFormatPartType; value: string | undefined; source?: RangePatternType; } //#endregion //#region packages/ecma402-abstract/types/core.d.ts type Locale = string; interface LocaleData { data: T; locale: Locale; } //#endregion //#region packages/intl-datetimeformat/types.d.ts interface PackedData { zones: string[]; abbrvs: string; offsets: string; } type RawDateTimeLocaleData = LocaleData; type RawDateTimeLocaleInternalData = Omit & { formats: Record>; dateFormat: { full: string; long: string; medium: string; short: string; }; timeFormat: { full: string; long: string; medium: string; short: string; }; intervalFormats: IntervalFormatsData; dateTimeFormat: { full: string; long: string; medium: string; short: string; }; }; //#endregion //#region packages/intl-datetimeformat/core.d.ts interface DateTimeFormatConstructor { new (locales?: string | string[], options?: Intl.DateTimeFormatOptions): DateTimeFormat$1; (locales?: string | string[], options?: Intl.DateTimeFormatOptions): DateTimeFormat$1; __addLocaleData(...data: RawDateTimeLocaleData[]): void; supportedLocalesOf(locales: string | string[], options?: Pick): string[]; getDefaultLocale(): string; relevantExtensionKeys: string[]; __defaultLocale: string; __defaultTimeZone: string; __setDefaultTimeZone(tz: string): void; getDefaultTimeZone(): string; localeData: Record; availableLocales: Set; polyfilled: boolean; tzData: Record; __addTZData(d: PackedData): void; } declare const DateTimeFormat: DateTimeFormatConstructor; //#endregion export { DateTimeFormat, DateTimeFormatConstructor }; //# sourceMappingURL=index.d.ts.map