import type { ChecklistQuestion, ChecklistRevision } from "./types.js"; /** * What one annotator's folded answers say about one trace. The fold itself * (per question, in append order, keyed by checklist and annotator) is the run * directory's `foldAnnotations`; this module only turns its result into a * status and a score. */ /** questionId → the answer that currently stands. */ export type EffectiveAnswers = Record; export type ItemStatus = "untouched" | "reviewed" | "stale"; export type ItemJudgement = { answers: EffectiveAnswers; revision: ChecklistRevision; }; export declare function liveQuestions(revision: ChecklistRevision): ChecklistQuestion[]; export declare function itemStatus(judgement: ItemJudgement): ItemStatus; /** * Weighted fraction of ticked boxes over live questions, or `null` when the * item is not fully judged. * * Treating an unjudged question as a failure would report a confident low * score for something nobody has finished looking at, which is worse than * reporting no score at all. */ export declare function score(judgement: ItemJudgement): number | null;