import { default as OlMap } from 'ol/Map';
import { IVehicleTrack } from 'packages/components/src/types';
export default class TraceRendererLayer {
    private map;
    private carLayer;
    private vectorSource;
    private dotStyleResolution;
    private isDotStyle;
    /** 如果有硬件加速，使用raf平滑轨迹；如果没有，不平滑 */
    private hasGpu;
    private mapConfig;
    private rafSignal;
    private clearTraceTimer;
    private readonly minSegmentDuration;
    private readonly historyTrimThreshold;
    private hiddenStyle;
    private simpleMarkerStyle;
    private styleCache;
    private historyPositionMap;
    private vehicleObjectMap;
    constructor(map: OlMap);
    /**
     * 新增交通对象
     * @param objects
     */
    addVehicles(objects: IVehicleTrack[]): void;
    /**
     * 更新交通对象位置
     * @param objects
     */
    updateVehicles(objects: IVehicleTrack[]): void;
    /**
     * 分辨率跨越dotStyleResolution阈值时，刷新所有feature的样式
     */
    private refreshAllStyles;
    destroy(): void;
    deleteVehicles(idList: string[]): void;
    private render;
    /**
     * 更新车辆位置
     * @param vehicleId
     */
    private updatePosition;
    /**
     * 根据插值角度更新车辆图标旋转
     */
    private applyVehicleHeadingStyle;
    /**
     * 获取车辆feature的样式
     * @param trackData 轨迹点数据
     * @param resolution 当前分辨率
     * @returns
     */
    private getVehicleStyle;
    /**
     * 根据车身颜色代码获取车辆图标路径
     * @param carColor
     * @returns
     */
    private getCarPicSource;
    /**
     * 根据号牌颜色属性获取填充色和背景色
     * @param plateColor
     * @returns
     */
    private getPlateFontColor;
}
