import { Zone } from "../zone.js"; import { ZoneOffsetOptions, ZoneOffsetFormat } from "../types/zone.js"; /** * A zone identified by an IANA identifier, like America/New_York * @implements {Zone} */ export declare class IANAZone extends Zone { /** @override **/ get isUniversal(): boolean; /** @override **/ get isValid(): boolean; /** @override **/ get name(): string; /** @override **/ get type(): string; private readonly _valid; private readonly _zoneName; private constructor(); /** * @param {string} name - Zone name * @return {IANAZone} */ static create(name: string): IANAZone; /** * Returns whether the provided string is a valid specifier. * This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that. * @param {string} s - The string to check validity on * @example IANAZone.isValidSpecifier("America/New_York") //=> true * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false * @deprecated This method returns false for some valid IANA names. Use isValidZone instead. * @return {boolean} */ static isValidSpecifier(s: string): boolean; /** * Returns whether the provided string identifies a real zone * @param {string} zone - The string to check * @example IANAZone.isValidZone("America/New_York") //=> true * @example IANAZone.isValidZone("Fantasia/Castle") //=> false * @example IANAZone.isValidZone("Sport~~blorp") //=> false * @return {boolean} */ static isValidZone(zone: string): boolean; /** * Normalize the name of the provided IANA zone or return null * if it is not a valid IANA zone. * @param {string} zone - The string to normalize * @example IANAZone.normalizeZone("America/New_York") //=> "America/New_York" * @example IANAZone.normalizeZone("america/NEw_York") //=> "America/New_York" * @example IANAZone.normalizeZone("EST5EDT") //=> "America/New_York" * @example IANAZone.normalizeZone("Fantasia/Castle") //=> null * @example IANAZone.normalizeZone("Sport~~blorp") //=> null * @return {string|null} */ static normalizeZone(zone: string): string; /** * Reset local caches. Should only be necessary in testing scenarios. * @return {void} */ static resetCache(): void; /** @override **/ equals(other: Zone): boolean; /** @override **/ formatOffset(ts: number, format: ZoneOffsetFormat): string; /** * Return the offset in minutes for this zone at the specified timestamp. * @override * @param {number} ts - Epoch milliseconds for which to compute the offset * @return {number} */ offset(ts: number): number; /** @override **/ offsetName(ts: number, { format, locale }?: ZoneOffsetOptions): string; }