import { ExecutionContext, JSStringValue, ObjectValue, ThrowCompletion, Value, type Arguments, type BuiltinFunctionObject, type ExoticObject, type FunctionObject, type Mutable, type PlainCompletion, type Realm, type ValueEvaluator } from '#self'; /** https://tc39.es/proposal-shadowrealm/#table-internal-slots-of-wrapped-function-exotic-objects */ export interface WrappedFunctionExoticObject extends BuiltinFunctionObject, ExoticObject { readonly WrappedTargetFunction: FunctionObject; readonly Realm: Realm; } export declare function isWrappedFunctionExoticObject(value: Value): value is WrappedFunctionExoticObject; /** https://tc39.es/proposal-shadowrealm/#sec-create-type-error-copy */ export declare function CreateTypeErrorCopy(realmRecord: Realm, non_spec_evalRealm: Realm, originalError: Value): ObjectValue; /** https://tc39.es/proposal-shadowrealm/#sec-ordinary-wrapped-function-call */ export declare function OrdinaryWrappedFunctionCall(F: WrappedFunctionExoticObject, thisArgument: Value, argumentList: Arguments): ValueEvaluator; /** https://tc39.es/proposal-shadowrealm/#sec-prepare-for-wrapped-function-call */ export declare function PrepareForWrappedFunctionCall(F: WrappedFunctionExoticObject): ExecutionContext; /** https://tc39.es/proposal-shadowrealm/#sec-wrappedfunctioncreate */ export declare function WrappedFunctionCreate(callerRealm: Realm, Target: FunctionObject): Generator | ThrowCompletion, import("#self").EvaluatorNextType>; /** https://tc39.es/proposal-shadowrealm/#sec-performshadowrealmeval */ export declare function PerformShadowRealmEval(sourceText: string, callerRealm: Realm, evalRealm: Realm): ValueEvaluator; /** https://tc39.es/proposal-shadowrealm/#sec-shadowrealmimportvalue */ export declare function ShadowRealmImportValue(specifierString: JSStringValue, exportNameString: JSStringValue, callerRealm: Realm, evalRealm: Realm): Value; /** https://tc39.es/proposal-shadowrealm/#sec-getwrappedvalue */ export declare function GetWrappedValue(callerRealm: Realm, value: Value): ValueEvaluator; /** https://tc39.es/proposal-shadowrealm/#sec-validateshadowrealmobject */ export declare function ValidateShadowRealmObject(O: Value): PlainCompletion; /** https://tc39.es/proposal-shadowrealm/#sec-getshadowrealmcontext */ export declare function GetShadowRealmContext(shadowRealmRecord: Realm, strictEval: boolean): ExecutionContext; //# sourceMappingURL=shadow-realm.d.mts.map