export var OrderHooks = /*#__PURE__*/function (OrderHooks) {
  OrderHooks["OnOrderCreate"] = "order:onOrderCreate";
  OrderHooks["OnOrderUpdate"] = "order:onOrderUpdate";
  OrderHooks["OnOrderCancel"] = "order:onOrderCancel";
  OrderHooks["OnOrderStatusChange"] = "order:onOrderStatusChange";
  OrderHooks["OnOrderCustomerChange"] = "order:onOrderCustomerChange";
  OrderHooks["OnPromotionApplied"] = "order:onPromotionApplied";
  return OrderHooks;
}({});

/**
 * 促销评估器协议（OS 与 PromotionEvaluator 之间的桥接接口）。
 *
 * 与 `pisell_os/src/model/strategy/adapter/promotion/evaluator.ts` 中的
 * `PromotionEvaluator` 实例结构保持兼容。SalesSdkProvider 会从 `appHelper.utils.promotionEvaluator`
 * 读取实例并通过 `setPromotionEvaluator` 注入到 OrderModule。
 *
 * 这里只声明 OrderModule 需要调用的子集，避免反向依赖具体 evaluator 实现。
 */

/** 赠品解析回调 context（OS → SDK 的请求体） */

/**
 * 赠品解析回调签名（SDK → OS 的返回值）。
 *
 * - 单选项：SDK 内部自动构造商品，不弹窗
 * - 多选项：SDK 弹窗等用户确认后构造
 * - 用户取消：抛错或返回空数组（OS 视为放弃本次添加）
 *
 * 返回的 OrderProduct 必须是完整的购物车行（含 metadata._giftInfo 标记），OS 会直接 push 入 tempOrder.products。
 */

/** 未满足的促销策略（购物车底部 alert 渲染源） */

/** 上一次 applyPromotion 计算出的赠品操作（仅供调试/读取使用） */

/** onPromotionApplied 事件 payload */

/**
 * tempOrder 上的下单客户协议字段视图。
 * 这些字段会随订单提交到后端。
 *
 * customer_id 与 OrderTempOrder.customer_id 保持一致（number | null），
 * 调用方若持有 string id（如 ICustomer.id 联合类型），需自行 Number() 转型。
 */

/**
 * 写入下单客户的协议字段输入。
 * `customer_id` 必传（null 表示无客户）；其余字段缺省视为「清空」（全量覆盖语义）。
 */

/**
 * 下单客户变更事件 payload。
 * - `patch`：tempOrder 上的协议字段视图（会随订单提交）
 * - `snapshot`：UI 富字段快照（仅本地，不随订单提交）
 * 清空时整个 payload 为 null。
 */

/** 更新购物车行：仅传 SKU 时命中同 SKU 第一行；多行同 SKU 须传 unique_identification_number / 选项指纹等 */

/** 仅更新购物车行数量；行定位语义与 updateOrderProduct / removeProductFromOrder 保持一致 */

/**
 * 订单信息
 */

/**
 * 支付项数据
 */

/**
 * Checkout 专用订单创建参数
 */

/**
 * 取消订单参数
 */

/**
 * 变更预约状态参数
 */

/**
 * 订单模块 API
 */