import { type IAgentRuntime, Service } from "@elizaos/core";
import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
import { type McpProvider, type McpResourceResponse, type McpServer } from "./types";
export declare class McpService extends Service {
    static serviceType: string;
    capabilityDescription: string;
    private connections;
    private mcpProvider;
    constructor(runtime: IAgentRuntime);
    static start(runtime: IAgentRuntime): Promise<McpService>;
    stop(): Promise<void>;
    private initializeMcpServers;
    private getMcpSettings;
    private getBiostratumSettings;
    private mergeServerConfigurations;
    private convertBiostratumToMcp;
    private updateServerConnections;
    private buildStdioClientTransport;
    private buildSseClientTransport;
    private connectToServer;
    private appendErrorMessage;
    deleteConnection(name: string): Promise<void>;
    private getServerConnection;
    private applyToolFiltering;
    private fetchToolsList;
    private fetchResourcesList;
    private fetchResourceTemplatesList;
    getServers(): McpServer[];
    getProviderData(): McpProvider;
    callTool(serverName: string, toolName: string, toolArguments?: Record<string, unknown>): Promise<CallToolResult>;
    readResource(serverName: string, uri: string): Promise<McpResourceResponse>;
    restartConnection(serverName: string): Promise<void>;
}
