import type { ChildProcessWithoutNullStreams } from 'child_process';
export interface McpProtocolTool {
    name: string;
    description?: string;
    inputSchema?: Record<string, unknown>;
}
export interface McpToolCallResult {
    content?: Array<Record<string, unknown>>;
    isError?: boolean;
    [key: string]: unknown;
}
export declare class McpStdioClient {
    private readonly child;
    private readonly timeoutMs;
    private buffer;
    private nextId;
    private initialized?;
    private pending;
    constructor(child: ChildProcessWithoutNullStreams, timeoutMs?: number);
    initialize(): Promise<void>;
    listTools(): Promise<McpProtocolTool[]>;
    callTool(name: string, args: Record<string, unknown>): Promise<McpToolCallResult>;
    private request;
    private notify;
    private handleData;
    private handleMessageText;
    private rejectAll;
}
//# sourceMappingURL=mcpClient.d.ts.map