/** Date-only display preset — sent as `x-date-format` to backend. */ import { type AppTimeFormat } from "./time-formats.js"; export type AppDateFormat = "iso" | "ymd" | "dmy" | "mdy"; /** * `ymd` (`yyyy/MM/dd`) IS THE JAPANESE BUSINESS FORM, AND ITS ABSENCE WAS A HOLE WITH NO WAY OUT. * * The axis shipped three values and none of them said `2026/05/01`: `iso` writes hyphens, and the * two slash forms put the day or the month first. A Japanese-first consumer (gino-cloud) therefore * wrote its own formatter and marked it an explicit stopgap — the tell that a named axis was * missing a value rather than the consumer wanting something exotic, since the only alternative * the package left was the thing docs/DATETIME.md rule 1 forbids ("never use date-fns/format, * toLocaleString, or raw ISO slices for UI"). * * It sits BEFORE the day/month-first pair because it is the other year-first form, next to `iso`. */ export declare const APP_DATE_FORMATS: readonly ["iso", "ymd", "dmy", "mdy"]; export declare const APP_REQUEST_HEADER_DATE_FORMAT: "x-date-format"; /** date-fns pattern for date-only display. */ export declare function getDatePattern(dateFormat: AppDateFormat): string; /** date-fns pattern for date + time (table cells). */ export declare function getDateTimePattern(timeFormat: AppTimeFormat, dateFormat: AppDateFormat): string; export declare function isAppDateFormat(value: string | null | undefined): value is AppDateFormat;