import { IFindSignalControlAreaParams } from 'packages/components/src/types';
import DistrictController from './district-controller';
export default class CrossRenderer {
    private view;
    private crossLayer;
    private crossGraphicSymbol;
    private locations;
    private clusteredLocations;
    private filteredLocations;
    private currentShowMode;
    private zoomWatchHandle;
    private symbolScale;
    private oldScale;
    private readonly clusterRadius;
    private readonly minClusterPoints;
    private readonly maxClusterSymbolSize;
    private readonly minClusterSymbolSize;
    constructor(view: __esri.MapView | __esri.SceneView);
    addCrosses(controllers: DistrictController[]): Promise<void>;
    /**
     * 清除所有路口
     */
    clearCrosses(): void;
    /**
     * 更新散点符号
     */
    private updateScatterSymbol;
    /**
     * 将地理位置转换为屏幕坐标
     */
    private locationToScreen;
    /**
     * 显示聚合点
     */
    showCluster(): void;
    /**
     * 显示散点
     */
    showScatter(): void;
    /**
     * 隐藏路口
     */
    hideCrosses(): void;
    filter(params: IFindSignalControlAreaParams): void;
    resetFilter(): void;
    /**
     * 根据当前比例尺更新路口符号
     * @param attributes
     * @returns
     */
    private getCrossSymbol;
    /**
     * 获取邻居点
     * @param locations
     * @param index
     * @param eps
     * @returns
     */
    private getNeighbors;
    /**
     * 两点间的像素距离
     * @param point1
     * @param point2
     * @returns
     */
    private getDistance;
    /**
     * 从聚类结果中创建聚类对象
     * @param locations
     * @returns
     */
    private createClusters;
    /**
     * 按照像素距离聚类
     * @param locations
     * @param eps
     * @param minPoints
     * @returns
     */
    private doPixelCluster;
    private showClusterResult;
}
