/**
 * Universal Service Container for Handlers
 * Simple, comprehensive container with all services available
 */

/**
 * Universal service container with all common services
 * Designed to work across different service contexts (data-ingestion, processing, etc.)
 */
export interface IServiceContainer {
  // Core infrastructure
  readonly logger: any; // Logger instance
  readonly cache?: any; // Cache provider (Redis/Dragonfly) - optional
  readonly globalCache?: any; // Global cache provider (shared across services) - optional
  readonly queue?: any; // Queue manager (BullMQ) - optional
  readonly proxy?: any; // Proxy manager service - optional (depends on cache)
  readonly browser?: any; // Browser automation (Playwright)

  // Database clients - all optional to support selective enabling
  readonly mongodb?: any; // MongoDB client
  readonly postgres?: any; // PostgreSQL client
  readonly questdb?: any; // QuestDB client (time-series)

  // Optional extensions for future use
  readonly custom?: Record<string, any>;
}