import { Value, PrivateName, UndefinedValue, ObjectValue, BooleanValue } from '../value.mts'; import type { ParseNode } from '../parser/ParseNode.mts'; import type { PlainEvaluator } from '../evaluator.mts'; import { ClassElementDefinitionRecord } from './all.mts'; import { type FunctionObject } from '#self'; /** https://tc39.es/ecma262/#sec-privateelement-specification-type */ export interface PrivateElementRecord_Value { readonly Key: PrivateName; readonly Kind: 'method' | 'field'; Value?: Value; readonly Get?: undefined; readonly Set?: undefined; } export interface PrivateElementRecord_Accessor { readonly Key: PrivateName; readonly Kind: 'accessor'; Value?: Value; readonly Get?: FunctionObject | UndefinedValue; readonly Set?: FunctionObject | UndefinedValue; } export type PrivateElementRecord = PrivateElementRecord_Value | PrivateElementRecord_Accessor; export declare const PrivateElementRecord: { (value: PrivateElementRecord): PrivateElementRecord; [Symbol.hasInstance](instance: unknown): instance is PrivateElementRecord; }; export declare function MethodDefinitionEvaluation(node: ParseNode.MethodDefinitionLike, object: ObjectValue, enumerable: BooleanValue): PlainEvaluator; export declare function MethodDefinitionEvaluation(node: ParseNode.MethodDefinitionLike, object: ObjectValue): PlainEvaluator; //# sourceMappingURL=MethodDefinitionEvaluation.d.mts.map