/** 批量落点时图元之间的间距（内容坐标 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;
