import { ResolveSelectionFlowSteps, SelectionFlowStepConfig } from "./types.js"; //#region src/pro/skuDetailModal/flow/presets.d.ts /** 普通商品只展示其真实存在的规格与称重能力。 */ declare const resolveNormalProductSelectionFlowSteps: ResolveSelectionFlowSteps; /** 用户端:每项选择能力独立成一步。 */ declare const customerSteps: readonly SelectionFlowStepConfig[]; /** POS:先完成日期与 SKU,再合并其余预约模块。 */ declare const posSteps: readonly SelectionFlowStepConfig[]; /** * 统一预约交互:先选 SKU,再在同一步联动日期与时间, * 最后分别选择资源和 Holder。Kiosk 与 POS 预约模板共享这一组步骤。 * * 注意:步骤数组只控制“哪些模块需要展示”,不负责提供预约日期。 * 即使某类商品最终不展示 Date module,Time module 查询 UBS 时仍然需要一个日期; * 该日期应由当前销售页业务日期(新增)或购物车预约行的 start_date(编辑) * 预先写入 Flow Draft,不能因为界面隐藏日期就把日期上下文一起删除。 */ declare const bookingSelectionFlowSteps: readonly SelectionFlowStepConfig[]; /** * POS 默认商品级策略:普通 SKU 只选规格,预约商品使用 POS 两组流程。 * 无 SKU 普通商品以及跨日预约类型明确回到原有流程。 */ declare const resolvePosSelectionFlowSteps: ResolveSelectionFlowSteps; /** * 统一商品 Flow:预约商品使用预约步骤;需要用户选择的普通商品使用规格/称重步骤。 * * `duration`、`schedules` 或 `schedule.ids` 任一存在时,才视为预约商品; * Session 与普通单日预约使用同一套 UBS Flow;跨日商品仍沿用日期区间链路。 * * Resolver 的返回值约定: * - 返回步骤数组:SkuDetailModal 编译并展示新 Flow; * - 返回 null:当前商品不由这个 Resolver 接管,继续调用方原有链路。 * * Session 商品的旧交互只让用户选择 Session Time,日期来自当前销售页业务上下文。 * 如果后续将 Session 拆成不含 Date module 的独立步骤,必须保留 Host 注入的初始日期, * 否则时间模块无法按日调用 getProductTimeRanges,也无法生成最终预约 start_date。 */ declare const resolveProductSelectionFlowSteps: ResolveSelectionFlowSteps; /** Kiosk 与 POS 商品选择共同使用的业务分流。 */ declare const resolveUnifiedProductSelectionFlowSteps: ResolveSelectionFlowSteps; /** @deprecated 使用覆盖普通商品与预约商品的 resolveProductSelectionFlowSteps。 */ declare const resolveBookingSelectionFlowSteps: ResolveSelectionFlowSteps; /** * @deprecated 使用与销售端无关的 resolveProductSelectionFlowSteps。 * 保留别名,避免已有 Kiosk 调用方升级物料后立即失效。 */ declare const resolveKioskBookingSelectionFlowSteps: ResolveSelectionFlowSteps; declare const selectionFlowPresets: { readonly customer: readonly SelectionFlowStepConfig[]; readonly pos: readonly SelectionFlowStepConfig[]; }; type SelectionFlowPresetName = keyof typeof selectionFlowPresets; //#endregion export { SelectionFlowPresetName, bookingSelectionFlowSteps, customerSteps, posSteps, resolveBookingSelectionFlowSteps, resolveKioskBookingSelectionFlowSteps, resolveNormalProductSelectionFlowSteps, resolvePosSelectionFlowSteps, resolveProductSelectionFlowSteps, resolveUnifiedProductSelectionFlowSteps, selectionFlowPresets };