import type { Capability, CapabilityEffect, JsonSchema } from "./types.js"; export type ImportableMcpTool = { name: string; title?: string; description?: string; inputSchema?: JsonSchema; outputSchema?: JsonSchema; annotations?: { readOnlyHint?: boolean; destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; }; }; export type McpToolCaller = (name: string, input: unknown) => unknown | Promise; export type McpImportOptions = { namespace?: string; version?: string; callTool: McpToolCaller; baseEffects?: readonly CapabilityEffect[]; effectsComplete?: boolean; transport?: string; }; export type StdioMcpOptions = { command: string; args?: readonly string[]; namespace?: string; version?: string; protocolVersion?: string; cwd?: string; env?: NodeJS.ProcessEnv; effectsComplete?: boolean; }; export declare function capabilitiesFromMcpTools(tools: readonly ImportableMcpTool[], options: McpImportOptions): Capability[]; export declare class StdioMcpSession { private readonly options; private readonly child; private readonly input; private readonly pending; private nextId; private stderr; private started; constructor(options: StdioMcpOptions); private handleLine; private rejectAll; private send; private request; private notify; start(): Promise; listTools(): Promise; callTool(name: string, input: unknown): Promise; close(): void; } export declare function connectStdioMcpCapabilities(options: StdioMcpOptions): Promise<{ session: StdioMcpSession; tools: readonly ImportableMcpTool[]; capabilities: readonly Capability[]; }>; //# sourceMappingURL=mcp-import.d.ts.map