import { EVehiclePlateState, IToggleTrafficInfoParams, ITraceRendererInterface, IVehicleTrack } from '../../../types';
export default class TraceRendererExternal implements ITraceRendererInterface {
    private renderer;
    private scene;
    private camera;
    private ambient;
    private sun;
    /** 车辆模型变化的阈值 */
    private readonly cameraHeightThreshold;
    /** 车辆材质参数 */
    private readonly roughness;
    private readonly metalness;
    /** 默认车身材质 */
    private defaultMaterial;
    private createCarMaterial;
    /** 车身颜色材质 */
    private materialMap;
    private readonly view;
    private assetsRoot;
    private carModel;
    private vanModel;
    private truckModel;
    private busModel;
    private bicycleModel;
    private passengerModel;
    private bluePlateBG;
    private yellowPlateBG;
    private whitePlateBG;
    private blackPlateBG;
    private neoYellowPlateBG;
    private neoGreenPlateBG;
    private greyPlateBG;
    private isInitialized;
    private showGroundVehicle;
    private showElevatedVehicle;
    private isPaused;
    private currentSpriteContent;
    private historyPositionMap;
    private vehicleObjectMap;
    private tabVisible;
    private updateModel;
    private appDataStore;
    /** 轨迹日志 */
    private logTable;
    constructor(view: __esri.SceneView);
    getLog(): (string | number | undefined)[][];
    init(): Promise<void>;
    setInterpolate(needInterpolate: boolean): void;
    private context;
    setup(context: any): Promise<void>;
    render(context: any): Promise<void>;
    /**
     * 新增车辆
     * */
    addVehicles(objects: IVehicleTrack[]): Promise<void>;
    /**
     * 更新车辆
     * */
    updateVehicles(objects: IVehicleTrack[]): Promise<void>;
    private toRenderCoordinates;
    /**
     * 删除车辆
     * */
    deleteVehicles(idList: string[]): void;
    private deleteVehicle;
    toggleTrafficInfo(params: IToggleTrafficInfoParams): Promise<void>;
    togglePause(pause: boolean): void;
    /**
     * 清除全部车辆
     * */
    clearVehicles(): void;
    updatePanelContent(contentType: EVehiclePlateState): Promise<void>;
    toggleGroundVehicle(visible: boolean): void;
    toggleElevatedVehicle(visible: boolean): void;
    /**
     * 释放模型资源
     * */
    private disposeModel;
    /**
     * 计算车辆位置
     * */
    private computeVehiclePosition;
    /**
     * 根据车辆类型、车身颜色获取模型
     * */
    private getVehicleModel;
    private getThreeVehicleColor;
    /**
     * 创建号牌canvas
     * */
    private createCanvas;
    private createPlateSprite;
}
