//#region src/types/expression-parser.d.ts interface ParseOptions { filename?: string; startRule?: "Start"; tracer?: any; [key: string]: any; } type ParseFunction = (input: string, options?: Options) => Options extends { startRule: infer StartRule; } ? StartRule extends "Start" ? Start : Start : Start; type Start = Program; type Identifier = IdentifierName; type IdentifierName = { type: "Identifier"; name: string; }; type Literal = NullLiteral | BooleanLiteral | NumericLiteral | StringLiteral; type NullLiteral = { type: "NullLiteral"; value: null; }; type BooleanLiteral = { type: "BooleanLiteral"; value: true; } | { type: "BooleanLiteral"; value: false; }; type NumericLiteral = DecimalLiteral; type DecimalLiteral = { type: "NumericLiteral"; value: number; }; type StringLiteral = { type: "StringLiteral"; value: string; }; type PrimaryExpression = Identifier | Literal | ArrayExpression | ObjectExpression | Expression; type ArrayExpression = { type: "ArrayExpression"; elements: ElementList; }; type ElementList = PrimaryExpression[]; type ObjectExpression = { type: "ObjectExpression"; properties: []; } | { type: "ObjectExpression"; properties: PropertyNameAndValueList; }; type PropertyNameAndValueList = PrimaryExpression[]; type PropertyAssignment = { type: "PropertyAssignment"; key: PropertyName; value: Expression; kind: "init"; }; type PropertyName = IdentifierName | StringLiteral | NumericLiteral; type MemberExpression = { type: "MemberExpression"; property: StringLiteral; computed: true; object: MemberExpression | Identifier | StringLiteral; } | { type: "MemberExpression"; property: Identifier; computed: false; object: MemberExpression | Identifier | StringLiteral; }; type CallExpression = { type: "CallExpression"; arguments: Arguments; callee: MemberExpression | Identifier; }; type Arguments = PrimaryExpression[]; type Expression = CallExpression | MemberExpression; type ExpressionStatement = { type: "ExpressionStatement"; expression: Expression; }; type Program = { type: "Program"; body: ExpressionStatement; }; type ExpressionNode = Program | ExpressionStatement | ArrayExpression | BooleanLiteral | CallExpression | Identifier | MemberExpression | NumericLiteral | ObjectExpression | PropertyAssignment | NullLiteral | StringLiteral; //#endregion export { ArrayExpression, BooleanLiteral, CallExpression, ExpressionNode, ExpressionStatement, Identifier, MemberExpression, NumericLiteral, ObjectExpression, ParseFunction, Program, PropertyAssignment, StringLiteral }; //# sourceMappingURL=expression-parser.d.ts.map