/// <reference types="amap-js-api" />
import { Bounds, ICameraOptions, ILngLat, IMapService, IMercator, IPoint, IStatusOptions, IViewport } from '@antv/l7-core';
import 'reflect-metadata';
import { IAMapInstance } from '../../typings/index';
import { SimpleMapCoord } from '../simpleMapCoord';
import './logo.css';
/**
 * AMapService
 */
export default class AMapService implements IMapService<AMap.Map & IAMapInstance> {
    version: string;
    simpleMapCoord: SimpleMapCoord;
    /**
     * 原始地图实例
     */
    map: AMap.Map & IAMapInstance;
    /**
     * 用于 customCooords 数据的计算
     */
    sceneCenter: [number, number];
    sceneCenterMKT: [number, number];
    bgColor: string;
    private readonly configService;
    private readonly config;
    private readonly coordinateSystemService;
    private eventEmitter;
    private markerContainer;
    private $mapContainer;
    private viewport;
    private cameraChangedCallback;
    setBgColor(color: string): void;
    /**
     *   设置数据的绘制中心 高德2.0
     */
    setCustomCoordCenter(center: [number, number]): void;
    getCustomCoordCenter(): [number, number];
    lngLatToCoordByLayer(lnglat: [number, number], layerCenter: [number, number]): [number, number];
    lngLatToCoordsByLayer(lnglatArray: number[][][] | number[][], layerCenter: [number, number]): number[][][] | number[][];
    /**
     * 根据数据的绘制中心转换经纬度数据 高德2.0
     */
    lngLatToCoord(lnglat: [number, number]): [number, number];
    /**
     * 转化线、面类型的点位数据
     */
    lngLatToCoords(lnglatArray: number[][][] | number[][]): number[][][] | number[][];
    addMarkerContainer(): void;
    getMarkerContainer(): HTMLElement;
    on(type: string, handler: (...args: any[]) => void): void;
    off(type: string, handler: (...args: any[]) => void): void;
    getContainer(): HTMLElement | null;
    getMapCanvasContainer(): HTMLElement;
    getSize(): [number, number];
    getType(): string;
    getZoom(): number;
    setZoom(zoom: number): void;
    getCenter(options?: ICameraOptions): ILngLat;
    setCenter(lnglat: [number, number], options?: ICameraOptions): void;
    getPitch(): number;
    getRotation(): number;
    getBounds(): Bounds;
    getMinZoom(): number;
    getMaxZoom(): number;
    setRotation(rotation: number): void;
    setPitch(pitch: number): void;
    zoomIn(): void;
    zoomOut(): void;
    panTo(p: [number, number]): void;
    panBy(x?: number, y?: number): void;
    fitBounds(extent: Bounds): void;
    setZoomAndCenter(zoom: number, center: [number, number]): void;
    setMapStyle(style: string): void;
    setMapStatus(option: Partial<IStatusOptions>): void;
    pixelToLngLat(pixel: [number, number]): ILngLat;
    lngLatToPixel(lnglat: [number, number]): IPoint;
    containerToLngLat(pixel: [number, number]): ILngLat;
    lngLatToContainer(lnglat: [number, number]): IPoint;
    lngLatToMercator(lnglat: [number, number], altitude: number): IMercator;
    getModelMatrix(lnglat: [number, number], altitude: number, rotate: [number, number, number], scale?: [number, number, number], origin?: IMercator): number[];
    init(): Promise<void>;
    meterToCoord(center: [number, number], outer: [number, number]): number;
    exportMap(type: 'jpg' | 'png'): string;
    emit(name: string, ...args: any[]): void;
    once(name: string, ...args: any[]): void;
    destroy(): void;
    getMapContainer(): HTMLElement | null;
    onCameraChanged(callback: (viewport: IViewport) => void): void;
    initViewPort(): void;
    private _sub;
    /**
     *
     * @param e
     */
    private handleViewChanged;
    private getMapStyle;
    private creatAmapContainer;
}
