/**
 * Dependency Injection Container
 *
 * Configures tsyringe DI container with all application dependencies.
 * Registers repository implementations, use cases, and services.
 *
 * Usage:
 * ```typescript
 * import { container } from './infrastructure/di/container.js';
 * const useCase = container.resolve(InitializeSettingsUseCase);
 * ```
 */
import 'reflect-metadata';
import { container } from 'tsyringe';
/**
 * Initialize the DI container with all dependencies.
 * Must be called before resolving any dependencies.
 * Safe to call multiple times — returns existing container if already initialized.
 *
 * @returns Configured container instance
 */
export declare function initializeContainer(): Promise<typeof container>;
/**
 * Check whether the DI container has been initialized.
 * Useful for diagnostics and conditional initialization in instrumentation.ts.
 */
export declare function isContainerInitialized(): boolean;
/**
 * Get the configured container instance.
 * Container must be initialized first via initializeContainer().
 */
export { container };
//# sourceMappingURL=container.d.ts.map