/**
 * ADR-PIPELINE-089 §5 — Phase 2 preflight.
 *
 * Before Phase 2 dispatches its ~7 platform agents in parallel, probe
 * each backend's health endpoint with a short timeout. Cloud Run services
 * that are already failing health checks get marked `skipped-unhealthy`
 * instead of being called, which saves 60-120s per dead backend — the
 * dominant wall-time sink in the observed 2026-04-22 reproduction.
 *
 * If a majority (≥ PREFLIGHT_ABORT_THRESHOLD) of backends fail, the
 * caller should skip Phase 2 entirely and set status.json's
 * phase2_preflight.verdict = 'abort'. The user sees a clean "skipped:
 * N of M backends unhealthy" line from `agentics status` instead of
 * watching a mystery 10-minute "in progress" pause.
 */
export interface PreflightAgentRef {
    /** Logical domain/agent pair as used by the invoker. */
    domain: string;
    agent: string;
    /** Service endpoint key (from src/config/endpoints.ts). */
    service: string;
}
export interface PreflightResult {
    probed: number;
    healthy: string[];
    unhealthy: string[];
    skipped: string[];
    durationMs: number;
    verdict: 'healthy' | 'partial' | 'abort';
}
/**
 * Runs a parallel health probe for each unique service backing the
 * supplied agents. Returns which services responded, which timed out, and
 * which agents should be skipped.
 *
 * Probes are cached per-process for 60 seconds keyed by service URL to
 * avoid amplification when multiple phases call the same backend during
 * one pipeline run. Callers can pass a traceId to scope the cache;
 * omitting it uses a global bucket (fine for a single CLI invocation).
 */
export declare function runPhase2Preflight(agents: readonly PreflightAgentRef[], _traceId?: string): Promise<PreflightResult>;
/** Test helper — clear the probe cache. */
export declare function __resetPreflightCacheForTests(): void;
//# sourceMappingURL=phase2-preflight.d.ts.map