import type { ShopFloorPlanDetail } from '../shopFloorPlan/shopFloorPlanTypes';
import type { ShopFloorPlanByCodeRequestOptions } from '../shopFloorPlan/shopFloorPlanTypes';
export declare type UseShopFloorPlanSubscriptionParams = {
    /** `null` 时不发起请求（与预约页 `resolvedFloorPlanId` 一致）；清空状态由调用方处理 */
    enabled: boolean;
    code: string;
    subscriberId: string;
    ensureByCode: (code: string, opts?: ShopFloorPlanByCodeRequestOptions) => Promise<ShopFloorPlanDetail | null>;
    unsubscribeQuery: (subscriberId: string) => Promise<void>;
    onDetail: (detail: ShopFloorPlanDetail) => void;
    onLoadError?: (err: unknown) => void;
    /** 与预约一致：默认 true */
    osServer?: boolean;
};
/**
 * 按 code 订阅店铺平面图：首包 Promise + WebSocket callback 均归一为 `onDetail`。
 * 不包含与业务默认 {@link FloorMapViewConfig} 的合并（由调用方在 `onDetail` 或后续 useMemo 完成）。
 */
export declare function useShopFloorPlanSubscription(params: UseShopFloorPlanSubscriptionParams): void;
