/**
 * MCP Ecosystem - Main Export
 * Universal AI Development Platform with Extensible Plugin Architecture
 * Implementation based on research blueprint
 *
 * Enhanced in Phase 8.39.0 with:
 * - MCPServerBase - Abstract base class for creating MCP servers
 * - Tool Annotations - Enhanced tool hints and metadata
 * - Elicitation Protocol - Interactive tool input during execution
 * - Multi-Server Manager - Load balancing and coordination
 * - Enhanced Tool Discovery - Advanced search and filtering
 */
import type { McpMetadata } from "../types/index.js";
export { mcpLogger } from "../utils/logger.js";
export { createMCPServer, getServerInfo, validateServerTools, validateTool, } from "./factory.js";
export { calculateExpiresAt, createOAuthProviderFromConfig, FileTokenStorage, InMemoryTokenStorage, isTokenExpired, NeuroLinkOAuthProvider, } from "./auth/index.js";
export { DEFAULT_RATE_LIMIT_CONFIG, globalRateLimiterManager, HTTPRateLimiter, RateLimiterManager, } from "./httpRateLimiter.js";
export { DEFAULT_HTTP_RETRY_CONFIG, isRetryableHTTPError, isRetryableStatusCode, withHTTPRetry, } from "./httpRetryHandler.js";
export { CircuitBreakerManager, globalCircuitBreakerManager, MCPCircuitBreaker, CircuitBreakerOpenError, } from "./mcpCircuitBreaker.js";
export { MCPToolRegistry } from "./toolRegistry.js";
export { ExternalServerManager } from "./externalServerManager.js";
export { MCPClientFactory } from "./mcpClientFactory.js";
export { AgentExposureManager, exposeAgentAsTool, exposeAgentsAsTools, exposeWorkflowAsTool, exposeWorkflowsAsTools, globalAgentExposureManager, } from "./agentExposure.js";
export { ElicitationManager, globalElicitationManager, } from "./elicitation/index.js";
export { createConfirmationRequest, createElicitationCancel, createElicitationRequest, createElicitationResponse, createFormRequest, createSelectRequest, createTextInputRequest, ElicitationProtocolAdapter, elicitationResponseToProtocol, globalElicitationProtocol, isElicitationProtocolMessage, protocolMessageToElicitation, } from "./elicitationProtocol.js";
export { EnhancedToolDiscovery } from "./enhancedToolDiscovery.js";
export { getAllWellKnownServers, getWellKnownServer, globalMCPRegistryClient, MCPRegistryClient, } from "./mcpRegistryClient.js";
export { MCPServerBase } from "./mcpServerBase.js";
export { globalMultiServerManager, MultiServerManager, } from "./multiServerManager.js";
export { createJsonResource, createPrompt, createTextResource, ServerCapabilitiesManager, } from "./serverCapabilities.js";
export { createAnnotatedTool, filterToolsByAnnotations, getAnnotationSummary, getToolSafetyLevel, inferAnnotations, isSafeToRetry, mergeAnnotations, requiresConfirmation, validateAnnotations, } from "./toolAnnotations.js";
export { batchConvertToMCP, batchConvertToNeuroLink, createToolFromFunction, mcpProtocolToolToServerTool, mcpToolToNeuroLink, neuroLinkToolToMCP, sanitizeToolName, serverToolToMCPProtocol, TOOL_COMPATIBILITY, validateToolName, } from "./toolConverter.js";
export { confirmationMiddleware, createElicitationContext, createRetryMiddleware, createTimeoutMiddleware, createToolMiddlewareChain, globalToolIntegrationManager, loggingMiddleware, ToolIntegrationManager, validationMiddleware, wrapToolsWithElicitation, wrapToolWithElicitation, } from "./toolIntegration.js";
export { createRequestBatcher, createToolCallBatcher, DEFAULT_BATCH_CONFIG, RequestBatcher, ToolCallBatcher, } from "./batching/index.js";
export { createToolCache, createToolResultCache, DEFAULT_CACHE_CONFIG, ToolCache, ToolResultCache, } from "./caching/index.js";
export { createToolRouter, DEFAULT_ROUTER_CONFIG, ToolRouter, } from "./routing/index.js";
/**
 * Initialize the MCP ecosystem - simplified
 */
export declare function initializeMCPEcosystem(): Promise<void>;
/**
 * List available MCPs - simplified
 */
export declare function listMCPs(): Promise<McpMetadata[]>;
/**
 * Execute an MCP operation - simplified
 */
export declare function executeMCP<T = unknown>(_name: string, _config: unknown, _args: unknown, _context?: {
    sessionId?: string;
    userId?: string;
}): Promise<T>;
/**
 * Get MCP ecosystem statistics - simplified
 */
export declare function getMCPStats(): Promise<{
    initialized: boolean;
    pluginsDiscovered: number;
    pluginsBySource: Record<string, number>;
    availablePlugins: string[];
}>;
