import { Client as SDKClient, SdkHttpError, type ClientOptions } from '@modelcontextprotocol/client'; import type { Transport, ProtocolEra } from '@modelcontextprotocol/client'; import type { Implementation, DiscoverResult, ListToolsResult, CallToolResult, ListResourcesResult, ListResourceTemplatesResult, ReadResourceResult, ListPromptsResult, GetPromptResult, LoggingLevel, GetTaskResult, ListTasksResult, CancelTaskResult, Tool } from '@modelcontextprotocol/client'; import { type Logger } from '../lib/logger.js'; import type { IMcpClient, ServerDetails, TaskUpdate } from '../lib/types.js'; export interface McpClientOptions extends ClientOptions { logger?: Logger; requestTimeoutMillis?: number; stdioTransport?: boolean; protocolVersion?: string; } export declare function resolveVersionOptions(protocolVersion: string | undefined, stdioTransport: boolean | undefined): Pick; export declare function isExpectedProbeRejection(error: unknown): error is SdkHttpError; export declare class McpClient implements IMcpClient { private client; private logger; private negotiatedProtocolVersion?; private mcpSessionId?; private transport?; private hasConnected; private requestTimeoutMillis; private readonly configuredRequestTimeoutMillis; private cachedTools; private cachedToolsExpiresAt; private isClosing; private readonly autoNegotiates; private modernSubscribedUris; private modernListen; constructor(clientInfo: Implementation, options?: McpClientOptions); setRequestTimeout(timeoutMillis: number): void; resetRequestTimeout(): void; private getRequestOptions; connect(transport: Transport): Promise; close(): Promise; getServerDetails(): Promise; getProtocolEra(): ProtocolEra | undefined; getMcpSessionId(): string | undefined; private deriveConnectionMode; private deriveTransportKind; discover(): Promise; ping(): Promise; listTools(cursor?: string, refresh?: boolean): Promise; listAllTools(options?: { refreshCache?: boolean; }): Promise; private deriveToolsCacheExpiry; private isToolsCacheExpired; getCachedTools(): Tool[] | null; invalidateToolsCache(): void; callTool(name: string, args?: Record, meta?: Record): Promise; listResources(cursor?: string): Promise; listResourceTemplates(cursor?: string): Promise; readResource(uri: string): Promise; subscribeResource(uri: string): Promise; unsubscribeResource(uri: string): Promise; private reopenModernListen; private watchListChangedStream; private reopenListChanged; private relistenWithBackoff; listPrompts(cursor?: string): Promise; getPrompt(name: string, args?: Record): Promise; setLoggingLevel(level: LoggingLevel): Promise; supportsTasksForToolCall(): boolean; assertTasksAvailable(): void; private createToolTask; callToolWithTask(name: string, args?: Record, onUpdate?: (update: TaskUpdate) => void, meta?: Record): Promise; callToolDetached(name: string, args?: Record, meta?: Record): Promise; pollTask(taskId: string, onUpdate?: (update: TaskUpdate) => void): Promise; listTasks(cursor?: string): Promise; getTask(taskId: string): Promise; getTaskResult(taskId: string): Promise; cancelTask(taskId: string): Promise; getSDKClient(): SDKClient; } //# sourceMappingURL=mcp-client.d.ts.map