export declare const TIMEZONES: string[]; /** Validates timezones with `Intl` to avoid alias mismatches like `Asia/Calcutta` vs `Asia/Kolkata`. */ export declare function isValidTimezone(zone: string | null | undefined): boolean; /** * `Date.UTC` with the year taken literally. `Date.UTC(y, ...)` (and `new Date(y, ...)`) remap years 0-99 to 1900-1999, * so year 0001 silently becomes 1901. This anchors the same fields in UTC without that remap; for years >= 100 * it returns exactly what `Date.UTC` returns, overflowing month/day/time fields included. */ export declare function utcFromFields(year: number, month0: number, day?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; /** * Whether a clock face reads as a real time of day. Hours 0-23, minutes and seconds 0-59; `24:00:00(.000)` is ISO 8601 * end-of-day and is kept (it resolves to the next midnight). Anything else, e.g. 25:61:00, is not a time: date math would * silently roll it into the next day, so callers treat the value as unparseable instead. */ export declare function isClockTime(hours: number, minutes: number, seconds?: number, ms?: number): boolean; /** Host-local counterpart of {@link utcFromFields}: `new Date(y, m, d, …)` remaps years 0-99 to 1900-1999, this does not. */ export declare function localDateFromFields(year: number, month0: number, day?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; /** Fallback year range when `startYear` / `endYear` are not set: the year dropdown, and in the date-time-picker variant also month navigation and typed-year clamping. An explicit bound always wins. */ export declare const DEFAULT_START_YEAR = 2000; export declare const DEFAULT_END_YEAR = 2050; /** Four-digit year for `YYYY` tokens: years 0-99 are zero-padded (`0050`); every other year renders exactly as `String(year)`. */ export declare function formatYear4(year: number): string;