import { Temporal } from './types'; import { CivilDate } from './CivilDate'; import { CivilTime } from './CivilTime'; import { CivilDateTime } from './CivilDateTime'; import { OffsetTime } from './OffsetTime'; import { OffsetDateTime } from './OffsetDateTime'; import { ZonedDateTime } from './ZonedDateTime'; import { Duration } from './Duration'; import { Equatable, Equaler, StructuralEquatable } from '@esfx/equatable'; export declare class Interval> implements Equatable, StructuralEquatable { readonly start: T; readonly end: T; constructor(start: T, end: T); readonly duration: Duration; contains(value: T | Interval): boolean; overlaps(other: Interval): boolean; withStartSameEnd(start: T): Interval; withStartSameDuration(start: T): Interval; withEndSameStart(end: T): Interval; withEndSameDuration(end: T): Interval; withDurationSameStart(duration: Duration): Interval; withDurationSameEnd(duration: Duration): Interval; equals(other: Interval): boolean; toStartEndIntervalString(): string; toStartDurationIntervalString(): string; toDurationEndIntervalString(): string; toString(): string; toJSON(): string; static fromStartDuration>(start: T, duration: Duration): Interval; static fromDurationEnd>(duration: Duration, end: T): Interval; static fromZonedDateTimeIntervalString(text: string): Interval; static fromOffsetDateTimeIntervalString(text: string): Interval; static fromCivilDateTimeIntervalString(text: string): Interval; static fromCivilDateIntervalString(text: string): Interval; static fromCivilTimeIntervalString(text: string): Interval; static fromOffsetTimeIntervalString(text: string): Interval; static fromString(text: string): Interval; [Equatable.equals](other: unknown): boolean; [Equatable.hash](): number; [StructuralEquatable.structuralEquals](other: unknown, equaler: Equaler): boolean; [StructuralEquatable.structuralHash](equaler: Equaler): number; }