import { IResult, IShowSignalCrossParams } from 'packages/components/src/types';
/**
 * 信控路口
 */
export default class SignalCrossController {
    private view;
    private crossLayer;
    private readonly iconSymbolScale;
    private readonly largeMarkerScale;
    private oldScale;
    private scaleWatchHandle;
    private showName;
    private showStyle;
    private didCrossScaleThreshold;
    private readonly clusterRadius;
    private readonly minClusterPoints;
    private readonly maxClusterSymbolSize;
    private readonly minClusterSymbolSize;
    /** 需要进行聚合的点位，一般为当前屏幕范围内的点位 */
    private clusteredLocations;
    /** 所有路口点位 */
    private locations;
    constructor(view: __esri.MapView | __esri.SceneView);
    private locationToScreen;
    /**
     * 显示信控路口
     * @param params
     * @returns
     */
    showSignalCross(params: IShowSignalCrossParams): IResult;
    clearSignalCross(): void;
    /**
     * 更改路口显示名称内容
     * @param showName
     */
    changeShowName(showName: string): void;
    /**
     * 更新散点符号
     */
    private updateScatterSymbol;
    /**
     * 按照像素距离聚类
     * @param locations
     * @param eps
     * @param minPoints
     * @returns
     */
    private doPixelCluster;
    /**
     * 获取邻居点
     * @param locations
     * @param index
     * @param eps
     * @returns
     */
    private getNeighbors;
    /**
     * 两点间的像素距离
     * @param point1
     * @param point2
     * @returns
     */
    private getDistance;
    /**
     * 从聚类结果中创建聚类对象
     * @param locations
     * @returns
     */
    private createClusters;
    private showClusterResult;
    private getBrandLabel;
    private getOnlineLabel;
    private getMalfunctionLabel;
    private getCrossSymbol;
}
