import { OpenLayersMapType, OpenLayersQueryOption } from './openlayers/OpenLayers.types';
import { IMeasureModeObj, CesiumMapType, CesiumQueryOption } from './cesium/Cesium.types';
import { SuperMapType, LayerOption, DrawingMode, DrawOptions } from './SuperMap.types';
/**
 * @function SuperMapUtils.setMapConfig
 * @description 设置地图配置
 * @param {object} config - 地图配置
 */
declare const setMapConfig: (config: any) => void;
/**
 * @function SuperMapUtils.fullExtent
 * @description 全图
 * @param {SuperMapType} instance - 地图对象
 */
declare const fullExtent: (instance: SuperMapType) => void;
/**
 * @function SuperMapUtils.initFullScreen
 * @description 初始化全屏地图（绑定按钮)
 * @param {Vue} vm Vue实例
 * @param {string} [key] 需要控制的按钮显示对应的属性名 默认值：isFullScreen
 */
declare const initFullScreen: (vm: any, key?: string) => void;
/**
 * @function SuperMapUtils.fullScreen
 * @description 打开全屏地图
 */
declare const openFullScreen: () => void;
/**
 * @function SuperMapUtils.fullScreen
 * @description 退出全屏地图
 */
declare const exitFullScreen: () => void;
/**
 * @function SuperMapUtils.zoomIn
 * @description 放大地图
 * @param {SuperMapType} instance - 地图对象
 */
declare const zoomIn: (instance: SuperMapType) => void;
/**
 * @function SuperMapUtils.draw
 * @description 手动绘制
 * @param {SuperMapType} instance - 地图对象
 * @param {DrawingMode} drawingMode - 绘制模式
 * @param {object} options - 绘制配置参数
 * @param {boolean} options.continueDraw - 是否连续绘制 默认：true
 * @param {boolean} options.removeLast - 是否移除上一次绘制的图形 默认：true
 * @param {Function} callback
 */
declare const draw: (instance: SuperMapType, drawingMode: DrawingMode, options: DrawOptions, callback?: any) => any;
/**
 * @function SuperMapUtils.zoomOut
 * @description 缩小地图
 * @param {SuperMapType} instance - 地图对象
 */
declare const zoomOut: (instance: SuperMapType) => void;
/**
 * @function SuperMapUtils.moveTo
 * @description 地图平移至目标位置
 * @param {SuperMapType} instance - 地图对象
 * @param {[number,number]} lnglat - 坐标
 */
declare const moveTo: (instance: SuperMapType, lnglat: [number, number]) => void;
/**
 * @function SuperMapUtils.measureDistance
 * @description 测量距离
 * @param {OpenLayersMapType} instance
 */
declare const measureDistance: (instance: SuperMapType, options?: IMeasureModeObj) => any;
/**
 * @function SuperMapUtils.measureArea
 * @description 测量面积
 * @param {OpenLayersMapType} instance
 */
declare const measureArea: (instance: SuperMapType, options?: IMeasureModeObj) => any;
/**
 * @function SuperMapUtils.addMiniMap
 * @description 创建鹰眼图
 * @param {SuperMapType} instance - 地图对象
 */
declare const addMiniMap: (instance: SuperMapType, options?: any) => void;
/**
 * @function SuperMapUtils.startCoordPick
 * @description 坐标拾取
 * @param {SuperMapType} instance - 地图对象
 */
declare const startCoordPick: (instance: SuperMapType) => any;
/**
 * @function SuperMapUtils.changeLayerOpacity
 * @description 调整图层透明度
 * @param {SuperMapType} instance - 地图对象
 * @param {LayerOption[]} option - 服务图层参数
 * @param {number} opacity - 透明度
 */
declare const changeLayerOpacity: (instance: SuperMapType, option: LayerOption[], opacity: number) => void;
/**
 * @function SuperMapUtils.addLayer
 * @description 加载图层
 * @param {SuperMapType} instance - 地图对象
 * @param {LayerOption} option - 图层参数
 */
declare const addLayer: (instance: SuperMapType, option: LayerOption) => Promise<any>;
/**
 * @function SuperMapUtils.removeLayer
 * @description 去除图层
 * @param {SuperMapType} instance - 地图对象
 * @param {LayerOption} option - 图层参数
 */
declare const removeLayer: (instance: SuperMapType, option: LayerOption) => void;
/**
 * @function SuperMapUtils.queryLayerData
 * @description 查询图层数据
 * @param {string} type - 地图类型 OpenLayers|Cesium
 * @param {OpenLayersQueryOption | CesiumQueryOption} option - 查询参数对象 1、url:图层地址 2、type：查询类型  3、查询参数
 */
declare const queryLayerData: (type: 'OpenLayers' | 'Cesium', option: OpenLayersQueryOption | CesiumQueryOption) => Promise<any>;
/**
 * @function SuperMapUtils.setLocateCoordinate
 * @description 坐标定位
 * @param {SuperMapType} instance - 地图对象
 * @param {number[]} coordinate - 坐标数组
 * @param {'Point' | 'Polyline' | 'Polygon'} type - 类型
 */
declare const setLocateCoordinate: (instance: SuperMapType, coordinate: number[], type: 'Point' | 'Polyline' | 'Polygon') => void;
/**
 * @function SuperMapUtils.syntaxView
 * @description 视图同步
 * @param {OpenLayersMapType} map - 二维地图
 * @param {CesiumMapType} viewer - 三维地图
 * @param {string} type - 地图类型 OpenLayers|Cesium
 */
declare const syntaxView: (map: OpenLayersMapType, viewer: CesiumMapType, type: 'OpenLayers' | 'Cesium') => void;
/**
 * @function SuperMapUtils.changeLayerSwipe
 * @description 设置卷帘分析
 * @param {SuperMapType} instance - 地图对象
 * @param {string[]} leadingLayerIds - 卷帘左侧/上侧图层id集合
 * @param {string[]} trailingLayerIds - 卷帘右侧/下侧图层id集合
 * @param {'horizontal' | 'vertical'} direction - 卷帘方向: horizontal-水平、vertical-垂直
 * @param {number} [swipeRatio] - 卷帘比例数值 默认值:0.5
 */
declare const changeLayerSwipe: (instance: SuperMapType, leadingLayerIds?: string[], trailingLayerIds?: string[], direction?: 'horizontal' | 'vertical', swipeRatio?: number) => void;
/**
 * @function SuperMapUtils.screenShot
 * @description 鼠标拖拽区域截图保存下载
 */
declare const screenShot: () => void;
/**
 * @function SuperMapUtils.layerClear
 * @description 图层清理
 * @param {SuperMapType} instance - 地图对象
 * @param {string[]} 底图图层ID
 */
declare const layerClear: (instance: SuperMapType, baseLayerIds?: string[]) => void;
/**
 * @function SuperMapUtils.clear
 * @description 清除地图
 * @param {OpenLayersMapType} map - 二维地图对象
 * @param {CesiumMapType} viewer - 三维地图对象
 */
declare const clear: (map: OpenLayersMapType, viewer: CesiumMapType) => void;
export { setMapConfig, fullExtent, zoomIn, zoomOut, moveTo, measureDistance, measureArea, addMiniMap, initFullScreen, openFullScreen, exitFullScreen, changeLayerOpacity, startCoordPick, addLayer, removeLayer, queryLayerData, setLocateCoordinate, layerClear, clear, changeLayerSwipe, syntaxView, draw, screenShot };
