import { FrameRecorder, type Frame } from "../tui/index.js"; import { DebuggerDriver } from "./driver.js"; import { DebuggerUI } from "./ui.js"; import type { Checkpoint } from "../runtime/state/checkpointStore.js"; type TestSessionOpts = { mod: any; args?: unknown[]; checkpoints?: Checkpoint[]; width?: number; height?: number; }; /** * Thin wrapper that creates a DebuggerUI wired to test infrastructure. * Provides a step-at-a-time API for feeding keys and inspecting frames. */ export declare class DebuggerTestSession { private input; private labelingOutput; readonly recorder: FrameRecorder; readonly ui: DebuggerUI; readonly driver: DebuggerDriver; private runPromise; private result; private finished; private pressCount; private constructor(); static create(opts: TestSessionOpts): Promise; press(key: string, opts?: { times?: number; shift?: boolean; }): Promise; type(str: string): Promise; frame(): Frame; quit(): Promise; returnValue(): any; writeHTML(path: string): void; get isFinished(): boolean; /** Start the driver loop in the background and wait for it to reach its first idle. */ private startDriver; } export {};