import { Module, forwardRef, Inject, Optional } from "@nestjs/common";
import { FreebitOrchestratorService } from "./services/freebit-orchestrator.service";
import { FreebitMapperService } from "./services/freebit-mapper.service";
import { FreebitOperationsService } from "./services/freebit-operations.service";
import { FreebitClientService } from "./services/freebit-client.service";
import { FreebitAuthService } from "./services/freebit-auth.service";

@Module({
  imports: [
    forwardRef(() => {
      const { SimManagementModule } = require("../../modules/subscriptions/sim-management/sim-management.module");
      return SimManagementModule;
    }),
  ],
  providers: [
    // Core services
    FreebitClientService,
    FreebitAuthService,
    FreebitMapperService,
    FreebitOperationsService,
    FreebitOrchestratorService,
  ],
  exports: [
    // Export orchestrator in case other services need direct access
    FreebitOrchestratorService,
  ],
})
export class FreebitModule {}
