import React from 'react';
import { type InstanceHostBridge } from '../hosts/createInstanceHostBridge';
import type { BookingEditHostPayload } from '../bookingEditService/types';
import { type HolderConfirmBridge } from '../holderConfirm/createHolderConfirmBridge';
import { type GiftSelectBridge } from '../giftSelect/createGiftSelectBridge';
import type { NormalProductDetailHostPayload, NormalProductDetailHostResult } from '../normalProductDetail/types';
import type { SalesSdkMultiDaySelectResult, SalesSdkOpenHolderSelectPayload, SalesSdkOpenMultiDaySelectPayload } from '../types';
/** 单个 SalesSdkProvider 实例持有的全部 Host bridge */
export interface SalesSdkHostBridges {
    normalProductDetail: InstanceHostBridge<NormalProductDetailHostPayload, NormalProductDetailHostResult>;
    bookingEdit: InstanceHostBridge<BookingEditHostPayload, any | null>;
    multiDay: InstanceHostBridge<SalesSdkOpenMultiDaySelectPayload, SalesSdkMultiDaySelectResult | null>;
    holder: InstanceHostBridge<SalesSdkOpenHolderSelectPayload, number[] | null>;
    holderConfirm: HolderConfirmBridge;
    giftSelect: GiftSelectBridge;
}
/**
 * 为 SalesSdkProvider 创建一套实例级 Host bridge。
 *
 * @example
 * const bridgesRef = useRef(createSalesSdkHostBridges());
 */
export declare function createSalesSdkHostBridges(): SalesSdkHostBridges;
export declare const SalesSdkHostBridgesContext: React.Context<SalesSdkHostBridges | null>;
/**
 * 读取当前 SalesSdkProvider 实例的 Host bridge（须在 Provider 子树内）。
 *
 * @example
 * const bridges = useSalesSdkHostBridges();
 * await bridges.normalProductDetail.request({ mode: 'edit', cacheItem });
 */
export declare function useSalesSdkHostBridges(): SalesSdkHostBridges;
