import { Schema as S } from 'effect'; import type { CalendarDate } from './calendarDate.js'; /** * Locale configuration for rendering calendar dates. Contains only data — * month/day names and the first day of the week. Formatting functions * (`formatLong`, `formatShort`, `formatAriaLabel`) are separate exports that * take a `LocaleConfig` as input. * * Day names are always stored Sunday-first in the config; `firstDayOfWeek` * controls how the view rotates them at render time. */ export declare const LocaleConfig: S.Struct<{ readonly firstDayOfWeek: S.Literals; readonly monthNames: S.Tuple; readonly shortMonthNames: S.Tuple; readonly dayNames: S.Tuple; readonly shortDayNames: S.Tuple; }>; export type LocaleConfig = typeof LocaleConfig.Type; /** * Default English (United States) locale. Picker components default to this * when no locale is passed via ViewConfig. Consumers who want a different * locale pass their own `LocaleConfig`. */ export declare const defaultEnglishLocale: LocaleConfig; /** * Renders a calendar date in long form. Example: `"January 15, 2026"`. * * @example * ```ts * import { Calendar } from 'foldkit' * import { pipe } from 'effect' * * Calendar.formatLong(Calendar.make(2026, 1, 15), Calendar.defaultEnglishLocale) * // "January 15, 2026" * * pipe( * Calendar.make(2026, 1, 15), * Calendar.formatLong(Calendar.defaultEnglishLocale), * ) * // "January 15, 2026" * ``` */ export declare const formatLong: { (locale: LocaleConfig): (self: CalendarDate) => string; (self: CalendarDate, locale: LocaleConfig): string; }; /** * Renders a calendar date in short form. Example: `"Jan 15, 2026"`. */ export declare const formatShort: { (locale: LocaleConfig): (self: CalendarDate) => string; (self: CalendarDate, locale: LocaleConfig): string; }; /** * Renders an accessibility label for a calendar date, suitable for * `aria-label` on a grid cell. Example: `"Monday, January 15, 2026"`. * * @example * ```ts * import { Calendar } from 'foldkit' * * Calendar.formatAriaLabel(Calendar.make(2026, 1, 15), Calendar.defaultEnglishLocale) * // "Thursday, January 15, 2026" * ``` */ export declare const formatAriaLabel: { (locale: LocaleConfig): (self: CalendarDate) => string; (self: CalendarDate, locale: LocaleConfig): string; }; //# sourceMappingURL=locale.d.ts.map