import { ZonedDateTime } from './ZonedDateTime'; import { Instant } from './Instant'; import { Equatable, Comparable } from '@esfx/equatable'; export declare abstract class Zone implements Equatable, Comparable { static readonly UTC: ZoneOffset; static readonly SYSTEM: Zone; abstract readonly ianaZone: string; abstract readonly timeZone: string; abstract getOffset(instant: Instant): ZoneOffset; getOffsetSeconds(instant: Instant): number; getOffsetString(instant: Instant): string; getZoneString(instant: Instant): string; withInstant(instant: Instant): ZonedDateTime; abstract equals(other: Zone): boolean; compareTo(other: Zone): number; toString(): string; toJSON(): string; static fromOffset(offsetSeconds: number): ZoneOffset; static fromString(zone: string): Zone; [Equatable.equals](other: unknown): boolean; [Equatable.hash](): number; [Comparable.compareTo](other: unknown): number; } export declare class ZoneOffset extends Zone implements Equatable, Comparable { static readonly MIN: ZoneOffset; static readonly MAX: ZoneOffset; private _offsetSeconds; constructor(offsetSeconds: number); readonly ianaZone: string; readonly timeZone: string; readonly offsetSeconds: number; readonly offsetString: string; getOffset(instant: Instant): ZoneOffset; getOffsetSeconds(instant: Instant): number; getOffsetString(instant: Instant): string; equals(other: Zone): boolean; static fromString(text: string): ZoneOffset; [Equatable.equals](other: unknown): boolean; [Equatable.hash](): number; [Comparable.compareTo](other: unknown): number; }