import ES2023 = require("./es2023");

interface ES2024 {
    readonly abs: typeof import("./2024/abs");
    readonly AddEntriesFromIterable: typeof import("./2024/AddEntriesFromIterable");
    readonly AdvanceStringIndex: typeof import("./2024/AdvanceStringIndex");
    readonly ArrayCreate: typeof import("./2024/ArrayCreate");
    readonly ArraySetLength: typeof import("./2024/ArraySetLength");
    readonly ArraySpeciesCreate: typeof import("./2024/ArraySpeciesCreate");
    readonly BigIntBitwiseOp: typeof import("./2024/BigIntBitwiseOp");
    readonly BinaryAnd: typeof import("./2024/BinaryAnd");
    readonly BinaryOr: typeof import("./2024/BinaryOr");
    readonly BinaryXor: typeof import("./2024/BinaryXor");
    readonly Call: typeof import("./2024/Call");
    readonly CanBeHeldWeakly: typeof import("./2024/CanBeHeldWeakly");
    readonly CanonicalNumericIndexString: typeof import("./2024/CanonicalNumericIndexString");
    readonly clamp: typeof import("./2024/clamp");
    readonly CodePointAt: typeof import("./2024/CodePointAt");
    readonly CodePointsToString: typeof import("./2024/CodePointsToString");
    readonly CompletePropertyDescriptor: typeof import("./2024/CompletePropertyDescriptor");
    readonly CopyDataProperties: typeof import("./2024/CopyDataProperties");
    readonly CreateDataProperty: typeof import("./2024/CreateDataProperty");
    readonly CreateDataPropertyOrThrow: typeof import("./2024/CreateDataPropertyOrThrow");
    readonly CreateHTML: typeof import("./2024/CreateHTML");
    readonly CreateIterResultObject: typeof import("./2024/CreateIterResultObject");
    readonly CreateListFromArrayLike: typeof import("./2024/CreateListFromArrayLike");
    readonly CreateNonEnumerableDataPropertyOrThrow: typeof import("./2024/CreateNonEnumerableDataPropertyOrThrow");
    readonly CreateRegExpStringIterator: typeof import("./2024/CreateRegExpStringIterator");
    readonly DateFromTime: typeof import("./2024/DateFromTime");
    readonly DateString: typeof import("./2024/DateString");
    readonly Day: typeof import("./2024/Day");
    readonly DayFromYear: typeof import("./2024/DayFromYear");
    readonly DaysInYear: typeof import("./2024/DaysInYear");
    readonly DayWithinYear: typeof import("./2024/DayWithinYear");
    readonly DefineMethodProperty: typeof import("./2024/DefineMethodProperty");
    readonly DefinePropertyOrThrow: typeof import("./2024/DefinePropertyOrThrow");
    readonly DeletePropertyOrThrow: typeof import("./2024/DeletePropertyOrThrow");
    readonly FlattenIntoArray: typeof import("./2024/FlattenIntoArray");
    readonly FromPropertyDescriptor: typeof import("./2024/FromPropertyDescriptor");
    readonly Get: typeof import("./2024/Get");
    readonly GetIterator: typeof import("./2024/GetIterator");
    readonly GetMethod: typeof import("./2024/GetMethod");
    readonly GetNamedTimeZoneEpochNanoseconds: typeof import("./2024/GetNamedTimeZoneEpochNanoseconds");
    readonly GetOwnPropertyKeys: typeof import("./2024/GetOwnPropertyKeys");
    readonly GetPrototypeFromConstructor: typeof import("./2024/GetPrototypeFromConstructor");
    readonly GetSubstitution: typeof import("./2024/GetSubstitution");
    readonly GetUTCEpochNanoseconds: typeof import("./2024/GetUTCEpochNanoseconds");
    readonly GetV: typeof import("./2024/GetV");
    readonly HasOwnProperty: typeof import("./2024/HasOwnProperty");
    readonly HasProperty: typeof import("./2024/HasProperty");
    readonly HourFromTime: typeof import("./2024/HourFromTime");
    readonly InLeapYear: typeof import("./2024/InLeapYear");
    readonly InstanceofOperator: typeof import("./2024/InstanceofOperator");
    readonly Invoke: typeof import("./2024/Invoke");
    readonly IsAccessorDescriptor: typeof import("./2024/IsAccessorDescriptor");
    readonly IsArray: typeof import("./2024/IsArray");
    readonly IsCallable: typeof import("./2024/IsCallable");
    readonly IsConcatSpreadable: typeof import("./2024/IsConcatSpreadable");
    readonly IsConstructor: typeof import("./2024/IsConstructor");
    readonly IsDataDescriptor: typeof import("./2024/IsDataDescriptor");
    readonly IsExtensible: typeof import("./2024/IsExtensible");
    readonly IsGenericDescriptor: typeof import("./2024/IsGenericDescriptor");
    readonly IsIntegralNumber: typeof import("./2024/IsIntegralNumber");
    readonly IsLessThan: typeof import("./2024/IsLessThan");
    readonly IsLooselyEqual: typeof import("./2024/IsLooselyEqual");
    readonly IsPromise: typeof import("./2024/IsPromise");
    readonly IsPropertyKey: typeof import("./2024/IsPropertyKey");
    readonly IsRegExp: typeof import("./2024/IsRegExp");
    readonly IsStrictlyEqual: typeof import("./2024/IsStrictlyEqual");
    readonly IsTimeZoneOffsetString: typeof import("./2024/IsTimeZoneOffsetString");
    readonly IteratorClose: typeof import("./2024/IteratorClose");
    readonly IteratorComplete: typeof import("./2024/IteratorComplete");
    readonly IteratorNext: typeof import("./2024/IteratorNext");
    readonly IteratorStep: typeof import("./2024/IteratorStep");
    readonly IteratorValue: typeof import("./2024/IteratorValue");
    readonly LengthOfArrayLike: typeof import("./2024/LengthOfArrayLike");
    readonly MakeDate: typeof import("./2024/MakeDate");
    readonly MakeDay: typeof import("./2024/MakeDay");
    readonly MakeTime: typeof import("./2024/MakeTime");
    readonly MinFromTime: typeof import("./2024/MinFromTime");
    readonly modulo: typeof import("./2024/modulo");
    readonly MonthFromTime: typeof import("./2024/MonthFromTime");
    readonly msFromTime: typeof import("./2024/msFromTime");
    readonly NumberBitwiseOp: typeof import("./2024/NumberBitwiseOp");
    readonly NumberToBigInt: typeof import("./2024/NumberToBigInt");
    readonly OrdinaryDefineOwnProperty: typeof import("./2024/OrdinaryDefineOwnProperty");
    readonly OrdinaryGetOwnProperty: typeof import("./2024/OrdinaryGetOwnProperty");
    readonly OrdinaryGetPrototypeOf: typeof import("./2024/OrdinaryGetPrototypeOf");
    readonly OrdinaryHasInstance: typeof import("./2024/OrdinaryHasInstance");
    readonly OrdinaryHasProperty: typeof import("./2024/OrdinaryHasProperty");
    readonly OrdinaryObjectCreate: typeof import("./2024/OrdinaryObjectCreate");
    readonly OrdinarySetPrototypeOf: typeof import("./2024/OrdinarySetPrototypeOf");
    readonly PromiseResolve: typeof import("./2024/PromiseResolve");
    readonly RegExpExec: typeof import("./2024/RegExpExec");
    readonly RequireObjectCoercible: typeof import("./2024/RequireObjectCoercible");
    readonly SameValue: typeof import("./2024/SameValue");
    readonly SameValueNonNumber: typeof import("./2024/SameValueNonNumber");
    readonly SameValueZero: typeof import("./2024/SameValueZero");
    readonly SecFromTime: typeof import("./2024/SecFromTime");
    readonly Set: typeof import("./2024/Set");
    readonly SetFunctionName: typeof import("./2024/SetFunctionName");
    readonly SetIntegrityLevel: typeof import("./2024/SetIntegrityLevel");
    readonly SpeciesConstructor: typeof import("./2024/SpeciesConstructor");
    readonly StringIndexOf: typeof import("./2024/StringIndexOf");
    readonly StringPad: typeof import("./2024/StringPad");
    readonly StringToBigInt: typeof import("./2024/StringToBigInt");
    readonly StringToCodePoints: typeof import("./2024/StringToCodePoints");
    readonly StringToNumber: typeof import("./2024/StringToNumber");
    readonly substring: typeof import("./2024/substring");
    readonly SymbolDescriptiveString: typeof import("./2024/SymbolDescriptiveString");
    readonly SystemTimeZoneIdentifier: typeof import("./2024/SystemTimeZoneIdentifier");
    readonly TestIntegrityLevel: typeof import("./2024/TestIntegrityLevel");
    readonly TimeClip: typeof import("./2024/TimeClip");
    readonly TimeFromYear: typeof import("./2024/TimeFromYear");
    readonly TimeString: typeof import("./2024/TimeString");
    readonly TimeWithinDay: typeof import("./2024/TimeWithinDay");
    readonly ToBigInt: typeof import("./2024/ToBigInt");
    readonly ToBigInt64: typeof import("./2024/ToBigInt64");
    readonly ToBigUint64: typeof import("./2024/ToBigUint64");
    readonly ToBoolean: typeof import("./2024/ToBoolean");
    readonly ToDateString: typeof import("./2024/ToDateString");
    readonly ToIndex: typeof import("./2024/ToIndex");
    readonly ToInt16: typeof import("./2024/ToInt16");
    readonly ToInt32: typeof import("./2024/ToInt32");
    readonly ToInt8: typeof import("./2024/ToInt8");
    readonly ToIntegerOrInfinity: typeof import("./2024/ToIntegerOrInfinity");
    readonly ToLength: typeof import("./2024/ToLength");
    readonly ToNumber: typeof import("./2024/ToNumber");
    readonly ToNumeric: typeof import("./2024/ToNumeric");
    readonly ToObject: typeof import("./2024/ToObject");
    readonly ToPrimitive: typeof import("./2024/ToPrimitive");
    readonly ToPropertyDescriptor: typeof import("./2024/ToPropertyDescriptor");
    readonly ToPropertyKey: typeof import("./2024/ToPropertyKey");
    readonly ToString: typeof import("./2024/ToString");
    readonly ToUint16: typeof import("./2024/ToUint16");
    readonly ToUint32: typeof import("./2024/ToUint32");
    readonly ToUint8: typeof import("./2024/ToUint8");
    readonly ToUint8Clamp: typeof import("./2024/ToUint8Clamp");
    readonly ToZeroPaddedDecimalString: typeof import("./2024/ToZeroPaddedDecimalString");
    readonly TrimString: typeof import("./2024/TrimString");
    readonly truncate: typeof import("./2024/truncate");
    readonly Type: typeof import("./2024/Type");
    readonly ValidateAndApplyPropertyDescriptor: typeof import("./2024/ValidateAndApplyPropertyDescriptor");
    readonly WeekDay: typeof import("./2024/WeekDay");
    readonly YearFromTime: typeof import("./2024/YearFromTime");
}

declare namespace ES2024 {
    // Re-export types from previous versions
    // - ES2015:
    type PropertyKey = ES2023.PropertyKey;

    // - ES5:
    type GenericDescriptor = ES2023.GenericDescriptor;
    type AccessorDescriptor<T = unknown> = ES2023.AccessorDescriptor<T>;
    type DataDescriptor<T = unknown> = ES2023.DataDescriptor<T>;
    type PropertyDescriptor<T = unknown> = ES2023.PropertyDescriptor<T>;
}

declare const ES2024: ES2024;
export = ES2024;
