export declare enum ServicePriority { CRITICAL = 0, HIGH = 1, MEDIUM = 2, LOW = 3 } export interface ServiceDefinition { name: string; priority: ServicePriority; dependencies: string[]; initFunction: () => Promise; lazy: boolean; preload: boolean; } export interface ConnectionPoolConfig { maxConnections: number; minConnections: number; acquireTimeout: number; idleTimeout: number; maxRetries: number; } export interface PoolConnection { id: number; type: 'http' | 'websocket'; created: Date; lastUsed: Date; isActive: boolean; } export interface ConnectionPool { config: ConnectionPoolConfig; connections: Map; available: PoolConnection[]; busy: Set; acquire(): Promise; release(connection: PoolConnection): Promise; } export interface StartupMetrics { totalStartupTime: number; configLoadTime: number; serviceInitTime: number; connectionPoolTime: number; servicesLoaded: number; servicesLazy: number; memoryUsage: number; targetMet: boolean; } export declare class StartupOptimizer { private static instance; private services; private initializedServices; private connectionPools; private performanceConfig; private startupMetrics; private startTime; private constructor(); static getInstance(): StartupOptimizer; private registerCoreServices; registerService(service: ServiceDefinition): void; private initializeConnectionPools; optimizeStartup(): Promise; private getServicesByPriority; private getPreloadServices; private getLazyServices; private initializeServicesInParallel; private initializeService; getConnectionPool(type: string): ConnectionPool | undefined; getStartupMetrics(): StartupMetrics | null; isServiceInitialized(serviceName: string): boolean; lazyLoadService(serviceName: string): Promise; } //# sourceMappingURL=startup-optimizer.d.ts.map