import { EventEmitter } from 'events'; export interface MCPTool { name: string; description: string; inputSchema: { type: 'object'; properties: Record; required?: string[]; }; } export interface MCPResource { uri: string; name: string; description?: string; mimeType?: string; } export interface BaseMCPServerConfig { name: string; command: string; args?: string[]; env?: Record; cwd?: string; timeout?: number; } export interface MCPToolCall { name: string; arguments: Record; } export interface MCPToolResult { content: Array<{ type: 'text' | 'image' | 'resource'; text?: string; data?: string; mimeType?: string; }>; isError?: boolean; status?: 'success' | 'error' | 'pending'; } export interface MCPMessage { jsonrpc: '2.0'; id?: string | number; method?: string; params?: any; result?: any; error?: { code: number; message: string; data?: any; }; } export declare class MCPServer extends EventEmitter { readonly config: BaseMCPServerConfig; private readonly requestTimeout; private process; private logger; private messageId; private pendingRequests; private tools; private resources; private isInitialized; constructor(config: BaseMCPServerConfig, requestTimeout?: number); start(): Promise; stop(): Promise; private setupProcessHandlers; private initialize; private handleMessage; private sendRequest; callTool(name: string, arguments_: Record): Promise; readResource(uri: string): Promise; getTools(): MCPTool[]; getResources(): MCPResource[]; isRunning(): boolean; isReady(): boolean; } export declare class MCPManager extends EventEmitter { private servers; private logger; private defaultServersInitialized; addServer(config: BaseMCPServerConfig): Promise; removeServer(name: string): Promise; getServer(name: string): MCPServer | undefined; getAllServers(): MCPServer[]; getAvailableTools(): Array; callTool(serverName: string, toolName: string, arguments_: Record): Promise; initializeDefaultServers(): Promise; private addServerWithRetry; getDefaultServerStatus(): { initialized: boolean; servers: Array<{ name: string; status: 'running' | 'stopped' | 'error' | 'not_started'; description: string; required: boolean; capabilities: string[]; }>; }; getDefaultServerTools(): Array; callDefaultServerTool(toolName: string, arguments_: Record): Promise; shutdown(): Promise; } //# sourceMappingURL=mcp-client.d.ts.map