/** * ServiceContainer - Dependency Injection Container * * Features: * - Singleton service management * - Lazy initialization * - Type-safe service resolution * - Lifecycle management */ import { ConfigService } from '../services/ConfigService'; import { LoggerService } from '../services/LoggerService'; import { ValidationService } from '../services/ValidationService'; import { CacheService } from '../services/CacheService'; import { RetryService } from '../services/RetryService'; import { SSHService } from '../services/SSHService'; import { DatabaseService } from '../services/DatabaseService'; import { CommandService } from '../services/CommandService'; import { FileSystemService } from '../services/FileSystemService'; import { VersionCheckService } from '../services/VersionCheckService'; import { DatabaseStreamService } from '../services/DatabaseStreamService'; /** * Service container for dependency injection */ export declare class ServiceContainer { private static instance; private services; private initialized; private constructor(); static getInstance(): ServiceContainer; /** * Initialize all core services */ initialize(): Promise; /** * Get service by name */ private getService; /** * Get logger service */ getLogger(): LoggerService; /** * Get config service */ getConfig(): ConfigService; /** * Get validation service */ getValidation(): ValidationService; /** * Get cache service */ getCache(): CacheService; /** * Get retry service */ getRetry(): RetryService; /** * Get SSH service */ getSSH(): SSHService; /** * Get database service */ getDatabase(): DatabaseService; /** * Get database stream service */ getDatabaseStream(): DatabaseStreamService; /** * Get command service */ getCommand(): CommandService; /** * Get filesystem service */ getFileSystem(): FileSystemService; /** * Get version check service */ getVersionCheck(): VersionCheckService; /** * Cleanup all services (for shutdown) */ cleanup(): Promise; /** * Map service class name to service key */ private getServiceKey; /** * Check if container is initialized */ isInitialized(): boolean; /** * Reset container (for testing) */ reset(): void; } //# sourceMappingURL=ServiceContainer.d.ts.map