import MapView from '@arcgis/core/views/MapView';
import SceneView from '@arcgis/core/views/SceneView';
import { ILayerVisibleParams, ILookAtParams, IResult, ISetMapCameraParams, ISetMapCenterParams } from '../../types';
export default class MapInitializer {
    private view;
    private mapConfig;
    /**
     * 初始化地图
     * @param params 容器
     * @returns view
     */
    initialize(params: {
        container: HTMLElement;
        mapConfig: any;
        markerClickCallback?: (type: string, id: string, detail: any, event?: any) => void;
        mapClickCallback?: (mapPoint: number[], screenPoint: number[], event?: any) => void;
    }): Promise<MapView | SceneView>;
    setLayerVisibility(params: ILayerVisibleParams): IResult;
    /**
     * 设置地图中心点
     * @param params
     * @returns
     */
    setMapCenter(params: ISetMapCenterParams): Promise<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;
}
