import { TokenStream } from '../classes/TokenStream'; import { ScopeBlock, Statement, DecoratorCall } from '../types/Ast.type'; export declare class WithScopeParser { /** * 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 'with' scope block (callback block) * Expects stream to be positioned at the 'with' keyword * * @param stream - TokenStream positioned at the 'with' 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 with block * @returns Parsed ScopeBlock (with type 'do' for AST compatibility) */ static parse(stream: TokenStream, parseStatement: (stream: TokenStream) => Statement | null, parseComment: (stream: TokenStream) => Statement | null, decorators?: DecoratorCall[]): ScopeBlock; }