import { Components, TimeDelta, InstantUnit, TimeUnit, Temporal } from './types'; import { Zone, ZoneOffset } from './Zone'; import { Clock } from './Clock'; import { CivilDateTime } from './CivilDateTime'; import { CivilDate } from './CivilDate'; import { CivilTime } from './CivilTime'; import { OffsetDateTime } from './OffsetDateTime'; import { ZonedDateTime } from './ZonedDateTime'; import { Duration } from './Duration'; import { Comparable, Equatable } from '@esfx/equatable'; export declare class Instant implements Temporal, Equatable, Comparable { static readonly EPOCH: Instant; constructor(ns: bigint); readonly milliseconds: number; readonly nanoseconds: number; plus(deltas?: Components): Instant; minus(deltas?: Components): Instant; truncate(unit: TimeUnit): Instant; with(components?: Components): Instant; withOffset(offset: ZoneOffset): OffsetDateTime; withZone(zone: Zone | string): ZonedDateTime; until(other: Instant): Duration; since(other: Instant): Duration; equals(other: Instant): boolean; compareTo(other: Instant): number; toCivilDateTime(): CivilDateTime; toCivilDate(): CivilDate; toCivilTime(): CivilTime; toISOString(): string; toString(): string; toJSON(): string; static fromString(text: string): Instant; static fromMilliseconds(milliseconds: number, nanoseconds?: number): Instant; static fromNanoseconds(nanoseconds: bigint): Instant; static now(clock: Clock): Instant; [Equatable.equals](other: unknown): boolean; [Equatable.hash](): number; [Comparable.compareTo](other: unknown): number; }