import { Format } from './shared.js'; declare class Locale { /** * Construct Locale object from options * @param options Format options * @param [locales] Locale or the default locale * @returns Locale object */ static fromOptions(options: Intl.DateTimeFormatOptions, locales?: string | string[]): Locale; /** * Locale `Intl.DateTimeFormat` object */ readonly formatter: Intl.DateTimeFormat; /** * Locale `formatter` resolved options */ readonly options: Intl.ResolvedDateTimeFormatOptions; private readonly hourCycle; private readonly fractionalSecondDigits; /** * Create the Locale object * @param formatter Date time format */ constructor(formatter: Intl.DateTimeFormat); /** * Hour cycle is not supported in older browsers. Therefore keep the default * @param options Format options * @return hourCycle */ private resolveHourCycle; /** * Get months names for the specified formatter * @returns names Month names */ private formatMonthNames; /** * Get weekday names for the specified formatter * @returns names Weekday names */ private formatWeekdayNames; /** * Get period names for the specified formatter * @returns names Period names */ private formatPeriodNames; /** * Get period names for the specified formatter * @returns names Period names */ private formatEraNames; private _regExp; /** * Get regular expression for the format */ private get regExp(); private get yearRegExp(); private get monthRegExp(); private get dayRegExp(); private get hourRegExp(); private get minuteRegExp(); private get secondRegExp(); private get fractionalSecondRegExp(); private get weekdayRegExp(); private get dayPeriodRegExp(); private getLiteralRegExp; private get eraRegExp(); private _monthNames; /** * Get month names */ private get monthNames(); private _weekdayNames; /** * Get weekday names */ private get weekdayNames(); private _periodNames; /** * Get period names */ private get periodNames(); private _eraNames; /** * Get era names */ private get eraNames(); private _parts; /** * Get parts for formatter */ private get parts(); private _resolvedFormat; /** * Get resolved ISO string format */ get isoFormat(): Format; /** * Try to parse localised date string into ISO date/time/datetime string * Throw an error if value is invalid * @param value Localised date * @param [referenceDate=0] Reference UTC date or time to resolve ambiguous strings. * @returns ISO date/time/datetime string */ parse(value: string, referenceDate?: string | number | Date): string; } export { Locale };