/**
 * ADR-PIPELINE-089 §2 — Phase 1 Health Gate.
 *
 * Classifies the outcome of `executeNaturalLanguageRoute` (Phase 1) into
 * one of three verdicts:
 *
 *   - 'failed'   — auto-chain must be skipped; user sees the specific cause.
 *   - 'degraded' — auto-chain proceeds, but we warn loudly about what is
 *                  missing so the user can judge the output.
 *   - 'healthy'  — all inputs intact; auto-chain proceeds silently.
 *
 * Inputs:
 *   - invocations: the per-agent dispatch results (from RouteResult)
 *   - degradations: the list drained from the degradation sink (tag
 *                   survival, consensus, sector-classifier, local
 *                   fallbacks, etc.)
 *   - artifactFiles: the list of files the artifact generator wrote
 *
 * The verdict is computed structurally — no stderr parsing, no global
 * state. Same inputs always produce the same verdict.
 */
import type { Degradation } from '../observability/degradations.js';
export type Phase1Verdict = 'healthy' | 'degraded' | 'failed';
export interface Phase1VerdictResult {
    verdict: Phase1Verdict;
    degradations: Degradation[];
    /** Concise reason string for the banner — single sentence. */
    reason: string;
    /** Counts used by the classifier, preserved for status.json consumers. */
    stats: {
        totalAgents: number;
        succeededAgents: number;
        erroredAgents: number;
        artifactCount: number;
        simulatorStatus: 'succeeded' | 'failed-transient' | 'failed-terminal' | 'failed-unknown' | 'not-invoked';
    };
}
interface InvocationLike {
    intent: {
        domain: string;
        agent: string;
    };
    result: unknown;
}
/**
 * Compute the Phase 1 verdict from structural dispatch results plus the
 * drained degradation list.
 *
 * @param invocations Per-agent invocation results (as `multi.result.invocations`)
 * @param degradations Collected degradation entries for this trace
 * @param artifactFiles Files the artifact generator produced on disk
 */
export declare function computePhase1Verdict(invocations: readonly InvocationLike[], degradations: readonly Degradation[], artifactFiles: readonly string[]): Phase1VerdictResult;
export {};
//# sourceMappingURL=phase1-verdict.d.ts.map