/** * What a check judged, per platform and form factor. * * A run that says "12 shots judged" has not said whether the phone shots were * among them. Each form factor is a rendering of its own, so the count is kept * per form factor: how many shots it had, how many were judged fresh or * served from the cache, how many carry a finding, and how many nobody could * vouch for. The last number is the one this exists for: a form factor the * judge never opened reads as "not judged" here, never as clean. */ import { type FormFactor, type PlatformKind, type ShotRecord } from "../types.js"; export interface FormFactorTally { platform: PlatformKind; formFactor: FormFactor; shots: number; judged: number; cached: number; withFindings: number; /** Shots some panel could not vouch for this run; judged again next run. */ unjudged: number; } export declare function tallyFormFactors(shots: readonly ShotRecord[], judgedIds: ReadonlySet, findingShotIds: ReadonlySet, unjudgedIds: ReadonlySet): FormFactorTally[]; /** * The tally as lines a person reads: one per platform naming every form * factor, and one more for any form factor that was not fully judged, since * that is the line that changes what the reader does next. */ export declare function tallyLines(tally: readonly FormFactorTally[]): string[];