/** 批量落点时图元之间的间距(内容坐标 px) */ export declare const BATCH_PLACE_GAP = 16; export interface BatchPlacementSize { width: number; height: number; } export interface BatchPlacementRect { x: number; y: number; width: number; height: number; } export interface BatchPlacementLayoutContext { /** 当前画布已有图元(用于计算右侧锚点) */ existingElements: BatchPlacementRect[]; contentWidth: number; contentHeight: number; /** 与 mapLayer.boundingPadding 一致的单侧 padding */ boundingPadding?: number; } /** * 行列数尽量接近正方形(复用全览网格算法)。 */ export declare function getSquareishGridDims(count: number): { cols: number; rows: number; }; /** * 计算批量落点左上角坐标列表(行优先:先填满第一行再换行)。 */ export declare function computeBatchScenePlacementPositions(sizes: BatchPlacementSize[], ctx: BatchPlacementLayoutContext): Array<{ x: number; y: number; }>; export interface PlacementBoundingBox { minLeft: number; minTop: number; maxRight: number; maxBottom: number; } /** 由批量落点坐标与尺寸计算轴对齐包围盒(可加 margin 便于视口聚焦留边) */ export declare function getPlacementBoundingBox(positions: Array<{ x: number; y: number; }>, sizes: BatchPlacementSize[], margin?: number): PlacementBoundingBox | null;