import type { TemporalDurationObject } from '../../intrinsics/Temporal/Duration.mts'; import { type ISODateRecord } from '../../intrinsics/Temporal/PlainDate.mts'; import { type ISODateTimeRecord, type TemporalPlainDateTimeObject } from '../../intrinsics/Temporal/PlainDateTime.mts'; import { type RoundingMode } from './addition.mts'; import { type TimeRecord, type CalendarType, type CalendarFieldsRecord, type PlainEvaluator, Value, type FunctionObject, type TimeUnit, TemporalUnit, type InternalDurationRecord, type PlainCompletion, type ValueEvaluator, type Integer, type FiniteTimeValue, type MathematicalValue } from '#self'; /** https://tc39.es/proposal-temporal/#sec-temporal-timevaluetoisodatetimerecord */ export declare function TimeValueToISODateTimeRecord(t: FiniteTimeValue): ISODateTimeRecord; /** https://tc39.es/proposal-temporal/#sec-temporal-combineisodateandtimerecord */ export declare function CombineISODateAndTimeRecord(isoDate: ISODateRecord, time: TimeRecord): ISODateTimeRecord; /** https://tc39.es/proposal-temporal/#sec-temporal-isodatetimewithinlimits */ export declare function ISODateTimeWithinLimits(isoDateTime: ISODateTimeRecord): boolean; /** https://tc39.es/proposal-temporal/#sec-temporal-interprettemporaldatetimefields */ export declare function InterpretTemporalDateTimeFields(calendar: CalendarType, fields: CalendarFieldsRecord, overflow: 'constrain' | 'reject'): PlainEvaluator; /** https://tc39.es/proposal-temporal/#sec-temporal-totemporaldatetime */ export declare function ToTemporalDateTime(item: Value, options?: Value): PlainEvaluator; /** https://tc39.es/proposal-temporal/#sec-temporal-balanceisodatetime */ export declare function BalanceISODateTime(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, millisecond: Integer, microsecond: Integer, nanosecond: Integer): ISODateTimeRecord; /** https://tc39.es/proposal-temporal/#sec-temporal-createtemporaldatetime */ export declare function CreateTemporalDateTime(isoDateTime: ISODateTimeRecord, calendar: CalendarType, newTarget?: FunctionObject): PlainEvaluator; /** https://tc39.es/proposal-temporal/#sec-formatisodatetime */ export declare function FormatISODateTime(isoDateTime: ISODateTimeRecord, calendar: CalendarType, precision: Integer | TemporalUnit.Minute | 'auto', showCalendar: 'auto' | 'always' | 'never' | 'critical'): string; /** https://tc39.es/proposal-temporal/#sec-temporal-compareisodatetime */ export declare function CompareISODateTime(isoDateTime1: ISODateTimeRecord, isoDateTime2: ISODateTimeRecord): 1n | -1n | 0n; /** https://tc39.es/proposal-temporal/#sec-temporal-roundisodatetime */ export declare function RoundISODateTime(isoDateTime: ISODateTimeRecord, increment: Integer, unit: TimeUnit | TemporalUnit.Day, roundingMode: RoundingMode): ISODateTimeRecord; /** https://tc39.es/proposal-temporal/#sec-temporal-differenceisodatetime */ export declare function DifferenceISODateTime(isoDateTime1: ISODateTimeRecord, isoDateTime2: ISODateTimeRecord, calendar: CalendarType, largestUnit: TemporalUnit): InternalDurationRecord; /** https://tc39.es/proposal-temporal/#sec-temporal-differenceplaindatetimewithrounding */ export declare function DifferencePlainDateTimeWithRounding(isoDateTime1: ISODateTimeRecord, isoDateTime2: ISODateTimeRecord, calendar: CalendarType, largestUnit: TemporalUnit, roundingIncrement: Integer, smallestUnit: TemporalUnit, roundingMode: RoundingMode): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-differenceplaindatetimewithtotal */ export declare function DifferencePlainDateTimeWithTotal(isoDateTime1: ISODateTimeRecord, isoDateTime2: ISODateTimeRecord, calendar: CalendarType, unit: TemporalUnit): PlainCompletion; /** https://tc39.es/proposal-temporal/#sec-temporal-differencetemporalplaindatetime */ export declare function DifferenceTemporalPlainDateTime(operation: 'since' | 'until', dateTime: TemporalPlainDateTimeObject, _other: Value, options: Value): ValueEvaluator; /** https://tc39.es/proposal-temporal/#sec-temporal-adddurationtodatetime */ export declare function AddDurationToDateTime(operation: 'add' | 'subtract', dateTime: TemporalPlainDateTimeObject, temporalDurationLike: Value, options: Value): ValueEvaluator; //# sourceMappingURL=plain-date-time.d.mts.map