/** * Goal persistence — ~/.blockrun/goals// holding goal.json (atomic), * plan.md (frozen by the planner), and verdicts/round-N.json. Plus the * process-scoped active-goal slot the loop and /goal command share. */ import type { GoalKind, GoalState, VerifierVerdict } from './types.js'; export declare function goalsDir(): string; export declare function goalDir(id: string): string; export declare function saveGoal(goal: GoalState): void; export declare function loadGoal(id: string): GoalState | null; export declare function savePlan(id: string, planMd: string): void; export declare function loadPlan(id: string): string; export declare function saveVerdicts(id: string, round: number, verdicts: VerifierVerdict[]): void; export declare function createGoal(opts: { objective: string; kind: GoalKind; maxUsd?: number; }): GoalState; export declare function setActiveGoal(goal: GoalState | null): void; export declare function getActiveGoal(): GoalState | null; /** Mutate + persist + keep the in-memory slot coherent. */ export declare function updateActiveGoal(patch: Partial): GoalState | null;