/** A `Date`, epoch milliseconds, a `YYYY-MM-DD` calendar day, or any string `Date` parses. */ export type DateInput = Date | number | string | null | undefined; /** Options shared by `formatDate`, `formatDateTime` and `formatDateRange`. */ export type DateFormatOptions = { /** BCP 47 tag; drives month names, order and digits. Defaults to "en-IN". */ locale?: string; /** IANA zone the instant is read in; defaults to the device zone. A bare `YYYY-MM-DD` ignores it. */ timeZone?: string; /** Returned for null, empty or invalid input instead of "Invalid Date". Defaults to "—". */ fallback?: string; /** `"never"` drops the year, for compact chips and axes. Defaults to `"always"`. */ year?: "always" | "never"; }; /** `formatDateTime` options; `time` overrides the locale's 12- or 24-hour clock. */ export type DateTimeFormatOptions = DateFormatOptions & { /** `"12h"` ("2:05 PM") or `"24h"` ("14:05"); defaults to the locale's own clock. */ time?: "12h" | "24h"; }; export declare const DEFAULT_DATE_FALLBACK = "\u2014"; /** "09 Oct 2026" in en-IN; locale order and month names otherwise. Null or invalid input gives `fallback`. */ export declare function formatDate(value: DateInput, options?: DateFormatOptions): string; /** "09 Oct 2026, 2:05 pm" in en-IN; a bare `YYYY-MM-DD` has no time, so it prints the date alone. */ export declare function formatDateTime(value: DateInput, options?: DateTimeFormatOptions): string; /** "09 – 24 Oct 2026": what both ends share is written once; reversed ends are reordered, one missing end prints the other. */ export declare function formatDateRange(start: DateInput, end: DateInput, options?: DateFormatOptions): string;