import { Token, TokenType } from "./wgsl_scanner.js"; import * as AST from "./wgsl_ast.js"; import { WgslExec } from "./wgsl_exec.js"; import { ParseContext } from "./ast/parse_context.js"; export declare class WgslParser { _tokens: Token[]; _current: number; _currentLine: number; _deferArrayCountEval: Object[]; _currentLoop: AST.Statement[]; _context: ParseContext; _exec: WgslExec; _forwardTypeCount: number; parse(tokensOrCode: Token[] | string): AST.Statement[]; _forwardType(t: AST.Type | null): AST.Type | null; _initialize(tokensOrCode: Token[] | string): void; _updateNode(n: T, l?: number): T; _error(token: Token, message: string | null): Object; _isAtEnd(): boolean; _match(types: TokenType | TokenType[]): boolean; _consume(types: TokenType | TokenType[], message: string | null): Token; _check(types: TokenType | TokenType[]): boolean; _advance(): Token; _peek(): Token; _previous(): Token; _global_decl_or_directive(): AST.Statement | null; _function_decl(): AST.Function | null; _compound_statement(): AST.Statement[]; _statement(): AST.Statement | AST.Statement[] | null; _static_assert_statement(): AST.StaticAssert | null; _while_statement(): AST.While | null; _continuing_statement(): AST.Continuing | null; _for_statement(): AST.For | null; _for_init(): AST.Statement | null; _for_increment(): AST.Statement | null; _variable_statement(): AST.Var | AST.Let | AST.Const | null; _increment_decrement_statement(): AST.Statement | null; _assignment_statement(): AST.Assign | null; _func_call_statement(): AST.Call | null; _loop_statement(): AST.Loop | null; _switch_statement(): AST.Switch | null; _switch_body(): AST.SwitchCase[]; _case_selectors(): AST.Expression[]; _case_body(): AST.Statement[]; _if_statement(): AST.If | null; _match_elseif(): boolean; _elseif_statement(elseif?: AST.ElseIf[]): AST.ElseIf[]; _return_statement(): AST.Return | null; _short_circuit_or_expression(): AST.Expression; _short_circuit_and_expr(): AST.Expression; _inclusive_or_expression(): AST.Expression; _exclusive_or_expression(): AST.Expression; _and_expression(): AST.Expression; _equality_expression(): AST.Expression; _relational_expression(): AST.Expression; _shift_expression(): AST.Expression; _additive_expression(): AST.Expression; _multiplicative_expression(): AST.Expression; _unary_expression(): AST.Expression; _singular_expression(): AST.Expression; _postfix_expression(): AST.Expression | null; _getStruct(name: string): AST.Type | null; _getType(name: string): AST.Type; _validateTypeRange(value: number, type: AST.Type): void; _primary_expression(): AST.Expression; _argument_expression_list(): AST.Expression[] | null; _optional_paren_expression(): AST.Expression; _paren_expression(): AST.Expression; _struct_decl(): AST.Struct | null; _global_variable_decl(): AST.Var | null; _override_variable_decl(): AST.Override | null; _global_const_decl(): AST.Const | null; _global_let_decl(): AST.Let | null; _const_expression(): AST.Expression; _variable_decl(): AST.Var | null; _override_decl(): AST.Override | null; _diagnostic(): AST.Diagnostic | null; _enable_directive(): AST.Enable; _requires_directive(): AST.Requires; _type_alias(): AST.Alias; _type_decl(): AST.Type | null; _texture_sampler_types(): AST.SamplerType | null; _attribute(): AST.Attribute[] | null; }