export interface McpDoctorOptions {
    json?: boolean;
    fix?: boolean;
    dryRun?: boolean;
    global?: boolean;
}
type McpDoctorSeverity = "ok" | "info" | "warn" | "error";
export interface McpDoctorCheck {
    severity: McpDoctorSeverity;
    kind: string;
    message: string;
}
export interface McpDoctorSourceReport {
    path: string;
    exists: boolean;
    active: boolean;
    parsed: boolean;
    status: "ok" | "empty" | "error";
    serverCount: number;
    error?: string;
}
export interface McpDoctorServerReport {
    name: string;
    status: "ok" | "warn" | "error";
    active: boolean;
    sources: string[];
    activeSources: string[];
    transport: "remote" | "stdio" | "invalid";
    url?: string;
    command?: string;
    resolvedCommand?: string;
    timeoutSec?: number;
    checks: McpDoctorCheck[];
}
export interface McpDoctorReport {
    ok: boolean;
    command: "mcp doctor";
    checkedAt: string;
    activeScope: string;
    issueCount: number;
    errors: string[];
    warnings: string[];
    fixes?: McpDoctorFixReport;
    sources: McpDoctorSourceReport[];
    servers: McpDoctorServerReport[];
    data: {
        activeScope: string;
        sourceCount: number;
        serverCount: number;
    };
}
export interface McpDoctorFixReport {
    changed: boolean;
    dryRun: boolean;
    global: boolean;
    actions: string[];
    skipped: string[];
    backups: string[];
}
export declare function mcpListCommand(): Promise<void>;
export declare function mcpDoctorCommand(options?: McpDoctorOptions): Promise<void>;
export declare function repairMcpDoctorIssues(options?: {
    dryRun?: boolean;
    global?: boolean;
}): Promise<McpDoctorFixReport>;
export declare function buildMcpDoctorReport(): Promise<McpDoctorReport>;
export declare function mcpTestCommand(serverName: string): Promise<void>;
export declare function mcpPrewarmCommand(serverName: string | undefined, options?: {
    all?: boolean;
    label?: "prewarm" | "check";
}): Promise<void>;
export declare function mcpRemoveCommand(serverName: string, options?: {
    global?: boolean;
}): Promise<void>;
export declare function mcpAddCommand(serverName: string): Promise<void>;
export declare function mcpInstallCommand(name: string, command: string, args: string[], options?: {
    env?: string[];
    startupTimeoutSec?: number;
}): Promise<void>;
export interface BulkInstallEntry {
    name: string;
    command: string;
    args: string[];
    env?: string[] | Record<string, string>;
    startupTimeoutSec?: number;
}
export interface BulkInstallResult {
    installed: string[];
    failed: Array<{
        name: string;
        error: string;
    }>;
    skipped: string[];
}
export declare function mcpBulkInstallCommand(entries: BulkInstallEntry[]): Promise<BulkInstallResult>;
export declare function mcpSyncGlobalCommand(options: {
    overwrite?: boolean;
    omk?: boolean;
}): Promise<void>;
export declare function mcpMigrateCommand(options?: {
    global?: boolean;
    dryRun?: boolean;
}): Promise<void>;
export {};
