import MapView from '@arcgis/core/views/MapView';
import SceneView from '@arcgis/core/views/SceneView';
import { ILayerVisibleParams, ILookAtParams, IMapInitializerParams, IResult, ISetMapCameraParams, ISetMapCenterParams } from '../../types';
export default class MapInitializer {
    private view;
    private mapConfig;
    private processUrl;
    /**
     * 初始化地图
     * @param params 容器
     * @returns view
     */
    initialize(params: IMapInitializerParams): Promise<MapView | SceneView>;
    setLayerVisibility(params: ILayerVisibleParams): Promise<IResult>;
    /**
     * 设置地图中心点
     * @param params
     * @returns
     */
    setMapCenter(params: ISetMapCenterParams): Promise<IResult>;
    setMapZoom(params: {
        zoom: number;
    }): IResult;
    /**
     * 在一定的高度，以一定的角度去观察某个坐标
     * */
    lookAt(params: ILookAtParams): Promise<void>;
    setMapCamera(params: ISetMapCameraParams): Promise<IResult>;
    private watchHandleMap;
    private handleIndex;
    /**
     * 经纬度转像素坐标，在地图移动时回调
     * */
    requestCoordinateTransform(points: number[][], callback: (points: number[][]) => void): {
        handle: number;
        points: number[][];
    };
    private transformPoints;
    /**
     * 停止坐标转换回调
     * */
    cancelCoordinateTransform(handleIndex: number): void;
    private zoomWatchHandle;
    /**
     * 设置地图zoom范围
     * */
    setMapZoomRange(zoomRange: {
        min?: number;
        max?: number;
    }): void;
    /** 支队图层 */
    private detachmentLayer;
    private detachmentLayerLoaded;
    /**
     * 加载支队图层
     * 现场环境用url创建FeatureLayer有各种问题，
     * 改为图层导出为json，用json创建Graphic，再将Graphic添加到FeatureLayer
     */
    private loadDetachmentLayer;
}
