import { DateTime } from "../datetime.js"; import { DayOfWeek, StringUnitLength, UnitLength, WeekUnitLengths } from "../types/common.js"; import { LocaleOptions, NumberingSystem, CalendarSystem, WeekSettings } from "../types/locale.js"; /** * @private */ declare class PolyNumberFormatter { private readonly _floor; private _inf?; private readonly _padTo; constructor(intl: string, forceSimple: boolean, opts: Intl.NumberFormatOptions & { padTo?: number; floor?: boolean; }); format(i: number): string; } /** * @private */ export declare class PolyDateFormatter { get dtf(): Intl.DateTimeFormat; private _dt; private _dtf; private _opts; private _originalZone?; constructor(dt: DateTime, intl: string, opts: Intl.DateTimeFormatOptions); format(): string; formatToParts(): Intl.DateTimeFormatPart[]; resolvedOptions(): Intl.ResolvedDateTimeFormatOptions; } /** * @private */ declare class PolyRelFormatter { private _opts; private _rtf?; constructor(locale: Intl.UnicodeBCP47LocaleIdentifier, isEnglish: boolean, opts: Intl.RelativeTimeFormatOptions); format(count: number, unit: Intl.RelativeTimeFormatUnit): string; formatToParts(count: number, unit: Intl.RelativeTimeFormatUnit): Intl.RelativeTimeFormatPart[]; } /** * @private */ export declare class Locale { private static _weekInfoCache; get fastNumbers(): boolean; readonly locale: string; numberingSystem?: Readonly; outputCalendar?: Readonly; private _eraCache; private _fastNumbersCached?; private readonly _intl; private _meridiemCache?; private _monthsCache; private readonly _specifiedLocale?; private _weekSettings; private _weekdaysCache; private constructor(); static create(locale?: string, numberingSystem?: NumberingSystem, outputCalendar?: CalendarSystem, weekSettings?: WeekSettings | void, defaultToEN?: boolean): Locale; static fromObject({ locale, numberingSystem, outputCalendar, weekSettings }?: LocaleOptions): Locale; static fromOpts(opts: LocaleOptions): Locale; static resetCache(): void; clone(alts?: LocaleOptions): Locale; dtFormatter(dt: DateTime, intlOptions?: Intl.DateTimeFormatOptions): PolyDateFormatter; equals(other: Locale): boolean; eras(length: StringUnitLength): string[]; extract(dt: DateTime, intlOptions: Intl.DateTimeFormatOptions, field: Intl.DateTimeFormatPartTypes): string; getMinDaysInFirstWeek(): number; getStartOfWeek(): number; getWeekSettings(): WeekSettings; getWeekendDays(): [DayOfWeek, DayOfWeek]; isEnglish(): boolean; listFormatter(opts?: Intl.ListFormatOptions): Intl.ListFormat; listingMode(): "en" | "intl"; meridiems(): string[]; months(length: UnitLength, format?: boolean): string[]; numberFormatter(options?: Intl.NumberFormatOptions & { padTo?: number; floor?: boolean; }): PolyNumberFormatter; redefaultToEN(alts?: LocaleOptions): Locale; redefaultToSystem(alts?: LocaleOptions): Locale; relFormatter(options?: Intl.RelativeTimeFormatOptions): PolyRelFormatter; toString(): string; weekdays(length: WeekUnitLengths, format?: boolean): string[]; private _getCachedWeekInfo; private _supportsFastNumbers; } export {};