import type { BookingTicketHandle, ScanOrderTempOrder, SalesSdkUIHosts, UpdateOrderProductParams } from '../types'; import type { SalesSdkHolderOption } from './formatHolderOptions'; import type { UnassignedHolderLine } from './holderSubmitValidation'; export interface AssignHolderToCartLineParams { line: UnassignedHolderLine; bookingTicket: BookingTicketHandle; tempOrder: ScanOrderTempOrder | null; /** 与 editCartLineBooking 一致,走 CartProvider 刷新快照 */ updateItem?: (params: UpdateOrderProductParams) => Promise; /** 实例级 Holder Host;未传时无法打开选择弹窗 */ openHolderSelect?: NonNullable; /** 当前 Holder 字典,用于把 holder_id 转为主字段 name */ holderOptions?: SalesSdkHolderOption[]; /** 写回 OS 后刷新 SDK 快照 */ onMutate?: () => void; } /** * 为已加车预约行分配 holder:打开 Holder Host → transform → updateOrderProduct。 * * @example * await assignHolderToCartLine({ line, bookingTicket, tempOrder, updateItem: cart.updateItem }); */ export declare function assignHolderToCartLine(params: AssignHolderToCartLineParams): Promise; /** * 包装 assignHolderToCartLine,捕获写回失败并提示。 * * @example * await assignHolderToCartLineWithFeedback({ line, bookingTicket, tempOrder, updateItem }); */ export declare function assignHolderToCartLineWithFeedback(params: AssignHolderToCartLineParams): Promise;