import type { Database } from "bun:sqlite";
export type SnapshotType = "interrupt" | "complete" | "handoff" | "checkpoint";
export interface ContextSnapshot {
    id: string;
    agent_id: string | null;
    task_id: string | null;
    project_id: string | null;
    snapshot_type: SnapshotType;
    plan_summary: string | null;
    files_open: string[];
    attempts: string[];
    blockers: string[];
    next_steps: string | null;
    metadata: Record<string, unknown>;
    created_at: string;
}
export interface SaveSnapshotInput {
    agent_id?: string;
    task_id?: string;
    project_id?: string;
    snapshot_type: SnapshotType;
    plan_summary?: string;
    files_open?: string[];
    attempts?: string[];
    blockers?: string[];
    next_steps?: string;
    metadata?: Record<string, unknown>;
}
export declare function saveSnapshot(input: SaveSnapshotInput, db?: Database): ContextSnapshot;
export declare function getLatestSnapshot(agentId?: string, taskId?: string, db?: Database): ContextSnapshot | null;
export declare function listSnapshots(opts: {
    agent_id?: string;
    task_id?: string;
    project_id?: string;
    limit?: number;
}, db?: Database): ContextSnapshot[];
//# sourceMappingURL=snapshots.d.ts.map