import type { AppConfig } from "../config.js";
import type { CoreMessage } from "ai";
export type MCPServerType = "stdio" | "sse";
export interface MCPServerConfig {
    name: string;
    type: MCPServerType;
    enabled: boolean;
    command?: string;
    args?: Array<string>;
    url?: string;
}
export declare class MCPClientManager {
    private clients;
    private config;
    private allTools;
    constructor(config: AppConfig);
    private getEnabledServers;
    initialize(): Promise<void>;
    private createClient;
    getAllTools(): Promise<Record<string, any>>;
    hasToolWithName(name: string): boolean;
    callTool({ name, args, abortSignal, toolCallId, messages, }: {
        name: string;
        args: unknown;
        abortSignal?: AbortSignal;
        toolCallId: string;
        messages: Array<CoreMessage>;
    }): Promise<string>;
    getStatus(): {
        name: string;
        connected: boolean;
    }[];
    closeAll(): Promise<void>;
}
