import type { BookingTicketHandle, ScanOrderOrderProduct, SalesSdkGiftSelectChoice, SalesSdkGiftSelectContext, SalesSdkGiftSelectResult, SalesSdkUIHosts } from '../types'; import type { GiftSelectBridge } from './createGiftSelectBridge'; interface CreateOpenGiftSelectHostOptions { getUiHosts?: () => SalesSdkUIHosts | null | undefined; } /** * 创建 giftSelectResolver:注入到 OrderModule 的 setGiftSelectResolver。 * * 行为: * - 单选普通赠品:自动构造赠品行,不弹窗 * - 单选预约赠品:复用 sale 加车决策链,autoClose 时直加,否则弹资源编辑 * - 多选项 / 购物车重选(mode=edit):通过 bridge 打开 legacy 赠品弹窗 * - 用户取消:返回 null * * @example * const resolver = createOpenGiftSelectHost(bridge, () => bookingTicket); * bookingTicket.setGiftSelectResolver(resolver); */ export declare function createOpenGiftSelectHost(bridge: GiftSelectBridge, getBookingTicket: () => BookingTicketHandle | null, options?: CreateOpenGiftSelectHostOptions): (ctx: SalesSdkGiftSelectContext) => Promise> | SalesSdkGiftSelectResult | null>; /** * 购物车重选赠品:移除同一主商品 + 策略下的旧赠品行,写入新选择并触发促销重算。 * * @example * await replaceStrategyGiftsForMainItem(bookingTicket, mainItem, choices); */ export declare function replaceStrategyGiftsForMainItem(bookingTicket: BookingTicketHandle, mainItem: ScanOrderOrderProduct & { giftData?: any; }, choices: SalesSdkGiftSelectChoice[]): Promise; export {};