import { ICameraService } from './interfaces/ICameraService'; import { IDetectionService } from './interfaces/IDetectionService'; import { IStateManager } from './interfaces/IStateManager'; import { IEventBus } from './interfaces/IEventBus'; import { ITracingService } from './interfaces/ITracingService'; import { IMetricsService } from './interfaces/IMetricsService'; export interface ComponentConfig { debug: boolean; alignmentTolerance: number; maskSize: number; cropMargin: number; useDocumentClassification: boolean; useDocumentDetector: boolean; preferredCamera: 'auto' | 'front' | 'back'; captureDelay: number; telemetryCollectorUrl?: string; metricsCollectorUrl?: string; enableTelemetry?: boolean; enableMetrics?: boolean; customerId?: string; tenantId?: string; environment?: string; propagateTraceHeaderCorsUrls?: (string | RegExp)[]; metricsExportIntervalMillis?: number; } export declare class ServiceContainer { private services; private cleanedUp; constructor(config: ComponentConfig); private initializeServices; get(serviceName: string): T; getEventBus(): IEventBus; getStateManager(): IStateManager; getCameraService(): ICameraService; getDetectionService(): IDetectionService; getTracingService(): ITracingService | null; getMetricsService(): IMetricsService | null; updateConfig(config: Partial): void; cleanup(): Promise; }