/** * All display formatting. Nothing here is stored; the controller keeps the * machine value and this module derives what the user sees, so display and * state can never drift apart. */ import type { HourCycle, Meridiem } from './controller.js'; /** The hour cycle the locale itself prefers, e.g. h12 for en-US, h23 for de-DE. */ export declare const resolveHourCycle: (locale?: string) => HourCycle; export declare const isRtlLocale: (locale?: string) => boolean; interface FormatOptions { locale?: string | undefined; hourCycle?: HourCycle | undefined; withSeconds?: boolean | undefined; } /** Human-facing time string, e.g. "09:30 AM" or "09:30" depending on locale. */ export declare const formatTime: (secondsOfDay: number, options?: FormatOptions) => string; /** * Locale day-period labels for the AM/PM control. Falls back to "AM"/"PM" when * a locale supplies no day period, which happens for 24-hour-only locales. */ export declare const getDayPeriodNames: (locale?: string) => Record; /** The separator the locale puts between hour and minute, usually ":". */ export declare const getTimeSeparator: (locale?: string, hourCycle?: HourCycle) => string; /** * Screen-reader text for the whole control. Announced via the live region on * commit, so a non-sighted user hears the same thing a sighted user reads. */ export declare const describeTime: (secondsOfDay: number | null, options?: FormatOptions) => string; /** Value announced by an individual hour/minute/second spinbutton. */ export declare const describeField: (secondsOfDay: number, field: 'hours' | 'minutes' | 'seconds', hourCycle: HourCycle) => string; export {}; //# sourceMappingURL=format.d.ts.map