import type { TemporalDurationObject } from '../../intrinsics/Temporal/Duration.mts'; import type { ISODateRecord } from '../../intrinsics/Temporal/PlainDate.mts'; import { type TemporalZonedDateTimeObject } from '../../intrinsics/Temporal/ZonedDateTime.mts'; import { type TimeZoneIdentifier, RoundingMode } from './addition.mts'; import { type PlainCompletion, Value, type ValueEvaluator, type CalendarType, type FunctionObject, TemporalUnit, type InternalDurationRecord, type TimeRecord, type Integer, type EpochNanoseconds, type MathematicalValue } from '#self'; export type ISODateTimeOffsetBehaviour = 'option' | 'exact' | 'wall'; export type ISODateTimeMatchBehaviour = 'match-exactly' | 'match-minutes'; /** https://tc39.es/proposal-temporal/#sec-temporal-interpretisodatetimeoffset */ export declare function InterpretISODateTimeOffset(isoDate: ISODateRecord, time: TimeRecord | 'start-of-day', offsetBehaviour: ISODateTimeOffsetBehaviour, offsetNanoseconds: Integer, timeZone: TimeZoneIdentifier, disambiguation: 'earlier' | 'later' | 'compatible' | 'reject', offsetOption: 'ignore' | 'use' | 'prefer' | 'reject', matchBehaviour: ISODateTimeMatchBehaviour): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-totemporalzoneddatetime */ export declare function ToTemporalZonedDateTime(item: Value, options?: Value): ValueEvaluator; /** https://tc39.es/proposal-temporal/#sec-temporal-createtemporalzoneddatetime */ export declare function CreateTemporalZonedDateTime(epochNanoseconds: EpochNanoseconds, timeZone: TimeZoneIdentifier, calendar: CalendarType, newTarget?: FunctionObject): ValueEvaluator; /** https://tc39.es/proposal-temporal/#sec-temporal-temporalzoneddatetimetostring */ export declare function TemporalZonedDateTimeToString(zonedDateTime: TemporalZonedDateTimeObject, precision: Integer | TemporalUnit.Minute | 'auto', showCalendar: 'auto' | 'always' | 'never' | 'critical', showTimeZone: 'auto' | 'never' | 'critical', showOffset: 'auto' | 'never', increment?: Integer, unit?: TemporalUnit.Minute | TemporalUnit.Second | TemporalUnit.Millisecond | TemporalUnit.Microsecond | TemporalUnit.Nanosecond, roundingMode?: RoundingMode): string; /** https://tc39.es/proposal-temporal/#sec-temporal-addzoneddatetime */ export declare function AddZonedDateTime(epochNanoseconds: EpochNanoseconds, timeZone: TimeZoneIdentifier, calendar: CalendarType, duration: InternalDurationRecord, overflow: 'constrain' | 'reject'): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-differencezoneddatetime */ export declare function DifferenceZonedDateTime(ns1: EpochNanoseconds, ns2: EpochNanoseconds, timeZone: TimeZoneIdentifier, calendar: CalendarType, largestUnit: TemporalUnit): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-differencezoneddatetimewithrounding */ export declare function DifferenceZonedDateTimeWithRounding(ns1: EpochNanoseconds, ns2: EpochNanoseconds, timeZone: TimeZoneIdentifier, calendar: CalendarType, largestUnit: TemporalUnit, roundingIncrement: Integer, smallestUnit: TemporalUnit, roundingMode: RoundingMode): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-differencezoneddatetimewithtotal */ export declare function DifferenceZonedDateTimeWithTotal(ns1: EpochNanoseconds, ns2: EpochNanoseconds, timeZone: TimeZoneIdentifier, calendar: CalendarType, unit: TemporalUnit): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalzoneddatetime */ export declare function DifferenceTemporalZonedDateTime(operation: 'until' | 'since', zonedDateTime: TemporalZonedDateTimeObject, _other: Value, options: Value): ValueEvaluator; /** https://tc39.es/proposal-temporal/#sec-temporal-adddurationtozoneddatetime */ export declare function AddDurationToZonedDateTime(operation: 'add' | 'subtract', zonedDateTime: TemporalZonedDateTimeObject, temporalDurationLike: Value, options: Value): ValueEvaluator; //# sourceMappingURL=zoned-datetime.d.mts.map