import { type CopilotPaths, type ResolveCopilotPathsOptions } from "./paths.js"; export type CheckStatus = "pass" | "fail" | "warn"; export interface DoctorCheck { name: string; status: CheckStatus; detail: string; } export interface DoctorReport { ok: boolean; checks: DoctorCheck[]; paths: CopilotPaths; } export interface DoctorOptions extends ResolveCopilotPathsOptions { skipCopilot?: boolean; copilotBin?: string; checkHooks?: boolean; /** Run slow, network-dependent probes (e.g. the memory-review model). Opt-in * via `omp doctor --deep` so the default doctor stays fast. */ deepCheck?: boolean; } /** Pure classifier for a memory-review model probe (kept separate so it's * testable without spawning copilot). Mirrors copilot/models.probeModel: a * working model is proven by captured stdout, because `copilot -p` often prints * its reply but doesn't exit (so spawnSync reports a SIGTERM/timeout, not 0). */ export declare function classifyMemoryReviewProbe(slug: string, outcome: { status: number | null; stdout: string; stderr: string; errorCode?: string; }): DoctorCheck; export declare function runDoctor(options?: DoctorOptions): DoctorReport; export declare function formatDoctor(report: DoctorReport): string;