import { BaseMap, Position, ERouteType, ERoutePolicy, ERoutePanel, AbstractMap, AbstractMarker, AbstractPolygon, AbstractPolyline, CoordinateSystem, IMapInitOptions, IMarker, IOrientation, IPolygon, IPolyline } from '@tuoyuan/map-adapter-lib';
import { AMapMarker } from './Marker';
import { AMapPolyline } from './Polyline';
import { AMapPolygon } from './Polygon';
/** 高德 */
export interface IAMapConfig {
    /** 高德平台key */
    key: string;
    /** 高德平台密钥 */
    secret?: string;
}
export interface IAMapLoadOptions {
    /** 呼吸点 */
    loca?: boolean;
}
export interface IAMapInitOptions {
    /** 是否开启路网 */
    isRoadNet?: boolean;
    /**
     * 底图图层
     * - standard-标准图层
     * - satellite-卫星图层
     */
    layer?: 'standard' | 'satellite';
    /** 项目边界之外配置 */
    beyondTheBoundary?: {
        /** 是否限制地图区域 */
        limit?: string;
        /** 是否隐藏 */
        hide?: boolean;
        /** 颜色 */
        color?: string;
        /** 透明度 */
        opacity?: string;
    };
}
export declare class AMap extends BaseMap implements AbstractMap {
    protected AMap: any;
    protected mapInstance: any;
    coordinateSystem: CoordinateSystem;
    constructor();
    /** 加载依赖 */
    load(config: IAMapConfig, options?: IAMapLoadOptions): Promise<void>;
    /** 初始化地图 */
    init(options: IMapInitOptions, selfOptions?: IAMapInitOptions): Promise<any>;
    protected initEvent(): void;
    /** 添加点 */
    addMarker(marker: IMarker): Promise<AMapMarker<any>>;
    /** 删除点 */
    removeMarker(marker: AbstractMarker | AbstractMarker[]): Promise<void>;
    /** 添加折线 */
    addPolyline(polyline: IPolyline): Promise<AMapPolyline<any>>;
    /** 删除折线 */
    removePolyline(polyline: AbstractPolyline | AbstractPolyline[]): Promise<void>;
    /** 添加多边形 */
    addPolygon(polygon: IPolygon): Promise<AMapPolygon<any>>;
    /** 删除多边形 */
    removePolygon(polygon: AbstractPolygon | AbstractPolygon[]): Promise<void>;
    /** 飞行到某个坐标 */
    panTo(position: ConstructorParameters<typeof Position>, orientation?: IOrientation): void;
    /** 设置中心点 */
    setCenter(center: ConstructorParameters<typeof Position>): void;
    /** 获取中心点 */
    getCenter(): Promise<Position>;
    /** 设置地图显示的缩放级别 */
    setZoom(zoom: number): void;
    /** 获取东北角 */
    getNorthEast(): Promise<Position>;
    /** 获取西北角 */
    getNorthWest(): Promise<Position>;
    /** 获取东南角 */
    getSouthEast(): Promise<Position>;
    /** 获取西南角 */
    getSouthWest(): Promise<Position>;
    /** 获取地图边角点位 */
    getViewBounds(): Promise<{
        NorthEast: Position;
        NorthWest: Position;
        SouthEast: Position;
        SouthWest: Position;
    }>;
    getNavigationPlan(origin: Position, destination: Position, type: ERouteType, policy: ERoutePolicy, options?: {
        panel: ERoutePanel;
    }): Promise<{
        path: Position[];
        time: number;
        distance: number;
        instruction: string;
    }>;
    /** 销毁地图 */
    destroy(): void;
    /** 自适应地图范围 */
    setFitView(overlays: any[]): Promise<void>;
    /** 根据像素和缩放级别计算距离 */
    getDistanceFromPixels(pixels: number, zoom: number): Promise<number>;
}
