import type { SalesSdkCartBookingView } from '../types'; import { formatHolderOptions, type SalesSdkHolderOption } from './formatHolderOptions'; export interface HolderDisplayConfig { isFormSubject: boolean; holderType: string; } /** * 从 bookingConfig 解析 Holder 展示相关开关(整单单一 config)。 * * @example * resolveHolderDisplayConfig(bookingTicket.getBookingConfig()); */ export declare function resolveHolderDisplayConfig(bookingConfig: Record | null | undefined): HolderDisplayConfig; /** * 从 booking 行归一化 holder_id(与 LineItem Holders 读取路径一致)。 * * @example * pickHolderIdFromBooking({ metadata: { holder_id: 12 } }); // => 12 */ export declare function pickHolderIdFromBooking(booking: Record): unknown; /** * 为购物车 booking 行附加 Holder 展示字段(仅 UI,不写 OS)。 * * @example * enrichCartBookingHolderDisplay(booking, { * holderOptions: [{ id: 1, label: 'Max' }], * displayConfig: { isFormSubject: true, holderType: 'minors' }, * }); */ export declare function enrichCartBookingHolderDisplay(booking: SalesSdkCartBookingView, ctx: { holderOptions: SalesSdkHolderOption[]; displayConfig: HolderDisplayConfig; }): SalesSdkCartBookingView; /** * 构建 getPetsData 请求参数(与 useBookingEditPetState 对齐)。 * * @example * buildHolderListRequestParams({ bookingConfig, customerId: 12 }); */ export declare function buildHolderListRequestParams(input: { bookingConfig: Record | null | undefined; customerId?: number | string | null; }): Record | null; export { formatHolderOptions };