import type { McpTransport } from "./transport.js"; import { type McpInitializeResult, type McpNormalizedResult, type McpRequestOptions, type McpServerInfo, type McpToolDescriptor } from "./types.js"; export interface McpClientOptions { readonly clientName?: string | undefined; readonly clientVersion?: string | undefined; readonly protocolVersion?: string | undefined; readonly capabilities?: Readonly> | undefined; } export declare class McpClient { private readonly transport; private readonly options; private initialized; private serverProtocolVersion; private serverInfo; private serverCapabilities; constructor(transport: McpTransport, options?: McpClientOptions); getServerInfo(): McpServerInfo | undefined; getProtocolVersion(): string | undefined; getCapabilities(): Readonly>; initialize(options?: McpRequestOptions): Promise; private parseInitialize; listTools(options?: McpRequestOptions): Promise; callTool(name: string, args: Record, options?: McpRequestOptions): Promise; ping(options?: McpRequestOptions): Promise; close(): Promise; private assertInitialized; }