import React from 'react'; import { resolveHolderDisplayConfig } from '../utils/enrichCartLineHolderDisplay'; import { type SalesSdkHolderOption } from '../utils/formatHolderOptions'; export interface SalesSdkHolderContextValue { holderOptions: SalesSdkHolderOption[]; loading: boolean; displayConfig: ReturnType; holderOptionsRequestKey: string | null; getHolderOptionsForSource: (source?: unknown) => SalesSdkHolderOption[]; getHolderOptionsRequestKeyForSource: (source?: unknown) => string | null; ensureHolderOptionsForSource: (source?: unknown) => Promise; reload: () => void; /** 将新建/更新的 Holder 乐观合并进购物车展示字典 */ upsertHolderOptions: (rawHolders: any[], source?: unknown) => void; } export declare const SalesSdkHolderContext: React.Context; /** * 按当前 customer + bookingConfig 拉取可选 Holder 列表,供 Cart 展示 enrich 使用。 */ export declare const SalesSdkHolderProvider: React.FC<{ children: React.ReactNode; }>; /** * 读取 SDK 级 Holder 字典(须在 SalesSdkHolderProvider 内调用)。 */ export declare function useSalesSdkHolder(): SalesSdkHolderContextValue; /** * CartProvider 内部使用:Provider 未挂载时返回空字典,避免硬依赖。 */ export declare function useSalesSdkHolderOptional(): SalesSdkHolderContextValue;