import type { ISODateTimeRecord } from '../../intrinsics/Temporal/PlainDateTime.mts'; import { type FiniteTimeValue, type TimeValue } from '../date-objects.mts'; import { type Integer, type IntegralNumber, type Num } from '../spec-types.mjs'; import { type EpochNanoseconds } from './temporal.mts'; import { type TimeZoneIdentifierRecord } from './time-zone.mts'; import { ObjectValue, Value, type PlainEvaluator } from '#self'; /** https://tc39.es/proposal-temporal/#sec-year-week-record-specification-type */ export interface YearWeekRecord { readonly Week: bigint | undefined; readonly Year: bigint | undefined; } /** https://tc39.es/proposal-temporal/#sec-snaptointeger */ export declare function SnapToInteger(argument: Value, mode: 'strict' | 'truncate-strict', minimum?: Integer, maximum?: Integer): PlainEvaluator; /** https://tc39.es/proposal-temporal/#sec-getroundingmodeoption */ export declare function GetRoundingModeOption(options: ObjectValue, fallback: RoundingMode): PlainEvaluator; /** https://tc39.es/proposal-temporal/#table-temporal-rounding-modes */ export declare enum RoundingMode { Ceil = 0, Floor = 1, Expand = 2, Trunc = 3, HalfCeil = 4, HalfFloor = 5, HalfExpand = 6, HalfTrunc = 7, HalfEven = 8 } /** https://tc39.es/proposal-temporal/#table-unsigned-rounding-modes */ export declare enum UnsignedRoundingMode { Infinity = 0, Zero = 1, HalfInfinity = 2, HalfZero = 3, HalfEven = 4 } /** https://tc39.es/proposal-temporal/#sec-getroundingincrementoption */ export declare function GetRoundingIncrementOption(options: ObjectValue): PlainEvaluator; /** https://tc39.es/proposal-temporal/#sec-getutcepochnanoseconds */ export declare function GetUTCEpochNanoseconds(isoDateTime: ISODateTimeRecord): EpochNanoseconds; /** https://tc39.es/proposal-temporal/#sec-time-zone-identifiers */ export type TimeZoneIdentifier = string & { specName: 'TimeZoneIdentifier'; }; /** https://tc39.es/proposal-temporal/#sec-getnamedtimezoneepochnanoseconds */ export declare function GetNamedTimeZoneEpochNanoseconds(timeZoneIdentifier: TimeZoneIdentifier, isoDateTime: ISODateTimeRecord): bigint[]; /** https://tc39.es/ecma262/#sec-getnamedtimezoneoffsetnanoseconds */ export declare function GetNamedTimeZoneOffsetNanoseconds(timeZoneIdentifier: string, _epochNanoseconds: EpochNanoseconds): Integer; /** https://tc39.es/proposal-temporal/#sec-systemtimezoneidentifier */ export declare function SystemTimeZoneIdentifier(): TimeZoneIdentifier; /** https://tc39.es/proposal-temporal/#sec-localtime */ export declare function LocalTime_TemporalEdited(t: FiniteTimeValue): IntegralNumber; /** https://tc39.es/proposal-temporal/#sec-utc-t */ export declare function UTC_TemporalEdited(t: Num): TimeValue; /** https://tc39.es/proposal-temporal/#sec-timestring */ export declare function TimeString(tv: Num): string; /** https://tc39.es/proposal-temporal/#sec-timezoneestring */ export declare function TimeZoneString_TemporalEdited(tv: bigint): string; /** https://tc39.es/proposal-temporal/#sec-isoffsettimezoneidentifier */ export declare function IsOffsetTimeZoneIdentifier(offsetString: string): boolean; /** https://tc39.es/ecma262/#sec-tozeropaddeddecimalstring */ export declare function ToZeroPaddedDecimalString(n: bigint | number, minLength: number): string; /** https://tc39.es/ecma262/#sec-availablenamedtimezoneidentifiers */ export declare function AvailableNamedTimeZoneIdentifiers(): TimeZoneIdentifierRecord[]; //# sourceMappingURL=addition.d.mts.map