import * as AST from "./wgsl_ast.js"; import { WgslExec } from "./wgsl_exec.js"; import { ExecContext, FunctionRef } from "./exec/exec_context.js"; import { Command } from "./exec/command.js"; import { StackFrame } from "./exec/stack_frame.js"; import { ExecStack } from "./exec/exec_stack.js"; type RuntimeStateCallbackType = () => void; export declare class WgslDebug { _code: string; _exec: WgslExec; _execStack: ExecStack; _dispatchId: number[]; _runTimer: any; 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: Object, context: ExecContext): void; debugWorkgroup(kernel: string, dispatchId: number[], dispatchCount: number | number[], bindGroups: Object, config?: Object): 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 {};