import type { OperatorToken, TokenDebugInfo } from '../tokenizer/token'; import type { AstNode, BindingTarget, BuiltinSymbolNode, CallHints, NormalExpressionNodeWithName, SymbolNode, UserDefinedSymbolNode } from './types'; import type { ParserContext } from './ParserContext'; export declare const exponentiationPrecedence = 12; export declare const binaryFunctionalOperatorPrecedence = 3; export declare function withSourceCodeInfo(node: T, debugInfo: TokenDebugInfo | undefined, ctx: ParserContext): T; export declare function stringToSymbolNode(value: string, debugInfo: TokenDebugInfo | undefined, ctx: ParserContext): SymbolNode; export declare function stringFromQuotedSymbol(value: string): string; /** * Extract the symbol name from any symbol node type. * All symbol node types now store the string name directly. */ export declare function getSymbolName(symbol: SymbolNode): string; export declare function createNamedNormalExpressionNode(symbolNode: BuiltinSymbolNode | UserDefinedSymbolNode, params: AstNode[], debugInfo: TokenDebugInfo | undefined, ctx: ParserContext, hints?: CallHints): NormalExpressionNodeWithName; export declare function isAtExpressionEnd(ctx: ParserContext): boolean; export declare function fromBinaryOperatorToNode(operator: OperatorToken, symbolNode: SymbolNode, left: AstNode, right: AstNode, debugInfo: TokenDebugInfo | undefined, ctx: ParserContext): AstNode;