import type { SqliteConnection } from '../sqlite-connection.js'; import type { CandidateRecord, CandidateStore } from './candidate-store.js'; import { type AdmissionEvaluationRecord, type AdmissionProcessingRecord, type CandidateAdmissionDocument } from './admission-document.js'; export declare class SqliteCandidateStore implements CandidateStore { private readonly connection; constructor(connection: SqliteConnection); getCandidatesByTaskId(taskId: string): Promise; getCandidate(candidateId: string): Promise; updateCandidateStatus(candidateId: string, patch: { status: CandidateRecord['status']; }): Promise; transitionCandidateStatus(candidateId: string, expectedStatus: CandidateRecord['status'], newStatus: CandidateRecord['status']): Promise; /** * SPEC §9.1 (review P1): the diagnosis post-processing backlog. Candidates * of SUCCEEDED diagnostician tasks whose admission/intake/seeding never * completed — INCLUDING candidates committed by the diag_router SUBTASK * (resolved to the diagnostician parent through subtask.inputRef) and * legacy consumed-but-unseeded orphans (admission_json NULL + consumed). * Terminal processing states are excluded. `taskId` is always the PARENT * diagnostician task (the resume entry reads the original pain input from * the parent and the router output from the subtask run). */ listDiagnosisPostProcessingBacklog(options: { limit: number; nowIso?: string; }): { eligible: { candidateId: string; taskId: string; status: string; createdAt: string; processingState: string | null; }[]; corrupt: { candidateId: string; taskId: string; status: string; createdAt: string; }[]; }; getAdmissionDocument(candidateId: string): Promise<{ ok: true; document: CandidateAdmissionDocument | null; } | { ok: false; reason: string; }>; appendAdmissionEvaluation(candidateId: string, evaluation: AdmissionEvaluationRecord): Promise<{ status: 'appended' | 'reused'; document: CandidateAdmissionDocument; } | { status: 'refused'; reason: string; }>; updateAdmissionProcessing(candidateId: string, processing: AdmissionProcessingRecord): Promise; } //# sourceMappingURL=sqlite-candidate-store.d.ts.map