import { Checkpoint, CheckpointStore, RuntimeContext } from "../index.js";
import { CheckpointArgs, SourceLocationOpts } from "../runtime/state/checkpointStore.js";
export declare class DebuggerState {
    private mode;
    checkpoints: CheckpointStore;
    callDepth: number;
    stepTarget: {
        type: "stepIn" | "stepOut" | "next";
        targetDepth: number;
    } | null;
    constructor(rewindSize: number);
    stepping(): void;
    running(): void;
    isStepping(): boolean;
    isRunning(): boolean;
    isAtTargetDepth(): boolean;
    isAtOrBelowTargetDepth(): boolean;
    enterCall(): void;
    exitCall(): void;
    resetCallDepth(): void;
    reset(): void;
    getMode(): "stepping" | "running";
    stepIn(): void;
    stepNext(): void;
    stepOut(): void;
    loadCheckpoints(checkpoints: Checkpoint[]): void;
    pinCheckpoint(checkpointId: number, label?: string): void;
    cloneCheckpoint(checkpoint: Checkpoint, opts?: Partial<CheckpointArgs>): number;
    createRollingCheckpoint(ctx: RuntimeContext<any>, opts: SourceLocationOpts): number;
    createPinnedCheckpoint(ctx: RuntimeContext<any>, opts: SourceLocationOpts & {
        label: string | null;
    }): number;
    getCheckpoint(id: number): Checkpoint | undefined;
    getCheckpoints(): Checkpoint[];
    findCheckpoint(location: SourceLocationOpts): Checkpoint | null;
    findBefore(checkpoint: Checkpoint): Checkpoint | null;
    prettyPrint(): string;
    deleteAfterCheckpoint(checkpointId: number): void;
}
export type DebuggerUIState = {
    callStack: {
        functionName: string;
        moduleId: string;
        line: number;
    }[];
    activityLog: string[];
    pendingOverrides: Record<string, unknown>;
    mode: "stepping" | "running";
};
