import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { MemoryCache } from './cache.js';
export interface ServerOptions {
    port?: number;
    apiUrl?: string;
    webhookSecret?: string;
    webhookEndpoint?: string;
    publicUrl?: string;
    enableRateLimiting?: boolean;
    rateLimitRequestsPerMinute?: number;
    enableCache?: boolean;
    cacheTtl?: number;
    enableConnectionManagement?: boolean;
    enableTokenManagement?: boolean;
    enableResourceOptimization?: boolean;
    enableCircuitBreaker?: boolean;
    circuitBreakerFailureThreshold?: number;
    circuitBreakerResetTimeout?: number;
    enableGracefulDegradation?: boolean;
    gracefulDegradationMaxRetries?: number;
    gracefulDegradationInitialDelay?: number;
    connectionPoolSize?: number;
    enableMetrics?: boolean;
    metricsEndpoint?: string;
    metricsPrefix?: string;
    collectDefaultMetrics?: boolean;
    enableSilentMode?: boolean;
    debugTimeouts?: boolean;
    debugInitialization?: boolean;
    initialRequestTimeout?: number;
    logLevel?: 'error' | 'warn' | 'info' | 'debug' | 'silly';
    apiKey?: string;
}
export declare function createServer(options?: ServerOptions): {
    server: McpServer;
    port: number;
    apiUrl: string;
    webhookEndpoint: string;
    publicUrl: string;
    cache: MemoryCache<any>;
    enableConnectionManagement: boolean;
    enableTokenManagement: boolean;
    enableResourceOptimization: boolean;
    enableCircuitBreaker: boolean;
    circuitBreakerFailureThreshold: number;
    circuitBreakerResetTimeout: number;
    enableGracefulDegradation: boolean;
    gracefulDegradationMaxRetries: number;
    gracefulDegradationInitialDelay: number;
    enableMetrics: boolean;
    metricsEndpoint: string;
    metricsPrefix: string;
    collectDefaultMetrics: boolean;
};
export declare function startServer(options?: ServerOptions): import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>;
export { runStdioServer, validateStdioConfig } from './transports/stdio-transport.js';
export { runHttpServer, createHttpServerConfig, validateHttpConfig } from './transports/http-transport.js';
//# sourceMappingURL=index.d.ts.map