import * as AST from "./wgsl_ast.js"; import { ExecContext, FunctionRef } from "./exec/exec_context.js"; import { Command } from "./exec/command.js"; import { StackFrame } from "./exec/stack_frame.js"; type RuntimeStateCallbackType = () => void; interface BindingEntry { texture?: { view?: unknown; }; descriptor?: unknown; uniform?: ArrayBuffer; } export declare class WgslDebug { private _code; private _exec; private _execStack; private _dispatchId; private _runTimer; readonly breakpoints: Set; runStateCallback: RuntimeStateCallbackType | null; constructor(code: string, runStateCallback?: RuntimeStateCallbackType); getVariableValue(name: string): number | number[] | null; reset(): void; startDebug(): void; get context(): ExecContext; get currentState(): StackFrame | null; get currentCommand(): Command | null; toggleBreakpoint(line: number): void; clearBreakpoints(): void; get isRunning(): boolean; run(): void; pause(): void; _setOverrides(constants: Record, context: ExecContext): void; debugWorkgroup(kernel: string, dispatchId: number[], dispatchCount: number | number[], bindGroups: Record>, config?: Record): boolean; _shouldExecuteNextCommand(): boolean; stepInto(): void; stepOver(): void; stepOut(): void; stepNext(stepInto?: boolean): boolean; _dispatchWorkgroup(f: FunctionRef, workgroup_id: number[], context: ExecContext): boolean; _dispatchExec(f: FunctionRef, context: ExecContext): void; _createState(ast: AST.Node[], context: ExecContext, parent?: StackFrame): StackFrame; _collectFunctionCalls(node: AST.Expression, functionCalls: AST.CallExpr[]): void; } export {};