export declare const HEALTH_SCHEDULE_VALUES: readonly ["off", "daily", "weekly"];
/** Supported unattended health-run cadence. */
export type HealthSchedule = (typeof HEALTH_SCHEDULE_VALUES)[number];
/** Origin of one health finding. */
export type HealthLayer = "deterministic" | "agentic";
/** Outcome of one health check. */
export type HealthStatus = "pass" | "warn" | "fail";
/** Scope executed by a health run. */
export type HealthMode = "deterministic" | "full";
/** Canonical aggregate health verdict. */
export type HealthVerdict = "in band" | "drift detected";
/** One bounded, attributable health-check result. */
export interface HealthFinding {
    readonly check: string;
    readonly layer: HealthLayer;
    readonly status: HealthStatus;
    readonly reason: string;
}
/** Derived zero-filled counts and verdict. */
export interface HealthSummary {
    readonly verdict: HealthVerdict;
    readonly counts: Readonly<{
        pass: number;
        warn: number;
        fail: number;
    }>;
}
/** Complete immutable Health v1 result envelope. */
export interface HealthResult {
    readonly schemaVersion: 1;
    readonly runId: string;
    readonly mode: HealthMode;
    readonly startedAt: string;
    readonly completedAt: string;
    readonly findings: readonly HealthFinding[];
    readonly summary: HealthSummary;
}
/**
 * Validate a health schedule value.
 * @param value - Untrusted schedule candidate
 * @returns Validated closed schedule value
 */
export declare function validateHealthSchedule(value: unknown): HealthSchedule;
/**
 * Derive zero-filled counts and the canonical verdict.
 * @param findings - Untrusted finding collection
 * @returns Frozen canonical summary
 */
export declare function summarizeHealthFindings(findings: unknown): HealthSummary;
/**
 * Validate untrusted data into a detached, deeply frozen Health v1 result.
 * @param candidate - Untrusted result envelope
 * @returns Frozen validated Health v1 result
 */
export declare function validateHealthResult(candidate: unknown): HealthResult;
//# sourceMappingURL=contract.d.ts.map