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<Array<Partial<ScanOrderOrderProduct>> | SalesSdkGiftSelectResult | null>;
/**
 * 购物车重选赠品：移除同一主商品 + 策略下的旧赠品行，写入新选择并触发促销重算。
 *
 * @example
 * await replaceStrategyGiftsForMainItem(bookingTicket, mainItem, choices);
 */
export declare function replaceStrategyGiftsForMainItem(bookingTicket: BookingTicketHandle, mainItem: ScanOrderOrderProduct & {
    giftData?: any;
}, choices: SalesSdkGiftSelectChoice[]): Promise<void>;
export {};
