/** * Service Registry for Dependency Injection * Breaks circular dependencies by providing lazy loading and centralized service management */ import type { ServiceFactory } from "../types/index.js"; export declare class ServiceRegistry { private static services; private static initializing; /** * Register a service with optional singleton behavior */ static register(name: string, factory: ServiceFactory, options?: { singleton?: boolean; }): void; /** * Get a service instance with circular dependency detection */ static get(name: string): Promise; /** * Get a service synchronously (throws if async initialization required) */ static getSync(name: string): T; /** * Check if a service is registered */ static has(name: string): boolean; /** * Clear all services (useful for testing) */ static clear(): void; /** * Get all registered service names */ static getRegisteredServices(): string[]; /** * Register multiple services at once */ static registerBatch(services: Record): void; } export declare const serviceRegistry: typeof ServiceRegistry;