export interface DSTSignature { observesDST: boolean; signature: string; } export interface TimeZone { /** e.g. 'Chicago, Reynosa, Winnipeg' */ cityNames: string; /** A signature of the Daylight Saving Time rules for the time zone. */ dstSignature: string; /** The population of the most populous city in the time zone. */ leadCityPopulation: number; /** Whether the time zone observes Daylight Saving Time. */ observesDST: boolean; /** The offset when not in DST. e.g. '-06:00' */ offset: string; /** e.g. -360 */ offsetMinutes: number; /** e.g. 'CST' */ timeZoneAbbreviation: string; /** e.g. 'Central Standard Time' */ timeZoneAlternativeName: string; /** e.g. 'America/Chicago' */ timeZoneName: string; } /** * You don't need to call this. It's only for testing. */ export declare function clearTimeZoneCache(): void; /** * Given a date that includes a time offset, find a matching IANA time zone name. * More of our users are in places that observe DST, so we bias towards choosing those: Chicago rather than Mexico City; London rather than Lagos. * Where there are still multiple matches, we choose the most populous city. * @param dateTime - e.g. '2025-01-01T00:00:00.000-06:00' */ export declare function getBestGuessTimeZoneCity(dateTimeISO: string): string | undefined; /** * Finds the time zone that matches the time zone and DST signature of the given time zone name. * @param timeZoneName - e.g. 'America/Chicago' */ export declare function getTimeZone(timeZoneName: string | null | undefined): TimeZone | undefined; /** * Get a list of time zones with cities. */ export declare function getTimeZones(): TimeZone[];