import { type ProviderDef } from './providers.js'; export type DoctorStatus = 'pass' | 'warn' | 'fail'; export interface DoctorCheck { status: DoctorStatus; name: string; reason?: string; } type FetchLike = (input: string, init?: RequestInit) => Promise<{ ok: boolean; status: number; }>; /** * Verify that an OpenAI-compatible endpoint is reachable without spending tokens or changing * anything. A successful `/models` response proves the whole route; an HTTP response still * distinguishes a reachable-but-misconfigured endpoint from a dead network. */ export declare function providerConnectionCheck(def: ProviderDef, apiKey?: string, fetcher?: FetchLike): Promise; /** * One key remembered for two providers, which means one of them is receiving somebody else's * credential. Reported rather than repaired: only the owner knows which entry was intended. */ export declare function credentialCrossFilingCheck(stateHome?: string): DoctorCheck; /** * Inspect the environment needed for a useful coding session. * * Kept separate from printing so the same truthful diagnosis can be used before startup and * from an already-running chat, where the selected provider may differ from global config. */ export declare function doctorChecks(cwd: string, activeProvider?: string, activeBaseURL?: string, activeApiKey?: string, fetcher?: FetchLike): Promise; /** A compact, colour-free report for the interactive terminal and testable UI surfaces. */ export declare function doctorReport(results: readonly DoctorCheck[]): string; export declare function runDoctor(cwd: string): Promise; export {}; //# sourceMappingURL=doctor.d.ts.map