import { TokenStream } from '../classes/TokenStream'; import { ScopeBlock, Statement, DecoratorCall } from '../types/Ast.type'; export declare class ScopeParser { /** * Maximum number of iterations allowed before detecting an infinite loop */ static readonly MAX_STUCK_ITERATIONS = 100; /** * Debug mode flag - set to true to enable logging * Can be controlled via VITE_DEBUG environment variable or set programmatically */ static debug: boolean; /** * Parse a 'do' scope block * Expects stream to be positioned at the 'do' keyword * * @param stream - TokenStream positioned at the 'do' keyword * @param parseStatement - Callback to parse a statement from the stream * @param parseComment - Callback to parse a comment from the stream * @param decorators - Optional decorators to attach to this do block * @returns Parsed ScopeBlock */ static parse(stream: TokenStream, parseStatement: (stream: TokenStream) => Statement | null, _parseComment: (stream: TokenStream) => Statement | null, decorators?: DecoratorCall[]): ScopeBlock; }