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;
    /**
     * 区块在大画布坐标系中的左上角（含外置标题带）。
     * 带边框的画布内容区从 `y + titleBandHeight` 起算。
     */
    x: number;
    y: number;
    /** 外置标题带高度，与 {@link FLOOR_MAP_OVERVIEW_TITLE_BAND_HEIGHT} 一致 */
    titleBandHeight: 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;
