/**
 * @sanity/ailf-core — Report validity (data-health axis)
 *
 * `ReportValidity` is the post-hoc data-health assessment of a published
 * report, orthogonal to `provenance.classification` (run intent, D0037).
 * It is a top-level sibling of the legacy `ReportDegradation` flag, which it
 * subsumes (`degraded:true → validity.status:"degraded"`).
 *
 * Authored independently of the Zod schema so the schema can assert
 * `satisfies z.ZodType<ReportValidity>` and turn drift into a build error
 * (D0045). Populated by the confidence-tiered detector
 * (`W-report-validity-detector`) and the eval write path
 * (`W-stamp-validity-write-path`); gated everywhere by the shared
 * `includeInDefaultTrends` predicate (`W-trustworthiness-predicate`).
 *
 * @see docs/decisions/D0059-report-validity-axis-and-trustworthiness-gate.md
 * @see docs/design-docs/report-trustworthiness-model.md
 */
/**
 * The validity-status vocabulary. Single `as const` tuple so the runtime Zod
 * `z.enum(...)` and the `ReportValidityStatus` type derive from one source —
 * the same drift-proofing the `DEGRADED_ENRICHMENT_FIELDS` tuple uses.
 *
 *  - `ok`         — trustworthy; included in default trends.
 *  - `degraded`   — enrichment/grading failed (subsumes the legacy `degraded`
 *                   flag).
 *  - `incomplete` — expected grains genuinely missing, after the report-shape
 *                   caveat is accounted for (see design doc).
 *  - `suspect`    — passed structural checks but flagged for review (anomaly or
 *                   ambiguous heuristic).
 */
export declare const REPORT_VALIDITY_STATUSES: readonly ["ok", "degraded", "incomplete", "suspect"];
export type ReportValidityStatus = (typeof REPORT_VALIDITY_STATUSES)[number];
/**
 * How the validity verdict was reached. A `"manual"` verdict is authoritative
 * — re-running the detector never overwrites it (the detector emits a re-run
 * only over `"auto"` verdicts).
 */
export type ReportValidityMethod = "auto" | "manual";
/**
 * Post-hoc data-health assessment of a published report.
 *
 * Top-level on the `Report` (a judgment about the report's *data*), NOT under
 * `provenance` (which records run *intent*). Additive and nullable: pre-stamp
 * reads have no `validity` and are treated as trustworthy until backfilled.
 */
export interface ReportValidity {
    /** Data-health verdict. */
    status: ReportValidityStatus;
    /** Which detector rules fired — the audit trail behind `status`. */
    reasons: string[];
    /** Whether an automated rule or a human produced this verdict. */
    method: ReportValidityMethod;
    /** Detector ruleset version, so re-assessments are comparable. */
    rulesetVersion: string;
    /** When the verdict was produced (ISO 8601 UTC). */
    assessedAt: string;
}
/** Type guard for {@link ReportValidityStatus}. */
export declare function isReportValidityStatus(value: unknown): value is ReportValidityStatus;
