import { type BreakerSnapshotState, type EngineEntry } from './engine-base.js'; import type { Vertical } from './intent-router.js'; export type EngineHealthStatus = 'ok' | 'needs-key' | 'disabled'; export interface EngineHealthEntry { name: string; vertical: Vertical; status: EngineHealthStatus; /** Optional one-line remediation hint when status !== 'ok'. */ hint?: string; /** Informational note about a KNOWN engine limitation that is NOT a * misconfiguration — e.g. an engine that intermittently rate-limits/403s by * IP reputation rather than anything the user can fix. Surfaced even when * status is 'ok' so the doctor output is honest about why an engine may go * dark, without implying the user did something wrong. */ note?: string; /** Optional engine weight (for visibility — informational only). */ weight?: number; /** Circuit-breaker state, joined from getBreakerSnapshot(). Omitted for * engines that never dispatched in this process. */ breaker?: BreakerSnapshotState; /** Last upstream error the breaker recorded for this engine. */ lastError?: string; } /** * Flattened engine entries across every vertical pool. Used by doctor's * `--probe-engines` flag as the live-probe target list. May * contain the same engine name more than once when an engine is registered * in multiple verticals — callers dedupe by name. */ export declare function getRegisteredEngineEntries(): EngineEntry[]; /** * Inspect the configured engine pool across every vertical and return a * flat list of (engine, vertical, status) entries. Pure — no network, no * side effects. Re-entry-safe and cheap enough to call on every doctor * invocation. Used by `doctor` for the engine health summary block. */ export declare function getEngineHealthSummary(): EngineHealthEntry[]; //# sourceMappingURL=engine-health.d.ts.map