import { DebuggerDriver } from "./driver.js";
import { UIState } from "./uiState.js";
import type { DebuggerCommand, DebuggerIO } from "./types.js";
import { Checkpoint } from "../runtime/state/checkpointStore.js";
import type { FunctionParameter } from "../types.js";
export declare const fixtureDir: string;
export declare class TestDebuggerIO implements DebuggerIO {
    state: UIState;
    private commands;
    private commandIndex;
    renderCalls: Checkpoint[];
    rewindSelector: ((checkpoints: Checkpoint[]) => number | null) | null;
    constructor(commands: DebuggerCommand[]);
    render(_checkpoint?: Checkpoint): Promise<void>;
    waitForCommand(): Promise<DebuggerCommand>;
    showRewindSelector(checkpoints: Checkpoint[]): Promise<number | null>;
    promptForNodeArgs(_parameters: FunctionParameter[]): Promise<unknown[]>;
    promptForInput(_prompt: string): Promise<string>;
    showCheckpointsPanel(_checkpoints: Checkpoint[]): Promise<void>;
    appendStdout(_text: string): void;
    renderActivityOnly(): void;
    startSpinner(): void;
    stopSpinner(): void;
    destroy(): void;
}
export declare function freshImport(compiledFile: string): Promise<any>;
export declare function makeDriver(mod: any, ui: DebuggerIO, opts?: {
    checkpoints?: Checkpoint[];
}): DebuggerDriver;
export declare function getInitialResult(mod: any, driver: DebuggerDriver, ...args: any[]): Promise<any>;
