import type { FloorMapItemUnit, FloorMapLayerConfig, FloorMapMergedItem, FloorMapViewConfig } from '../types'; /** 单个画布在 All 视图中的「区域」描述 */ export interface OverviewCanvasArea { canvasId: string; items: FloorMapMergedItem[]; /** 内容区尺寸(已按 boundingPadding 扩边) */ contentWidth: number; contentHeight: number; /** ItemLayer 内部图元层偏移(与单画布一致) */ contentOffsetX: number; contentOffsetY: number; cellSize: number; /** 区域在大画布坐标系中的左上角位置 */ x: number; y: number; } export interface OverviewLayout { areas: OverviewCanvasArea[]; /** 大画布总宽(不含外侧 padding,由调用方在 MapLayer/contentStage 端处理) */ totalWidth: number; totalHeight: number; } /** * 构造 All 视图布局。 * * - 顺序:按 `canvas.order` 升序,与顶部 Tab 顺序一致; * - 尺寸:每个画布按 {@link computeFloorMapContentStage}(含其自己的 boundingPadding) * 推导内容尺寸,所有画布共享同一比例尺,不缩放; * - 装箱:{@link packCanvasesIntoShelves} 行装填,目标行宽 ≈ √总面积。 */ export declare function buildFloorMapOverviewLayout(params: { config: FloorMapViewConfig; /** 全局 mapLayer(与画布级 mapLayer 合并后仅用于推导 boundingPadding / gap) */ globalMapLayer?: FloorMapLayerConfig; cellSize: number; itemUnit: FloorMapItemUnit; /** 区域之间在大画布坐标系下的间距(像素) */ areaGap: number; }): OverviewLayout;