// Export all dependency injection components
export * from './operation-context';
export * from './pool-size-calculator';
export * from './types';

// Legacy exports for backward compatibility
export {
  createServiceContainer,
  createServiceContainerFromConfig,
  initializeServices,
  type AppConfig,
  type ServiceCradle,
  type ServiceContainer,
  type ServiceContainerOptions,
} from './awilix-container';

// New modular structure exports
export * from './container/types';
export { ServiceContainerBuilder } from './container/builder';
export { 
  createServiceContainerAsync,
  createServiceContainer as createServiceContainerNew,
  createServiceContainerFromConfig as createServiceContainerFromConfigNew
} from './container/factory';

// Configuration exports
export * from './config/schemas';

// Factory exports
export * from './factories';

// Utility exports
export { ServiceLifecycleManager } from './utils/lifecycle';

// Service application framework
export {
  ServiceApplication,
  type ServiceApplicationConfig,
  type ServiceLifecycleHooks,
} from './service-application';
