import type { JsonRequirement } from "./types.js"; export type JobStatus = "running" | "completed" | "failed"; export interface ExtractionJob { id: string; status: JobStatus; startedAt: Date; finishedAt?: Date; /** Total requirements identified (set after Pass 1) */ totalIdentified: number; /** Total requirements to generate (after filtering, set after Pass 2) */ totalToGenerate: number; /** Requirements generated so far */ generated: JsonRequirement[]; /** Current phase description */ phase: string; /** Error message if failed */ error?: string; /** Output directory */ outputDir: string; } export interface ProgressResponse { jobId: string; status: JobStatus; phase: string; totalIdentified: number; totalToGenerate: number; done: number; finished: boolean; /** New requirements since `since` index */ new: JsonRequirement[]; error?: string; } declare class JobManager { private jobs; createJob(outputDir: string): ExtractionJob; getJob(id: string): ExtractionJob | undefined; updatePhase(id: string, phase: string): void; setIdentifiedCount(id: string, count: number): void; setToGenerateCount(id: string, count: number): void; pushRequirement(id: string, req: JsonRequirement): void; completeJob(id: string): void; failJob(id: string, error: string): void; getProgress(id: string, since?: number): ProgressResponse | null; listJobs(): Array<{ id: string; status: JobStatus; phase: string; done: number; total: number; }>; } export declare const jobManager: JobManager; export {}; //# sourceMappingURL=job-manager.d.ts.map