export type McpModuleServerHandle = { command: string; args?: string[]; env?: Record; }; export type McpModuleTool = { name: string; description?: string; schema?: unknown; }; export type McpModuleToolCall = { name: string; args?: unknown; }; export type McpModuleToolBatchError = { name: string; message: string; }; export type McpModuleToolBatchResult = { ok: true; value: unknown; } | { ok: false; error: McpModuleToolBatchError; }; export type McpModuleClient = { tools(): Promise; tool(name: string, args?: unknown): Promise; toolBatch(calls: McpModuleToolCall[]): Promise; }; type McpConnection = { listTools(): Promise<{ tools: unknown[]; }>; callTool(params: { name: string; arguments?: unknown; }): Promise; callToolBatch?(params: Array<{ name: string; arguments?: unknown; }>): Promise; }; export type ConnectMcp = (server: McpModuleServerHandle) => Promise | McpConnection; export declare function makeMcpModule(connectMcp: ConnectMcp): { server(server: McpModuleServerHandle): McpModuleServerHandle; client(handle: McpModuleServerHandle): Promise; }; export {};