/**
 * FloorMapOverview - 阅读态「All」全览视图（纯渲染版）
 *
 * 仅负责把 {@link OverviewLayout} 中各画布的图元渲染到对应的绝对定位区域里；
 * 由 PisellFloorMapLayout 在主 TransformWrapper 内挂载，与单画布共享同一套
 * 视口控件（缩放、平移、锁定、全屏、fitBounds、网格按钮等）。
 *
 * 设计要点：
 * - 不再自带 TransformWrapper / ResizeObserver / fit 算法；
 * - 每个画布作为独立区域，仅一条细边框作分隔，无背景色/网格；
 * - 画布名显示在边框外的标题带；标题不拦截图元交互；
 * - 仅渲染 ItemLayer（阅读态），与单画布的 hover/click 行为一致；编辑层不渲染。
 */
import React from 'react';
import type { OverviewLayout } from '../utils/floorMapOverviewLayout';
import type { FloorMapItemBase, FloorMapItemUnit, FloorMapRenderOptions, FloorMapViewConfig } from '../types';
import './FloorMapOverview.less';
export interface FloorMapOverviewProps<T extends FloorMapItemBase> {
    /** 由 PisellFloorMapLayout 算好的整体布局（区域位置 + 总尺寸） */
    overviewLayout: OverviewLayout;
    /**
     * 仅用于把 `canvas.id` 映射成展示名（区域左上角 chip）。
     * 直接传 config 而非映射表，避免父组件再多构造一层。
     */
    config: FloorMapViewConfig;
    itemUnit?: FloorMapItemUnit;
    renderItem: (item: T, index: number, options?: FloorMapRenderOptions) => React.ReactNode;
    /**
     * 主 TransformWrapper 的当前缩放，透传到各区域 ItemLayer 的 `viewportScale`。
     * 缺省（undefined）时下游 `renderItem` 拿不到 viewportScale，预约/桌位卡只能
     * 按布局像素算 visualShortSide，**永远停在 comfortable 档**，进不去 tooltip-time
     * 小卡片模式——这正是 All 视图缩放后看不到小卡的根因。
     */
    viewportScale?: number;
    enableHover?: boolean;
    onItemClick?: (item: T, index: number, e: React.MouseEvent<HTMLElement>) => void;
    onItemHover?: (item: T, index: number, e: React.MouseEvent<HTMLElement>) => void;
    onItemLeave?: (item: T, index: number, e: React.MouseEvent<HTMLElement>) => void;
    getMergedItemWrapperStyle?: (item: T, index: number) => React.CSSProperties | undefined;
    readModeSelectedItemId?: string | null;
    /**
     * 点击区域标题（画布名标签）时回调，传入该区域的 `canvasId`。
     * 传入后标题标签变为可点击（pointer-events 放开 + 指针光标），用于从 All 视图切回该画布。
     */
    onSelectCanvas?: (canvasId: string) => void;
    className?: string;
}
export declare function FloorMapOverview<T extends FloorMapItemBase>(props: FloorMapOverviewProps<T>): JSX.Element;
export default FloorMapOverview;
