import { IEditSignalControlAreaParams, IShowGreenWaveBandParams } from '../../../types';
export default class GreenWaveBandController {
    private view;
    /** 新增时显示路口的图层 */
    private allNodesLayer;
    /** 新增时显示路段的图层 */
    private roadsectLayer;
    /** 显示现有绿波带的图层 */
    private bandLayer;
    private viewClickWatcher?;
    private openDriveServer;
    private selectedNodeIds;
    private scaleWatcher?;
    private readonly nodeScale;
    private hasGpu;
    private addNodeCallback;
    private removeNodeCallback;
    private removeAllNodeCallback;
    constructor(view: __esri.MapView | __esri.SceneView);
    /**
     * 新增绿波带
     * @param params
     */
    addGreenWaveBand(params: IEditSignalControlAreaParams): void;
    stopAddGreenWaveBand(): void;
    showGreenWaveBand(params: IShowGreenWaveBandParams): Promise<void>;
    /**
     * 显示所有路口，进入待选状态
     * @param nodeAttributes
     */
    private showAllNodes;
    /**
     * 点击待选/已选路口
     * @param event
     * @returns
     */
    private handleViewClick;
    /**
     * 显示下游节点
     * @param nodeId
     */
    private showDownstreamNodes;
    private getLineSymbol;
    private getShowNodeSymbol;
    /**
     * 编辑状态时的路口符号
     * 全部用cim符号，是否选中用不同的图标
     * @param selected 是否选中
     * @returns
     */
    private getEditableNodeSymbol;
}
