import { default as OlMap } from 'ol/Map';
import { IResult, IShowEdpassDeviceParams } from '../../types';
export default class EdpassDeviceController {
    private map;
    private mapView;
    private esServer;
    private currentParams;
    private cameraLayer;
    private cameraLoaded;
    private kkLayer;
    private kkLoaded;
    private resolutionChangeKey;
    private moveEndKey;
    private lastZoomLevel;
    private viewChangeDebounceTimer;
    constructor(map: OlMap);
    setEdpassLayerVisibility(params: IShowEdpassDeviceParams): Promise<IResult>;
    /**
     * 更新当前显示的设备数据，主要在地图视图变化时调用，确保当前视图范围内的设备数据是最新的。
     */
    private updateDevice;
    private getFeatureInExtent;
    private makeDeviceFeatures;
    private hasAnyVisible;
    /**
     * 确保地图监听已挂载
     */
    private ensureMapListeners;
    /**
     * 移除地图监听
     */
    private removeMapListeners;
    /**
     * 共用防抖：无论 resolution 还是 moveend，都重置同一个定时器，300ms 内只执行最后一次
     */
    private scheduleViewChange;
    /**
     * 分辨率变化回调
     */
    private onResolutionChange;
    /**
     * 地图移动结束回调
     */
    private onMoveEnd;
    /**
     * 销毁控制器
     */
    destroy(): void;
}
