import type { Command } from "commander"; import type { EmitContext } from "../commander.js"; import { type QaEvidenceAssessment } from "../lib/browser/qa-run-contracts.js"; export interface QaVerifyOptions { /** Exact run ID the evidence must carry (`--run-id`). */ runId?: string; /** Revision the evidence must have tested (`--revision`). */ revision?: string; /** Job file to reconstruct and digest-match (`--job`). */ job?: string; /** Maximum age of completed_at, in minutes (`--max-age`). */ maxAge?: string; /** Emit the assessment as JSON (`--json`). */ json?: boolean; } export interface QaVerifyDeps { /** Evaluation instant for --max-age (ISO-8601). Default: current time. */ now?: string; } export interface QaVerifyOutcome { /** 0 evidence fresh · 3 stale or unverifiable · 1 usage/unreadable/invalid job. */ exit: 0 | 1 | 3; /** Present whenever the document was resolved and assessed. */ assessment?: QaEvidenceAssessment; /** Absolute path of the result document that was (or would be) assessed. */ resultPath?: string; /** Human-readable failure for exit-1 outcomes. */ error?: string; /** Individual job-validation errors when --job failed validation. */ jobErrors?: string[]; } /** * Pure core of qa-verify: resolve `` to a result document, collect the * expectations the flags express, and assess. The commander action is a thin * wrapper over this so the resolution and expectation paths test without a * CLI harness. */ export declare function resolveAndAssess(inputPath: string, opts?: QaVerifyOptions, deps?: QaVerifyDeps): QaVerifyOutcome; export declare function registerQaVerifyCommand(program: Command, emit: EmitContext): void; //# sourceMappingURL=qa-verify.d.ts.map