export type DoctorStatus = "pass" | "warn" | "fail";
export interface DoctorCheck {
    id: string;
    label: string;
    status: DoctorStatus;
    message: string;
    fix?: string;
}
export interface DoctorDiagnosticCheck {
    id: string;
    label: string;
    status: DoctorStatus;
    summary: string;
    details?: string[];
}
export interface DoctorDiagnosticReport {
    checks: DoctorDiagnosticCheck[];
    ok: boolean;
    counts: {
        pass: number;
        warn: number;
        fail: number;
    };
}
export interface DoctorResult {
    checks: DoctorCheck[];
    ok: boolean;
    warningCount: number;
    failureCount: number;
}
export interface RunDoctorOptions {
    cwd?: string;
    envPath?: string;
    port?: number | string;
    jaitDir?: string;
    minNodeVersion?: string;
    healthCheck?: (port: number) => Promise<unknown>;
    env?: NodeJS.ProcessEnv;
}
export declare function resolveDoctorEnvCandidates(options: Pick<RunDoctorOptions, "cwd" | "envPath" | "jaitDir">): string[];
export declare function runDoctor(options?: RunDoctorOptions): Promise<DoctorResult>;
export declare function runDoctorDiagnostics(options?: RunDoctorOptions): Promise<DoctorDiagnosticReport>;
//# sourceMappingURL=doctor.d.ts.map