/**
 * stampReportValidity — apply the report-trustworthiness detector at write time.
 *
 * The eval write path's forward guarantee (D0059): every newly written report
 * carries a top-level `validity` data-health stamp so the trustworthiness gap
 * cannot recur on new reports. Lives in `pipeline/` (not the orchestration
 * step) so both report-write paths — `PublishReportStep` and the standalone
 * `publish` command — import it without a command→orchestration-step coupling.
 *
 * @see docs/decisions/D0059-report-validity-axis-and-trustworthiness-gate.md
 * @see docs/design-docs/report-trustworthiness-model.md
 */
import { type Report } from "../_vendor/ailf-core/index.d.ts";
/**
 * Stamp the data-health `validity` axis (D0059) onto a report and normalize
 * its `provenance.classification` to the canonical spelling.
 *
 * Runs the pure detector (`assessReportValidity`) over the assembled report.
 * `Report` structurally satisfies the detector's `ReportValidityInput`
 * (`provenance` extends `RunContext`; `summary` is a `ReportSummary`), so no
 * adapter is needed. The verdict is **server-computed from the report's own
 * data** (D0037): `assessedAt` is injected by the caller (the report's
 * completion time) and nothing is read from the caller envelope.
 *
 * `classification` is patched only when the detector returns one — it returns
 * `undefined` when the existing value is already canonical and no Tier-1 rule
 * fired, so the patch is idempotent and never clobbers a correct (or
 * human-corrected) value. Tier-2 review flags are not persisted here; the
 * one-shot backfill consumes them. Returns a new report; the input is not
 * mutated.
 */
export declare function stampReportValidity(report: Report, assessedAt: string): Report;
