import { type Feature } from '../host-defined/engine.mts'; import { FunctionParser, FunctionKind } from './FunctionParser.mts'; import type { Location, ParseNode } from './ParseNode.mts'; export declare abstract class ExpressionParser extends FunctionParser { protected abstract readonly state: { hasTopLevelAwait: boolean; strict: boolean; json: boolean; }; abstract parseBindingPattern(): ParseNode.BindingPattern; abstract markNodeStart(node: ParseNode.BaseParseNode | ParseNode.Unfinished): void; abstract parseInitializerOpt(): ParseNode.Initializer | null; abstract semicolon(): void; abstract feature(name: Feature): boolean; protected getLocation(inheritStart?: ParseNode.BaseParseNode): Location; protected markLocationEnd(node: Pick): Pick, "location">; private isParsingArrowParameterCandidate; parseExpression(): ParseNode.Expression; parseAssignmentExpression(): ParseNode.AssignmentExpressionOrHigher; validateAssignmentTarget(node: ParseNode): void; parseYieldExpression(): ParseNode.YieldExpression; parseConditionalExpression(): ParseNode.ConditionalExpressionOrHigher; parseShortCircuitExpression(): ParseNode.ShortCircuitExpressionOrHigher; parseBinaryExpression(precedence: number, x?: ParseNode.BinaryExpressionOrHigher | ParseNode.PrivateIdentifier): ParseNode.BinaryExpressionOrHigher | ParseNode.PrivateIdentifier; parseUnaryExpression(): ParseNode.UnaryExpressionOrHigher; parseAwaitExpression(): ParseNode.AwaitExpression; parseUpdateExpression(): ParseNode.UpdateExpressionOrHigher; parseLeftHandSideExpression(allowCalls?: boolean): ParseNode.LeftHandSideExpression; parseOptionalChain(): ParseNode.OptionalChain; parseNewExpression(): ParseNode.NewExpressionOrHigher; parsePrimaryExpression(): ParseNode.PrimaryExpression; parseNumericLiteral(): ParseNode.NumericLiteral; parseStringLiteral(): ParseNode.StringLiteral; parseBooleanLiteral(): ParseNode.BooleanLiteral; parseArrayLiteral(): ParseNode.ArrayLiteral; parseObjectLiteral(): ParseNode.ObjectLiteral; parsePropertyDefinition(): ParseNode.PropertyDefinitionLike; parseFunctionExpression(kind: FunctionKind): ParseNode.FunctionExpressionLike; parseArguments(): { Arguments: ParseNode.Arguments; trailingComma: boolean; }; /** https://tc39.es/ecma262/#sec-class-definitions */ parseClass(decoratorsAttachedToClassDeclaration: null | readonly ParseNode.Decorator[], isExpression: boolean): ParseNode.ClassLike; parseClassTail(): ParseNode.ClassTail; parseClassElement(): ParseNode.ClassElement; parseClassExpression(): ParseNode.ClassExpression; parseTemplateLiteral(tagged?: boolean): ParseNode.TemplateLiteral; parseRegularExpressionLiteral(): ParseNode.RegularExpressionLiteral; parseCoverParenthesizedExpressionAndArrowParameterList(): ParseNode.CoverParenthesizedExpressionAndArrowParameterList | ParseNode.ParenthesizedExpression; parsePropertyName(): ParseNode.PropertyNameLike; private tokenIsPropertyName; parseClassElementName(): ParseNode.ClassElementName; parseBracketedDefinition(type: 'class element'): ParseNode.ClassElement; parseBracketedDefinition(type: 'property'): ParseNode.PropertyDefinitionLike; parseBracketedDefinition(type: 'property' | 'class element'): ParseNode.PropertyDefinitionLike | ParseNode.ClassElement; parseDecorators(): ParseNode.Decorator[] | null; parseDecorator(): ParseNode.Decorator | undefined; } //# sourceMappingURL=ExpressionParser.d.mts.map