/** * Service Registration Module (D-006) * * Registers core services with the DI container. * This module provides: * - Default service registrations for the application * - Test-friendly registration with mock injection points * - Backward compatibility with existing module exports */ import { ServiceContainer } from './service-container.js'; import { RateLimiter } from './rate-limiter.js'; import { ResponseCache, ContentCache } from './cache.js'; import { HttpClient } from './http-client.js'; /** * Options for registering services */ export interface ServiceRegistrationOptions { /** Skip registering services that are already registered */ skipExisting?: boolean; /** Custom container to register services in (defaults to global) */ container?: ServiceContainer; } /** * Register core utility services with the container. * * These are lightweight services that don't have heavy dependencies. */ export declare function registerCoreServices(options?: ServiceRegistrationOptions): void; /** * Register all application services. * * This is the main entry point for bootstrapping the application. * Call this early in application startup. */ export declare function registerAllServices(options?: ServiceRegistrationOptions): void; /** * Get the rate limiter service from the container. * Falls back to creating a new instance if not registered. */ export declare function getRateLimiterService(container?: ServiceContainer): RateLimiter; /** * Get the page cache service from the container. * Falls back to creating a new instance if not registered. */ export declare function getPageCacheService(container?: ServiceContainer): ContentCache; /** * Get the API cache service from the container. * Falls back to creating a new instance if not registered. */ export declare function getApiCacheService(container?: ServiceContainer): ResponseCache; /** * Get the HTTP client service from the container. * Falls back to creating a new instance if not registered. */ export declare function getHttpClientService(container?: ServiceContainer): HttpClient; /** * Clear all caches registered in the container. * Useful for testing or resetting state. */ export declare function clearAllCaches(container?: ServiceContainer): void; /** * Get statistics for all registered services. */ export declare function getServiceStats(container?: ServiceContainer): Record; //# sourceMappingURL=service-registration.d.ts.map