import * as echarts from "echarts";
import { flyLineType, pointType } from "../../enum";
/** 默认飞线拼接数据 */
export interface resFlyData {
    /** 起点 */
    fromName: string;
    /** 终点 */
    toName: string;
    /** 坐标拼接 */
    coords: [number[], number[]];
}
/** 默认点位拼接数据 */
export interface resPoint {
    /** 点位名称 */
    name: string;
    /** 值（[纬度，精度,数值]） */
    value: number[];
}
/** 地图类 */
export declare class Map {
    /** 图表背景色 */
    static mapBackgroundColor: string;
    /** 地图区域背景渐变色 */
    static colorStops: string[];
    /** 边框大小 */
    static borderWidth: number;
    /** 边框颜色 */
    static borderColor: string;
    /** 阴影颜色 */
    static shadowColor: string;
    /** 阴影水平方向上的偏移距离 */
    static shadowOffsetX: number;
    /** 阴影垂直方向上的偏移距离 */
    static shadowOffsetY: number;
    /** 是否显示标签 */
    static showLabel: boolean;
    /** 文字块的背景阴影长度 */
    static shadowBlur: number;
    /** 选中区域颜色 */
    static selectAreaColor: string;
    /** 文字颜色 */
    static fontColor: string;
    /** 文字粗细 */
    static fontWeight: string | number;
    /** 文字的字体系列 */
    static fontFamily: string;
    /** 文字大小 */
    static fontSize: number;
    /** 文字块背景色 */
    static fontBackgroundColor: any;
    /** 文字块边框宽度 */
    static fontBorderColor: echarts.Color;
    /** 文字块边框描边类型 */
    static fontBorderType: string | number | number[];
    /** 文字块的圆角 */
    static fontBorderRadius: number | number[];
    /** 文字本身的描边颜色 */
    static fontTextBorderColor: echarts.Color;
    /** 文字本身的描边宽度 */
    static fontTextBorderWidth: number;
    /** 文字本身的阴影颜色 */
    static fontTextShadowColor: echarts.Color;
    /** 文字本身的阴影长度 */
    static fontTextShadowBlur: number;
    /** 自定义富文本样式 */
    static rich: any;
    /** 地图悬浮框 */
    static mapToolTip: {};
    /** 鼠标悬浮时文字颜色 */
    static emphasisLabelColor: string;
    /** 飞线类型 */
    static flyLineType: flyLineType;
    /** 点位类型 */
    static pointType: pointType;
    /** 默认飞线 */
    static flyLine: any[];
    /** 自定义飞线 */
    static cusFlyLine: any[];
    /** 默认点位 */
    static point: any[];
    /** 自定义点位 */
    static cusPoint: any[];
    /** 飞点颜色 */
    static flyPointColor: string;
    /** 自定义飞点样式 */
    static flyPointSymbol: string;
    /** 飞点大小 */
    static flyPointSymbolSize: number;
    /** 飞线颜色 */
    static flyLineColor: string;
    /** 飞线宽度 */
    static flyLineWidth: number;
    /** 飞线弧度 */
    static flyLineCurveness: number;
    /** 自定义点位样式 */
    static pointSymbol: string;
    /** 点位大小 */
    static pointSize: number;
    /** 点位动效缩放 */
    static pointScale: number;
    /** 点位颜色 */
    static pointColor: string;
    /** 地图标题 */
    static mapTitle: string;
    /**
     * 图表渐变色
     * @returns 图表渐变色
     */
    static getMapGradColor(): any[];
    /**
     * 获取地图边缘数据
     * @param mapName 地图名称
     * @returns 地图边缘数据Json
     */
    static getMapJsonData(mapName: string): any;
    /**
     * 添加飞线
     * @param mapData 当前区域地图数据
     * @returns 飞线数据
     */
    static addFlyLine(mapData?: any): resFlyData[];
    /**
     * 添加点位
     * @param mapData 当前区域地图数据
     * @returns 点位数据
     */
    static addPoint(mapData?: any): resPoint[];
    /**
     * 获取飞线配置项数据
     * @param mapData 当前区域数据
     * @returns 飞线配置项
     */
    static getFlyLineData(mapData: any): {
        type: string;
        zlevel: number;
        /** 飞点样式 */
        effect: {
            show: boolean;
            period: number;
            /** 尾巴长度 */
            trailLength: number;
            color: string;
            /** 自定义图片 */
            symbol: string;
            /** 飞点大小 */
            symbolSize: number;
        };
        /** 飞线样式 */
        lineStyle: {
            show: boolean;
            /** 飞线颜色 */
            color: string;
            /** 飞线宽度 */
            width: number;
            opacity: number;
            /** 飞线弧度 */
            curveness: number;
        };
        data: resFlyData[];
    }[];
    /**
     * 获取地图配置项
     * @param mapName 地图名称
     * @returns 地图配置项
     */
    static getGeoData(mapName: string): {
        /** 地图名称 */
        name: string;
        /** 地图类型 */
        type: string;
        /** 加载注册的地图 */
        map: string;
        /** 是否单独选中 */
        selectedMode: boolean;
        /** 鼠标缩放移动 */
        roam: boolean;
        /** 图形上的文本标签 */
        label: {
            show: boolean;
            color: string;
            fontWeight: string | number;
            fontFamily: string;
            fontSize: number;
            backgroundColor: any;
            borderColor: echarts.Color;
            borderType: string | number | number[];
            borderRadius: number | number[];
            textBorderColor: echarts.Color;
            textBorderWidth: number;
            textShadowColor: echarts.Color;
            textShadowBlur: number;
            rich: any;
        };
        /** 悬浮框 */
        tooltip: {};
        /** 地图样式 */
        itemStyle: {
            /** 区域样式 */
            areaColor: {
                type: string;
                x: number;
                y: number;
                r: number;
                /** 区域颜色 */
                colorStops: any[];
                globalCoord: boolean;
            };
            /** 边框大小 */
            borderWidth: number;
            /** 边框颜色 */
            borderColor: string;
            /** 阴影颜色 */
            shadowColor: string;
            /** 阴影水平方向上的偏移距离 */
            shadowOffsetX: number;
            /** 阴影垂直方向上的偏移距离 */
            shadowOffsetY: number;
            /** 文字块的背景阴影长度 */
            shadowBlur: number;
        };
        /** 选中状态下样式 */
        emphasis: {
            label: {
                color: string;
            };
            itemStyle: {
                areaColor: string;
            };
        };
    };
    /**
     * 获取地图点位配置项
     * @param mapData 当前区域地图数据
     * @returns 点位配置项
     */
    static getPointData(mapData: any): {
        type: string;
        coordinateSystem: string;
        geoIndex: number;
        symbol: string;
        symbolSize: number;
        rippleEffect: {
            scale: number;
        };
        itemStyle: {
            color: string;
        };
        encode: {
            tooltip: number;
        };
        emphasis: {
            scale: boolean;
        };
        data: resPoint[];
    };
    /**
     * 释放资源
     * @param eleId dom元素id
     */
    static disposeMap(eleId: string): void;
    /**
     * 生成地图
     * @param mapList 层级列表
     * @param mapName 选中区域名称
     * @param eleId DOM节点id
     * @param mapEcharts 地图实例
     */
    static initMap(mapList: any, mapName: any, eleId: string, mapEcharts?: any): void;
}
