import { ToolIntegrator } from '../tool-integrator'; import { MetricsCalculator } from '../metrics-calculator'; import { VerificationMemory } from '../verification-memory'; import { IVerificationService } from './verification-service.interface'; import { SimilarityEngine } from '../similarity-engine'; type ServiceRegistry = { toolIntegrator: ToolIntegrator; metricsCalculator: MetricsCalculator; similarityEngine: SimilarityEngine; verificationMemory: VerificationMemory; verificationService: IVerificationService; }; /** * Conteneur de services pour l'injection de dependances. * * Note: l'API singleton est conservee pour compatibilite, mais les enregistrements * sont desormais fortement types. */ export declare class ServiceContainer { private static instance; private readonly services; private constructor(); static getInstance(): ServiceContainer; initializeServices(toolIntegrator: ToolIntegrator, metricsCalculator: MetricsCalculator, similarityEngine: SimilarityEngine): void; getService(serviceName: K): ServiceRegistry[K] | null; getVerificationService(): IVerificationService; registerService(serviceName: string, serviceInstance: unknown): void; hasService(serviceName: keyof ServiceRegistry | string): boolean; static resetInstance(): void; listServices(): string[]; } export {};