/**
 * 预约平面图视口悬浮：当前画布桌位总数与各状态数量（空闲 / 预约 / 使用中等）
 */
import React from 'react';
import { type FloorMapDataSources, type FloorMapMergedItem } from '@pisell/materials';
import './ReservationFloorMapHud.less';
/** 场控左下抽屉：无台位且未展开时可隐藏整块 */
export declare function reservationFloorMapHudSeatStatsTotal(items: FloorMapMergedItem[], dataSources: FloorMapDataSources | undefined): number;
export declare type ReservationFloorMapHudStatsBarProps = {
    items: FloorMapMergedItem[];
    dataSources: FloorMapDataSources | undefined;
    /** 右侧操作（overlay 下箭头 / Sheet 关闭等） */
    rightSlot: React.ReactNode;
    /**
     * true：无台位时不渲染（与底栏 HUD 一致）；
     * false：Sheet 顶栏无台位时仍保留一行，仅展示右侧 slot
     */
    hideWhenNoSeats?: boolean;
    className?: string;
};
/**
 * 横向状态统计 + 右侧 slot：底栏 HUD 与 Sheet 顶栏共用（方案 A：两处可同时展示相同统计）。
 */
export declare function ReservationFloorMapHudStatsBar(props: ReservationFloorMapHudStatsBarProps): React.JSX.Element | null;
export declare type ReservationFloorMapHudTitleBarProps = {
    items: FloorMapMergedItem[];
    dataSources: FloorMapDataSources | undefined;
    /** 收起态：展开画布列表；展开态：收起 */
    actionMode: 'expand' | 'collapse';
    onAction: () => void;
    /** 嵌入 Sheet 顶栏时不画浮层卡片（避免双边线） */
    embedded?: boolean;
    className?: string;
};
/**
 * 场控：单行标题栏 = 标题 + 内联统计 + 展开/收起，与 Sheet 顶栏共用。
 */
export declare function ReservationFloorMapHudTitleBar(props: ReservationFloorMapHudTitleBarProps): React.JSX.Element | null;
export interface ReservationFloorMapHudProps {
    items: FloorMapMergedItem[];
    dataSources: FloorMapDataSources | undefined;
    /** 为 true 时左下标题栏：标题 + 统计 + 展开/收起（抽屉打开时仍保留，不「整块消失」） */
    interactive?: boolean;
    onRequestOpenTable?: () => void;
    onRequestCloseTable?: () => void;
    /** 画布资源列表抽屉是否已打开 */
    tableDrawerOpen?: boolean;
}
export declare function ReservationFloorMapHud(props: ReservationFloorMapHudProps): React.JSX.Element | null;
