/** * Federation Module - Unified exports for DuckDB MCP Federation * * Provides federated query execution across multiple MCP servers * using the mcp:// protocol for transparent data access. */ import { DuckDBService } from '../duckdb/service.js'; import { QueryRouter } from './QueryRouter.js'; import type { QueryPlan } from './QueryRouter.js'; export { QueryRouter } from './QueryRouter.js'; export { ResourceRegistry } from './ResourceRegistry.js'; export { MCPConnectionPool, MCPConnectionPool as ConnectionPool } from './ConnectionPool.js'; export type { QueryPlan, QueryResult } from './QueryRouter.js'; export type { FederatedResource } from './ResourceRegistry.js'; export type { ConnectionPoolConfig, PooledConnection } from './ConnectionPool.js'; /** * Configuration for the federation system */ export interface FederationConfig { /** DuckDB service instance */ duckdb?: DuckDBService; /** Connection timeout in milliseconds */ connectionTimeout?: number; /** Whether to enable query caching */ enableCache?: boolean; /** Cache TTL in milliseconds */ cacheTTL?: number; } /** * Federation manager that coordinates all components */ export declare class FederationManager { private router; private registry; private connectionPool; private duckdb; private servers; constructor(config?: FederationConfig); /** * Execute a federated query * Alias for router.executeQuery with better naming */ federateQuery(sql: string): Promise; /** * Register an MCP server for federation */ registerServer(alias: string, connectionString: string, metadata?: Record): Promise; /** * List all registered servers */ listServers(): Array<{ alias: string; connectionString: string; status: string; }>; /** * Analyze a query without executing it */ analyzeQuery(sql: string): QueryPlan; /** * Explain how a query will be executed */ explainQuery(sql: string): string; /** * Get federation statistics */ getStats(): Record; /** * Cleanup resources */ cleanup(): Promise; } /** * Create a pre-configured federation router */ export declare function createFederationRouter(duckdb?: DuckDBService, config?: Partial): QueryRouter; /** * Quick helper to execute federated queries */ export declare function federateQuery(sql: string, duckdb?: DuckDBService): Promise; //# sourceMappingURL=index.d.ts.map