import type { AppLocale } from "./types.js";
/** Curated preset — pass to ``. */
export declare const APP_TIMEZONE_PRESET: readonly ["UTC", "Asia/Ho_Chi_Minh", "Asia/Bangkok", "Asia/Singapore", "Asia/Jakarta", "Asia/Manila", "Asia/Kuala_Lumpur", "Asia/Yangon", "Asia/Phnom_Penh", "Asia/Vientiane", "Asia/Brunei", "Asia/Tokyo", "Asia/Seoul", "Asia/Shanghai", "Asia/Hong_Kong", "Asia/Taipei", "Asia/Ulaanbaatar", "Asia/Kolkata", "Asia/Karachi", "Asia/Dhaka", "Asia/Colombo", "Asia/Dubai", "Asia/Riyadh", "Asia/Qatar", "Asia/Tehran", "Asia/Jerusalem", "Europe/London", "Europe/Paris", "Europe/Berlin", "Europe/Amsterdam", "Europe/Rome", "Europe/Madrid", "Europe/Moscow", "Europe/Istanbul", "America/New_York", "America/Chicago", "America/Denver", "America/Los_Angeles", "America/Toronto", "America/Vancouver", "America/Mexico_City", "America/Sao_Paulo", "America/Buenos_Aires", "Australia/Sydney", "Australia/Melbourne", "Australia/Perth", "Pacific/Auckland"];
export type AppTimezonePreset = (typeof APP_TIMEZONE_PRESET)[number];
/** Preferred IANA ids not returned by all runtimes (e.g. Node lists `Asia/Saigon` only). */
export declare const TIMEZONE_ALIASES: Record;
/** Map app id → Intl id for `DateTimeFormat` / validation. */
export declare function resolveTimezoneForIntl(timezone: string): string;
/** Full IANA list from runtime — sorted lexicographically. */
export declare function getAllIanaTimezones(): readonly string[];
export declare function isValidIanaTimezone(value: string): boolean;
/**
* Options for TimezonePicker.
* - `configured` omitted/empty → full IANA list
* - `configured` set → only those ids (+ `current` if missing)
*/
export declare function resolveTimezonePickerOptions(configured?: readonly string[] | null, current?: string): readonly string[];
export declare function getBrowserTimezone(): string;
/** City/region segment from IANA id — `Asia/Ho_Chi_Minh` → `Ho Chi Minh`. */
export declare function getTimezoneCityName(timezone: string): string;
/** UTC/GMT offset via Intl — e.g. `GMT+7`, `UTC`. */
export declare function getTimezoneOffsetLabel(timezone: string, locale?: AppLocale): string;
/** Intl fallback when no i18n override — `Ho Chi Minh (GMT+7)`. */
export declare function formatTimezoneDisplayLabel(timezone: string, locale?: AppLocale): string;
export declare function getTimezoneLabel(timezone: string, locale: AppLocale, fallbackLocale?: AppLocale): string;
export declare function resolveDefaultTimezone(defaultTimezone: "browser" | "system" | (string & {}), systemTimezone?: string): string;
/** Vitest only — reset cached IANA list between cases. */
export declare function resetIanaTimezoneCacheForTests(): void;