import { type ResearchJob } from "./types.js"; /** * Derive a deterministic 16-char hex job id from a question slug + createdAt. * Mirrors factId in src/state/facts.ts:58-69 — no wall-clock dependency. * The CLI stamps createdAt at the handler boundary and passes it here. */ export declare function jobId(question: string, createdAt: string): string; /** * Persist a research job as a JSON file. * Validates with ResearchJobSchema before writing so an invalid job never * reaches disk (mirrors plan-state.ts:22-38). */ export declare function addJob(projectRoot: string, job: ResearchJob): Promise; /** * List all persisted research jobs, sorted by filename. * Returns [] if the jobs directory does not exist yet. * Malformed JSON files are silently skipped (mirrors plan-state.ts:106-140). */ export declare function listJobs(projectRoot: string): Promise; /** * Read a single research job by id. * Returns null if not found or malformed. */ export declare function readJob(projectRoot: string, id: string): Promise; /** * Delete a research job by id. Returns true if deleted, false if not found. * Mirrors approval-state.ts:138-140. */ export declare function removeJob(projectRoot: string, id: string): Promise; //# sourceMappingURL=job-store.d.ts.map