export type ServiceLifecycle = 'singleton' | 'transient' | 'scoped'; export type ServiceFactory = (container: DIContainer) => T | Promise; export interface ServiceRegistration { factory: ServiceFactory; lifecycle: ServiceLifecycle; instance?: T; dependencies?: string[]; } export type ServiceToken = string & { readonly __serviceType?: T; }; export declare class DIContainer { private services; private resolving; private scopedInstances; register(token: ServiceToken | string, factory: ServiceFactory, lifecycle?: ServiceLifecycle, dependencies?: string[]): void; singleton(token: ServiceToken | string, factory: ServiceFactory, dependencies?: string[]): void; transient(token: ServiceToken | string, factory: ServiceFactory, dependencies?: string[]): void; scoped(token: ServiceToken | string, factory: ServiceFactory, dependencies?: string[]): void; resolve(token: ServiceToken | string): Promise; resolveSync(token: ServiceToken | string): T; private resolveInternalSync; private resolveInternal; isRegistered(token: ServiceToken | string): boolean; getRegisteredServices(): string[]; clearScoped(): void; dispose(): void; validateDependencyGraph(): void; getDependencyGraph(): string; } export declare function createServiceToken(name: string): ServiceToken; export declare function getContainer(): DIContainer; export declare function setContainer(container: DIContainer): void; export declare function resetContainer(): void; export declare const ServiceTokens: { readonly StorageManager: ServiceToken; readonly ConfigLoader: ServiceToken; readonly IdGenerator: ServiceToken; readonly TaskOperations: ServiceToken; readonly ProjectOperations: ServiceToken; readonly DependencyOperations: ServiceToken; readonly DecompositionService: ServiceToken; readonly EpicService: ServiceToken; readonly AgentOrchestrator: ServiceToken; readonly RDDEngine: ServiceToken; readonly ContextEnrichmentService: ServiceToken; readonly DependencyValidator: ServiceToken; readonly FileUtils: ServiceToken; readonly TaskFileManager: ServiceToken; readonly AtomicDetector: ServiceToken; readonly UnifiedLifecycleManager: ServiceToken; readonly UnifiedTaskExecutionEngine: ServiceToken; readonly UnifiedStorageEngine: ServiceToken; readonly UnifiedSecurityEngine: ServiceToken; readonly UnifiedOrchestrationEngine: ServiceToken; }; //# sourceMappingURL=di-container.d.ts.map