var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/solution/BookingTicket/types.ts
var types_exports = {};
__export(types_exports, {
  BookingTicketHooks: () => BookingTicketHooks,
  createBookingTicketModule: () => createBookingTicketModule
});
module.exports = __toCommonJS(types_exports);
var import_modules = require("../../modules");
var import_BookingContext = require("../../modules/BookingContext");
var import_Customer = require("../../modules/Customer");
var import_SalesSummary = require("../../modules/SalesSummary");
var import_Schedule = require("../../modules/Schedule");
function createBookingTicketModule(moduleName, solutionName, name, version) {
  switch (moduleName) {
    case "products":
      return new import_modules.ProductList(
        `${solutionName}_${name || moduleName}`,
        version
      );
    case "order":
      return new import_modules.OrderModule(
        `${solutionName}_${name || moduleName}`,
        version
      );
    case "salesSummary":
      return new import_SalesSummary.SalesSummaryModule(
        `${solutionName}_${name || moduleName}`,
        version
      );
    case "schedule":
      return new import_Schedule.ScheduleModule(
        `${solutionName}_${name || moduleName}`,
        version
      );
    case "customer":
      return new import_Customer.CustomerModule(
        `${solutionName}_${name || moduleName}`,
        version
      );
    case "bookingContext":
      return new import_BookingContext.BookingContextModule(
        `${solutionName}_${name || moduleName}`,
        version
      );
    default:
      return null;
  }
}
var BookingTicketHooks = /* @__PURE__ */ ((BookingTicketHooks2) => {
  BookingTicketHooks2["onInited"] = "bookingTicket:onInited";
  BookingTicketHooks2["onDestroy"] = "bookingTicket:onDestroy";
  BookingTicketHooks2["onProductsLoaded"] = "bookingTicket:onProductsLoaded";
  BookingTicketHooks2["onCustomerSelected"] = "bookingTicket:onCustomerSelected";
  BookingTicketHooks2["onCustomerListUpdate"] = "bookingTicket:onCustomerListUpdate";
  BookingTicketHooks2["onCustomerListReset"] = "bookingTicket:onCustomerListReset";
  return BookingTicketHooks2;
})(BookingTicketHooks || {});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
  BookingTicketHooks,
  createBookingTicketModule
});
