import { ReferenceRecord, Value, PrivateName, JSStringValue } from '../value.mts'; import { type PlainCompletion } from '../completion.mts'; import type { PlainEvaluator } from '../evaluator.mts'; import { EnvironmentRecord } from '#self'; /** https://tc39.es/ecma262/#sec-ispropertyreference */ export declare function IsPropertyReference(V: ReferenceRecord): import("#self").BooleanValue | import("#self").BooleanValue; export type PropertyReference = ReferenceRecord & { readonly Base: Exclude; }; /** https://tc39.es/ecma262/#sec-isunresolvablereference */ export declare function IsUnresolvableReference(V: ReferenceRecord): import("#self").BooleanValue | import("#self").BooleanValue; /** https://tc39.es/ecma262/#sec-issuperreference */ export declare function IsSuperReference(V: ReferenceRecord): import("#self").BooleanValue | import("#self").BooleanValue; /** https://tc39.es/ecma262/#sec-isprivatereference */ export declare function IsPrivateReference(V: ReferenceRecord): V is ReferenceRecord & { readonly ReferencedName: PrivateName; }; /** https://tc39.es/ecma262/#sec-getvalue */ export declare function GetValue(V: ReferenceRecord | Value): PlainEvaluator; /** https://tc39.es/ecma262/#sec-putvalue */ export declare function PutValue(V: ReferenceRecord | Value, W: Value): PlainEvaluator; /** https://tc39.es/ecma262/#sec-getthisvalue */ export declare function GetThisValue(V: ReferenceRecord): Value; /** https://tc39.es/ecma262/#sec-initializereferencedbinding */ export declare function InitializeReferencedBinding(V: PlainCompletion, W: Value): PlainEvaluator; /** https://tc39.es/ecma262/#sec-makeprivatereference */ export declare function MakePrivateReference(baseValue: Value, privateIdentifier: JSStringValue): ReferenceRecord; //# sourceMappingURL=reference-operations.d.mts.map