/**
 * MCP Module - Public Exports
 *
 * This module provides Model Context Protocol (MCP) support for new_indusvx.
 * It allows connecting to MCP servers and using their tools as AgentTools.
 *
 * @example
 * ```typescript
 * import { MCPClient, MCPClientPool, loadMCPConfig } from "new_indusvx/mcp";
 * import { ToolRegistry } from "new_indusvx/agent";
 *
 * // Load config from file
 * const configs = loadMCPConfig(process.cwd());
 *
 * // Create a client pool
 * const pool = new MCPClientPool({ servers: configs });
 * await pool.connectAll();
 *
 * // Register tools
 * const registry = new ToolRegistry();
 * for (const client of pool.getAllClients()) {
 *   const tools = await client.listTools();
 *   await registerMCPToolsInRegistry(registry, client, tools);
 * }
 * ```
 */
import { MCPClientPool } from "./client-pool.js";
export { MCPClient, type MCPClientOptions } from "./client.js";
export { MCPClientPool, type MCPClientPoolOptions, type MCPServerStatus } from "./client-pool.js";
export { MCPServer, createMCPServer, type MCPServerOptions } from "./server.js";
export { createMCPAgentToolFactory, registerMCPToolsInRegistry, createMCPToolsMap, createMCPToolsRecord, type MCPToolClient, } from "./tool-factory.js";
export { jsonSchemaToTypeBox, applyPassthrough, convertMCPInputSchema, convertMCPOutputSchema, } from "./schema-converter.js";
export { loadMCPConfig, getUserConfigPath, getProjectConfigPath, ensureUserConfigDir, ensureProjectConfigDir, saveConfig, saveUserConfig, saveProjectConfig, createDefaultConfig, EXAMPLE_CONFIG, } from "./config.js";
export { MCPError, MCPErrorCode, isMCPError, isSessionError, createConnectionError, createTimeoutError, createToolNotFoundError, createInvalidParametersError, createServerError, createNotConnectedError, createConfigError, createSchemaConversionError, } from "./errors.js";
export type { StdioServerConfig, HttpServerConfig, MCPServerConfig, MCPConnectionOptions, MCPToolDefinition, MCPResource, MCPPrompt, MCPInitializeResult, MCPClientState, MCPToolCallRequest, MCPContentBlock, MCPToolCallResult, MCPServerConfigEntry, MCPConfigFile, MCPLoggingLevel, MCPLogMessage, MCPLogHandler, MCPProgressNotification, MCPProgressHandler, MCPElicitRequest, MCPElicitResult, MCPElicitationHandler, MCPRoot, BaseServerOptions, } from "./types.js";
/**
 * Convenience function: Initialize MCP and register tools.
 *
 * This is the simplest way to add MCP support to an agent.
 *
 * @example
 * ```typescript
 * import { initializeMCP } from "new_indusvx/mcp";
 * import { ToolRegistry, Agent } from "new_indusvx/agent";
 *
 * const registry = new ToolRegistry();
 * const { pool, toolCount } = await initializeMCP(registry, process.cwd());
 *
 * console.log(`Connected to ${pool.getAllClients().length} servers with ${toolCount} tools`);
 * ```
 */
export declare function initializeMCP(registry: import("../bot/actions/registry.js").ToolRegistry, cwd?: string): Promise<{
    pool: MCPClientPool;
    toolCount: number;
}>;
