import { type Screen, type Element } from "../tui/index.js";
import type { Checkpoint } from "../runtime/state/checkpointStore.js";
import type { UIState } from "./uiState.js";
/**
 * The minimal interface overlays need from the host UI.
 * Keeps overlays decoupled from DebuggerUI internals.
 */
export type OverlayContext = {
    screen: Screen;
    state: UIState;
    /** Build the top portion of the standard layout (source/threads + locals/globals/callStack). */
    buildTopRows(): Element[];
    buildStatsBar(): Element;
    commandBarContent: string;
    cleanup(): void;
};
export declare function showRewindSelector(ctx: OverlayContext, checkpoints: Checkpoint[]): Promise<number | null>;
export declare function showCheckpointsPanel(ctx: OverlayContext, checkpoints: Checkpoint[]): Promise<Checkpoint | null>;
