import type { JamDeps } from "../deps.js"; export type HealthCheck = { name: string; ok: boolean; /** A failed fatal check blocks MCP startup; a non-fatal one is a warning. */ fatal: boolean; detail?: string; }; export type GateMode = "boot" | "full"; export type GateResult = { mode: GateMode; checks: HealthCheck[]; passed: boolean; }; /** * One health-check core shared by `jam doctor`, `jam setup` and `jam serve`. * * "boot" mode is what `jam serve` runs on every startup: local checks only * (Node version, config, credentials, base URL shape, MCP wiring) - no network * round trip, so it never adds Jira's latency to Claude Code's own startup. * "full" mode adds live Jira connectivity checks and is what `jam doctor` and * `jam setup` run, since those are explicit, occasional diagnostics rather * than something on the hot path of every session. */ export declare function runHealthGate(deps: JamDeps, mode: GateMode): Promise;