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; }