import { ProductList, OrderModule } from "../../modules";
import { BookingContextModule } from "../../modules/BookingContext";
import { CustomerModule } from "../../modules/Customer";
import { SalesSummaryModule } from "../../modules/SalesSummary";
import { ScheduleModule } from "../../modules/Schedule";

/**
 * BookingTicket 子模块清单：在 BaseSales 自带的 products/order/salesSummary/schedule 之上
 * 追加业务向的 customer 模块；不再注册 cart/accountList（无外部消费）。
 */

export function createBookingTicketModule(moduleName, solutionName, name, version) {
  switch (moduleName) {
    case 'products':
      return new ProductList("".concat(solutionName, "_").concat(name || moduleName), version);
    case 'order':
      return new OrderModule("".concat(solutionName, "_").concat(name || moduleName), version);
    case 'salesSummary':
      return new SalesSummaryModule("".concat(solutionName, "_").concat(name || moduleName), version);
    case 'schedule':
      return new ScheduleModule("".concat(solutionName, "_").concat(name || moduleName), version);
    case 'customer':
      return new CustomerModule("".concat(solutionName, "_").concat(name || moduleName), version);
    case 'bookingContext':
      return new BookingContextModule("".concat(solutionName, "_").concat(name || moduleName), version);
    default:
      return null;
  }
}
export var BookingTicketHooks = /*#__PURE__*/function (BookingTicketHooks) {
  BookingTicketHooks["onInited"] = "bookingTicket:onInited";
  BookingTicketHooks["onDestroy"] = "bookingTicket:onDestroy";
  BookingTicketHooks["onProductsLoaded"] = "bookingTicket:onProductsLoaded";
  BookingTicketHooks["onCustomerSelected"] = "bookingTicket:onCustomerSelected";
  BookingTicketHooks["onCustomerListUpdate"] = "bookingTicket:onCustomerListUpdate";
  BookingTicketHooks["onCustomerListReset"] = "bookingTicket:onCustomerListReset";
  return BookingTicketHooks;
}({});

/**
 * 获取客户列表的参数
 */

/**
 * 客户信息
 */

/**
 * 加载商品列表的参数
 */

/**
 * 加载商品详情的参数
 */

/**
 * 扫描结果
 */

/**
 * BookingTicket 面向 UI 的购物车商品行视图。
 *
 * 直接透传 tempOrder.products 协议行，不做 Solution 层 enrichment。
 */

/**
 * BookingTicket 面向 UI 的 booking 行视图（平铺，附带关联商品）。
 */

/**
 * BookingTicket 面向 UI 的购物车视图。
 */

/**
 * BookingTicket 面向 UI 的客户展示视图。
 */

/**
 * BookingTicket 当前已加载的商品池视图。
 */