export interface PendingMarker { checkpointId: string; runId?: string; artifact: { type?: string; path?: string; summary?: string; lines?: number; }; prompt: string; requestedAt: string; timeoutAt: string; } export interface ApprovedMarker { approvedAt: string; approverId: string; editDelta?: unknown; } export interface RejectedMarker { rejectedAt: string; rejecterId: string; feedback: string; } /** * Write a pending approval marker to disk. */ export declare function savePending(projectRoot: string, m: PendingMarker): Promise; /** * Read a pending approval marker from disk. Returns null if not found. */ export declare function readPending(projectRoot: string, id: string): Promise; /** * List all pending approval markers. */ export declare function listPending(projectRoot: string): Promise; /** * Write an approved marker to disk. */ export declare function saveApproved(projectRoot: string, id: string, m: ApprovedMarker): Promise; /** * Write a rejected marker to disk. */ export declare function saveRejected(projectRoot: string, id: string, m: RejectedMarker): Promise; /** * Delete a pending marker from disk (after resolution). Best-effort — does not throw. */ export declare function deletePending(projectRoot: string, id: string): Promise; /** * Check whether a pending marker exists for the given checkpoint id. */ export declare function pendingExists(projectRoot: string, id: string): Promise; /** * Cockpit-shape pending row — what both the CLI (--json) and the MCP * tool bober_list_pending_approvals should return. */ export interface PendingApprovalRow { checkpointId: string; ageMs: number; prompt: string; } /** * List all pending checkpoints in cockpit-row shape. * * Mirrors the row-builder loop in src/cli/commands/list-approvals.ts * but lives in state/ so both the CLI and the MCP tool can share it. * Reads .bober/approvals/*.pending.json. * * Behavior: * - Missing approvals dir → returns []. * - Corrupted JSON files → skipped silently (matches CLI behavior). * - ageMs = Date.now() - Date.parse(requestedAt). */ export declare function listPendingApprovals(projectRoot: string): Promise; //# sourceMappingURL=approval-state.d.ts.map