import { type Token, type Program } from './types'; export declare class Parser { private tokens; private current; errors: string[]; private pendingComments; constructor(tokens: Token[]); parse(): Program; private statement; private letStatement; private functionStatement; /** * Desugar a class-like `make` declaration into a factory function. * * make Person { * let kind = "person" * fn start(self, name) { self.name = name } * fn greet(self) { return "Hello, " + self.name } * } * * becomes a `Person(name)` function which creates a fresh object, installs * bound methods, runs `start`, and returns the instance. Keeping this as a * parser desugaring gives both the tree walker and bytecode VM identical * behavior without a second object model. */ private makeStatement; private ifStatement; private whileStatement; private forStatement; private returnStatement; private breakStatement; private continueStatement; private tryStatement; private importStatement; private allowStatement; private exportStatement; private memoryStatement; private blockStatement; private expressionStatement; private expression; private assignment; private logicalOr; private pipe; private logicalAnd; private equality; private comparison; private addition; private multiplication; private unary; private postfix; private finishVideoCall; private finishCall; private primary; private arrayLiteral; private objectLiteral; private promptExpression; private hasSecondBlock; private imageCall; private modelCall; private structuredOutput; private toolCall; private typeAnnotation; private skipNewlines; private match; private check; private advance; private isAtEnd; private peek; private previous; private consume; private consumeStatementEnd; private formatLocation; private convertExpression; private synchronize; private checkNext; } //# sourceMappingURL=parser.d.ts.map