import type { CandidateSet, ClaimTarget, EscalationRecord, Extraction, Interpretation, ReviewStatus, RawSource, ReviewOutcome, SurveyInput } from "./types.js"; export interface SurveyInputBuilderArgs { source: string; generatedAt?: string; contractVersion?: string; } export interface SurveyClaimRecord { rawSource: RawSource; extraction: Extraction; candidateSet: CandidateSet; reviewOutcome?: ReviewOutcome; claim: ClaimTarget; } export interface SurveyObservationInput { id: string; rawSource: Omit & { id?: string; }; extraction: Omit & { id?: string; }; candidate?: { id?: string; confidence?: number; sourceRank?: number; rejectionReason?: string; metadata?: Record; }; candidateSet?: { id?: string; status?: CandidateSet["status"]; rationale?: string; metadata?: Record; }; reviewOutcome?: Omit & { id?: string; }; claim: Omit & { id?: string; }; } export interface CandidateReviewRecordInput { id: string; target: string; observations: SurveyObservationInput[]; selectedCandidateId?: string; status?: CandidateSet["status"]; rationale?: string; metadata?: Record; reviewOutcome?: Omit & { id?: string; candidateId?: string; }; } export declare class SurveyInputBuilder { private readonly source; private readonly generatedAt; private readonly contractVersion; private readonly rawSources; private readonly extractions; private readonly candidateSets; private readonly reviewOutcomes; private readonly claims; private readonly escalations; private readonly interpretations; constructor(args: SurveyInputBuilderArgs); addRawSource(rawSource: RawSource): this; addExtraction(extraction: Extraction): this; addCandidateSet(candidateSet: CandidateSet): this; addReviewOutcome(reviewOutcome: ReviewOutcome): this; addClaim(claim: ClaimTarget): this; addEscalation(escalation: EscalationRecord): this; addInterpretation(interpretation: Interpretation): this; addClaimRecord(record: SurveyClaimRecord): this; addClaimRecords(records: SurveyClaimRecord[]): this; addObservation(observation: SurveyObservationInput): this; addObservations(observations: SurveyObservationInput[]): this; build(): SurveyInput; private addRecordCandidateSet; private addRecordRawSource; } export declare function candidateReviewRecord(input: CandidateReviewRecordInput): SurveyClaimRecord[]; export declare function candidateSetStatusFor(reviewStatus?: ReviewStatus): CandidateSet["status"];