import type { SalesSdkHolderOption } from './formatHolderOptions'; export interface ApplyHolderToCacheItemOptions { bookingConfig?: Record | null; customerId?: number | string | null; isFranchisee?: boolean; holderOptions?: SalesSdkHolderOption[]; productSource?: unknown; } /** * 将 Holder 选择值归一为老 ticketBooking `form_record` 需要的数组。 * * @example * const ids = normalizeSelectedHolderIds(12); */ export declare function normalizeSelectedHolderIds(holderIds: unknown): Array; /** * 读取老 ticketBooking holder 协议所需的 form_id。 * * @example * const formId = resolveHolderFormId(bookingConfig); */ export declare function resolveHolderFormId(bookingConfig?: Record | null, productSource?: unknown): number | string; /** * 按 holder id 顺序从 Holder 字典中解析主字段展示名。 * * @example * const name = resolveHolderName([1, 2], [{ id: 1, label: 'Tom' }, { id: 2, label: 'Jerry' }]); */ export declare function resolveHolderName(holderIds: unknown, holderOptions?: SalesSdkHolderOption[]): string | undefined; /** * 按老 ticketBooking `formatHolders` 生成单个 booking 的 holder。 * * @example * const holder = buildBookingHolder([12], { bookingConfig, customerId: 8 }); */ export declare function buildBookingHolder(holderIds: unknown, options?: ApplyHolderToCacheItemOptions): Record; /** * 将 Holder 选择结果写入 cacheItem._extend.holder_id / holder。 * * @example * const next = applyHolderToCacheItem(cacheItem, [12], { bookingConfig, customerId: 8 }); */ export declare function applyHolderToCacheItem(cacheItem: any, holderIds: unknown, options?: ApplyHolderToCacheItemOptions): any;