import { ObjectValue, Value, UndefinedValue, BooleanValue } from '../value.mts'; import type { PlainEvaluator } from '../evaluator.mts'; import { type BuiltinFunctionObject } from './all.mts'; import { type ValueEvaluator, type JobCallbackRecord, type PromiseObject, type FunctionObject } from '#self'; /** https://tc39.es/ecma262/#sec-promise-objects */ /** https://tc39.es/ecma262/#sec-promise.all-resolve-element-functions */ export interface PromiseAllResolveElementFunctionObject extends BuiltinFunctionObject { readonly Index: number; readonly AlreadyCalled: { Value: boolean; }; } /** https://tc39.es/ecma262/#sec-promise.any-reject-element-functions */ export interface PromiseAllRejectElementFunctionObject extends BuiltinFunctionObject { readonly Index: number; readonly AlreadyCalled: { Value: boolean; }; } /** https://tc39.es/ecma262/#sec-promisecapability-records */ export declare class PromiseCapabilityRecord { constructor(value: PromiseCapabilityRecord); readonly Promise: PromiseObject; readonly Resolve: FunctionObject; readonly Reject: FunctionObject; } /** https://tc39.es/ecma262/#sec-promisereaction-records */ export declare class PromiseReactionRecord { readonly Capability: PromiseCapabilityRecord | UndefinedValue; readonly Type: 'Fulfill' | 'Reject'; readonly Handler: JobCallbackRecord | undefined; constructor(O: PromiseReactionRecord); } /** https://tc39.es/ecma262/#sec-createresolvingfunctions */ export declare function CreateResolvingFunctions(toResolve: PromiseObject): { Resolve: BuiltinFunctionObject; Reject: BuiltinFunctionObject; }; /** https://tc39.es/ecma262/#sec-newpromisecapability */ export declare function NewPromiseCapability(constructor: Value): PlainEvaluator; /** https://tc39.es/ecma262/#sec-ispromise */ export declare function IsPromise(x: Value): BooleanValue; /** https://tc39.es/ecma262/#sec-promise-resolve */ export declare function PromiseResolve(constructor: ObjectValue, resolution: Value): ValueEvaluator; /** https://tc39.es/ecma262/#sec-performpromisethen */ export declare function PerformPromiseThen(promise: PromiseObject, onFulfilled: Value, onRejected: Value, resultCapability: PromiseCapabilityRecord): PromiseObject; export declare function PerformPromiseThen(promise: PromiseObject, onFulfilled: Value, onRejected: Value, resultCapability?: UndefinedValue): UndefinedValue; export declare function PerformPromiseThen(promise: PromiseObject, onFulfilled: Value, onRejected: Value, resultCapability?: PromiseCapabilityRecord | UndefinedValue): PromiseObject | UndefinedValue; //# sourceMappingURL=promise-operations.d.mts.map