import { asFunction, asValue } from "awilix";
import { GatewayTransaction, WebhookProcessedEvent } from "./data/entities.js";
import { createPaymentGatewayDescriptorService } from "./lib/descriptor-service.js";
import { createPaymentGatewayService } from "./lib/gateway-service.js";
function register(container) {
  container.register({
    paymentGatewayService: asFunction(
      ({ em, integrationCredentialsService, integrationLogService, integrationStateService }) => createPaymentGatewayService({ em, integrationCredentialsService, integrationLogService, integrationStateService })
    ).scoped().proxy(),
    paymentGatewayDescriptorService: asFunction(
      ({ integrationCredentialsService, integrationStateService }) => createPaymentGatewayDescriptorService({ integrationCredentialsService, integrationStateService })
    ).scoped().proxy(),
    GatewayTransaction: asValue(GatewayTransaction),
    WebhookProcessedEvent: asValue(WebhookProcessedEvent)
  });
}
export {
  register
};
//# sourceMappingURL=di.js.map
