import { default as OlMap } from 'ol/Map';
import { IShowGreenWaveBandParams } from '../../types';
export default class GreenWaveBandController {
    private map;
    private mapView;
    private source;
    private bandLayer;
    private hasGpu;
    private animationFrameIds;
    private animatedArrows;
    private nodeFeatures;
    private zoomChangeKey;
    private readonly NODE_MIN_ZOOM;
    private readonly NODE_ZOOM_THRESHOLD;
    private bandConfigs;
    private centerIconFeatures;
    constructor(map: OlMap);
    showGreenWaveBand(params: IShowGreenWaveBandParams): void;
    /**
     * 沿线添加箭头
     */
    private addArrowsAlongLine;
    private hiddenStyle;
    /**
     * 添加箭头 Feature
     */
    private addArrowFeature;
    /**
     * 创建箭头样式
     */
    private createArrowStyle;
    /**
     * 计算折线的中点坐标
     */
    private calculateLineCenterPoint;
    /**
     * 创建中点图标样式
     */
    private createCenterIconStyle;
    /**
     * 解析颜色值
     */
    private parseColor;
    removeGreenWaveBand(bandId?: string): void;
    /**
     * 启动流动动画
     */
    /**
     * 启动流动动画
     * @param speed 速度倍数，默认为 1，值越大越快
     */
    private startFlowAnimation;
    /**
     * 停止流动动画
     */
    private stopFlowAnimation;
    /**
     * 添加路口节点
     */
    private addNodeFeatures;
    /**
     * 确保层级变化监听器已挂载
     */
    private ensureZoomChangeListener;
    /**
     * 层级变化回调
     */
    private onZoomChange;
    /**
     * 获取路口节点样式
     * @param node 路口信息
     * @param zoom 当前地图层级
     */
    private getNodeStyle;
    /**
     * 移除路口节点
     */
    private removeNodeFeatures;
}
