import { default as OlMap } from 'ol/Map';
import { IResult, IShowSignalCrossParams } from '../../../types';
export default class SignalCrossController {
    private map;
    private crossLayer;
    private source;
    private view;
    private clusterCalculator;
    private showName;
    private showStyle;
    private viewChangeKey;
    private mapMoveKey;
    private resolutionChangeTimeout;
    private locations;
    private allLocations;
    private changeStyle;
    constructor(map: OlMap);
    showSignalCross(params: IShowSignalCrossParams): IResult;
    private calculateCluster;
    clearSignalCross(): void;
    changeShowName(showName: string): void;
    setVisible(visible: boolean): void;
    private updateScatterSymbol;
    /**
     * 配置矢量图层样式：复用 Icon，并为不同 feature 渲染不同 Text。
     * - 使用 resolution 判断是否显示文字（在指定缩放级别后才显示）
     * - 使用缓存避免每次渲染都创建新的 Style/Icon/数组对象
     */
    private configureVectorLayerStyle;
    private createCrossFeature;
    private getClusterStyle;
    private getBrandLabel;
    private getOnlineLabel;
    private getMalfunctionLabel;
    private showClusterResult;
    highlight(filterKey: 'districtId' | 'subDistrictId', targetId: string): number[] | null;
    clearHighlight(): void;
}
