import type { probeGatewayMemoryStatus } from "../commands/doctor-gateway-health.js"; import type { DoctorOptions, DoctorPrompter } from "../commands/doctor-prompter.js"; import type { KlawConfig } from "../config/types.klaw.js"; import type { buildGatewayConnectionDetails } from "../gateway/call.js"; import type { RuntimeEnv } from "../runtime.js"; import type { FlowContribution } from "./types.js"; export { doctorHealthConversionRules, type DoctorHealthConversionKind, type DoctorHealthConversionRule, } from "./doctor-health-conversion-plan.js"; type DoctorConfigResult = { cfg: KlawConfig; path?: string; shouldWriteConfig?: boolean; sourceConfigValid?: boolean; sourceLastTouchedVersion?: string; skipPluginValidationOnWrite?: boolean; preservedLegacyRootKeys?: readonly string[]; }; type DoctorHealthFlowContext = { runtime: RuntimeEnv; options: DoctorOptions; prompter: DoctorPrompter; configResult: DoctorConfigResult; cfg: KlawConfig; cfgForPersistence: KlawConfig; sourceConfigValid: boolean; configPath: string; env?: NodeJS.ProcessEnv; gatewayDetails?: ReturnType; healthOk?: boolean; gatewayStatus?: import("../commands/status.types.js").StatusSummary; gatewayMemoryProbe?: Awaited>; }; type DoctorHealthContribution = FlowContribution & { kind: "core"; surface: "health"; healthCheckIds: readonly string[]; run: (ctx: DoctorHealthFlowContext) => Promise; }; export declare function shouldSkipLegacyUpdateDoctorConfigWrite(params: { env: NodeJS.ProcessEnv; }): boolean; export declare function resolveDoctorHealthContributions(): DoctorHealthContribution[]; export declare function runDoctorHealthContributions(ctx: DoctorHealthFlowContext): Promise;