/** * The install doctor, exposed as a tool. * * Runs the enforcement path for real rather than inspecting configuration, so a * PASS means a refusal actually came back out of the hook binary -- not that the * files are where they should be. That distinction is not academic: this project * shipped a version where every configuration check would have passed and the * plugin saved nothing. * * The MCP server probe is skipped when running inside the server itself, because * spawning a second copy of the process that is answering the call is a way to * deadlock rather than a way to learn anything. */ export declare function installDoctor(input: { uninstallPlan?: boolean; clientName?: string; /** * Set by the server when its cache fell back to memory. Passed in rather than * detected here because it is a property of THIS process, not of the files on * disk -- a second CacheEngine built by the doctor might well open fine. */ cacheDegradedReason?: string | null; }): Promise<{ content: Array<{ type: string; text: string; }>; isError?: boolean; }>; export declare const DOCTOR_TOOL: { readonly name: "install_doctor"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly uninstallPlan: { readonly type: "boolean"; readonly description: "Show what uninstall would remove, changing nothing"; }; }; }; }; //# sourceMappingURL=doctor-tool.d.ts.map