import { HtmlOverlayLabelPool } from './HtmlOverlayLabelPool';
interface PointData {
id: string;
lon: number;
lat: number;
height: number;
name: string;
data: {
[key: string]: any;
};
__minLevel?: number;
__maxLevel?: number;
[key: string]: any;
}
interface AggregatorOptions {
labelPool: HtmlOverlayLabelPool;
threshold?: number;
displayLimit?: number;
maxLevel?: number;
debugCurrentGrids?: boolean;
clusterTheme?: string;
pointTheme?: string;
centralPointMode?: string;
minGlobalPointCount?: number;
groupByTheme?: boolean;
terrainLevelOffset?: number;
}
interface GridLevel {
level: number;
size: number;
minViewWidth: number;
}
export { PointData, GridLevel, AggregatorOptions };
export declare class BufferedHierarchicalAggregator {
private Cesium;
private viewer;
labelPool: HtmlOverlayLabelPool;
private threshold;
private displayLimit;
private maxLevel;
private debugCurrentGrids;
private levels;
private points;
private gridLayers;
private debugGrids;
private _updateFn;
private clusterTheme;
private pointTheme;
private centralPointMode;
private minGlobalPointCount;
private groupByTheme;
private tilingScheme;
private terrainLevelOffset;
private debugTileCoordLayer;
private levelIndexByTileLevel;
private _lastTileProvider;
private _updateTimer;
private _updateDelay;
private _tilesRetryCount;
private _tilesRetryMax;
private _cameraDirty;
private _tileLoadListener;
private _cameraChangedHandler;
private defaultMinLevel;
private defaultMaxLevel;
private maxRefineLevels;
constructor(Cesium: any, viewer: any, options: AggregatorOptions);
setGroupByTheme(groupByTheme: boolean, rebuild?: boolean, update?: boolean): void;
setMinGlobalPointCount(count: number, update?: boolean): void;
setThreshold(threshold: number, update?: boolean): void;
setDebugCurrentGrids(debug: boolean, update?: boolean): void;
private _syncTilingSchemeAndLevels;
private _createLevels;
addPoints(points: PointData[]): void;
appendPoints(newPoints: PointData[], isUpdate?: boolean): void;
private _getCurrentBillboard;
private _getBillboardTheme;
private _shouldSkipAggregation;
private _scheduleUpdate;
updatePoint(newData: Partial): void;
removePointsById(ids: string[]): void;
private _buildLevels;
private _addPointToGrid;
private _preparePointLevelRange;
private _isVisibleAtLevel;
private _update;
private _getSurfaceTiles;
private _handleNoSurfaceTiles;
private _resolveLevelIndex;
private _isTerrainEnabled;
private _getGridRefLevel;
private _processTiles;
private _processCell;
private _getCellContext;
private _processCellSkipPoints;
private _processCellGroups;
private _debugDrawCell;
refresh(): void;
private _drawDebugGrid;
private _clearDebugGrids;
private _ensureDebugImageryLayer;
private _removeDebugImageryLayer;
destroy(): void;
}