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, StructuralEquatable, Equaler } from '@esfx/equatable'; export declare class RecurringInterval> implements Equatable, StructuralEquatable { readonly repeat: number; readonly duration: Duration; readonly endpoint: T; readonly endpointKind: "start" | "end"; constructor(start: T, duration: Duration, repeat?: number); constructor(duration: Duration, end: T, repeat?: number); nextOccurrence(value: T): [number, T] | undefined; previousOccurrence(value: T): [number, T] | undefined; occurrences(): IterableIterator<[number, T]>; withRepetitions(repeat: number): RecurringInterval; withStartSameDuration(start: T): RecurringInterval; withEndSameDuration(end: T): RecurringInterval; withDurationSameEndpoint(duration: Duration): RecurringInterval; equals(other: RecurringInterval): boolean; toString(): string; toJSON(): string; static fromString(text: string): RecurringInterval; [Equatable.equals](other: unknown): boolean; [Equatable.hash](): number; [StructuralEquatable.structuralEquals](other: unknown, equaler: Equaler): boolean; [StructuralEquatable.structuralHash](equaler: Equaler): number; }