import type { AgentTool } from "@prestyj/agent";
import type { MCPServerConfig } from "./types.js";
/** Per-server connection outcome for the dashboard / non-interactive list. */
export interface MCPConnectResult {
    name: string;
    ok: boolean;
    toolCount: number;
    tools: AgentTool[];
    error?: string;
}
export declare class MCPClientManager {
    private servers;
    connectAll(configs: MCPServerConfig[]): Promise<AgentTool[]>;
    /**
     * Connect every enabled server and return one result per server (success →
     * ok + toolCount; failure → ok:false with a human-readable error string).
     * Keeps successfully connected servers in `this.servers`.
     */
    connectAllDetailed(configs: MCPServerConfig[]): Promise<MCPConnectResult[]>;
    /**
     * Connect a single server, list its tools, then close that client so the
     * probe connection doesn't accumulate in `this.servers`. Used to validate a
     * server before persisting it.
     */
    probe(config: MCPServerConfig): Promise<MCPConnectResult>;
    private connectServer;
    dispose(): Promise<void>;
}
//# sourceMappingURL=client.d.ts.map