import { type E2BDesktopModule } from "./e2b-desktop-launch.js"; export declare const RECLAIM_RESULT_SCHEMA = "humanish.reclaim-result.v1"; export declare const RECLAIM_RECEIPT_ARTIFACT = "reclaim-receipt.json"; export interface ReclaimOutcome { sandboxId: string; laneId: string; /** killed = kill(id) confirmed; already-gone = the server no longer knows the id (TTL or a * prior cleanup got it); kill-failed = the attempt errored (the TTL backstop still applies). */ state: "killed" | "already-gone" | "kill-failed"; detail?: string; } export interface ReclaimResult { schema: typeof RECLAIM_RESULT_SCHEMA; ok: boolean; cwd: string; runId: string; /** Receipts found in the run's journal (0 = nothing was created, or the run predates receipts). */ receiptCount: number; outcomes: ReclaimOutcome[]; warnings: string[]; error?: { code: "HUMANISH_RECLAIM_RUN_NOT_FOUND" | "HUMANISH_RECLAIM_MODULE_UNAVAILABLE"; message: string; }; } export interface ReclaimHooks { /** Tests inject a fake @e2b/desktop module; default loads the real one. */ loadModule?: () => Promise; requestTimeoutMs?: number; } export declare function reclaimRunSandboxes(cwd: string, runInput: string, hooks?: ReclaimHooks): Promise;