import type { McpDoctorReport } from "../commands/mcp.js";
import { type McpDoctorFixReport } from "../commands/mcp.js";
export type McpAutoConnectScope = "none" | "project" | "all" | string;
export type McpAutoConnectTransport = "stdio" | "remote" | "invalid";
export type McpAutoConnectSource = "builtin" | "project" | "global" | "runtime";
export type McpAutoConnectStatus = "mounted" | "ready" | "warn" | "error";
export type McpAutoConnectPreflightMode = "off" | "fast" | "full";
export interface McpAutoConnectEntry {
    name: string;
    transport: McpAutoConnectTransport;
    source: McpAutoConnectSource;
    status: McpAutoConnectStatus;
    reason?: string;
}
export interface McpAutoConnectSourceReport {
    path: string;
    exists: boolean;
    active: boolean;
    parsed: boolean;
    status: "ok" | "empty" | "error";
}
export interface McpAutoConnectReport {
    command: "mcp connect";
    ok: boolean;
    degraded: boolean;
    checkedAt: string;
    scope: McpAutoConnectScope;
    preflight: McpAutoConnectPreflightMode;
    autoMounted: McpAutoConnectEntry[];
    sources: McpAutoConnectSourceReport[];
    errors: string[];
    warnings: string[];
    fixes?: McpDoctorFixReport;
    data: {
        active: number;
        ready: number;
        mounted: number;
        warning: number;
        error: number;
    };
}
export interface McpAutoConnectOptions {
    fix?: boolean;
    dryRun?: boolean;
    global?: boolean;
    preflight?: McpAutoConnectPreflightMode;
    env?: Record<string, string | undefined>;
}
export declare function runMcpAutoConnect(options?: McpAutoConnectOptions): Promise<McpAutoConnectReport>;
export declare function mapDoctorToAutoConnectReport(doctor: McpDoctorReport, options?: {
    preflight?: McpAutoConnectPreflightMode;
    fixes?: McpDoctorFixReport;
}): McpAutoConnectReport;
export declare function renderMcpAutoConnectBanner(report: McpAutoConnectReport): string;
export declare function renderMcpAutoConnectLines(report: McpAutoConnectReport): string[];
export declare function mcpConnectCommand(options?: {
    json?: boolean;
    fix?: boolean;
    all?: boolean;
}): Promise<void>;
