import { ILngLat, IMarkerContainerAndBounds, IMarkerOption, IPoint, IPopup } from '@antv/l7-core';
import { anchorType } from '@antv/l7-utils';
import { EventEmitter } from 'eventemitter3';
import { Container } from 'inversify';
export default class Marker extends EventEmitter {
    private markerOption;
    private defaultMarker;
    private popup;
    private mapsService;
    private sceneSerive;
    private lngLat;
    private scene;
    private added;
    getMarkerLayerContainerSize(): IMarkerContainerAndBounds | void;
    constructor(option?: Partial<IMarkerOption>);
    getDefault(): {
        element: undefined;
        anchor: anchorType;
        offsets: number[];
        color: string;
        draggable: boolean;
    };
    addTo(scene: Container): this;
    remove(): this;
    setLnglat(lngLat: ILngLat | IPoint): this;
    getLnglat(): ILngLat;
    getElement(): HTMLElement;
    setElement(el: HTMLElement): this;
    openPopup(): this;
    closePopup(): this;
    setPopup(popup: IPopup): this;
    togglePopup(): this;
    getPopup(): IPopup;
    getOffset(): number[];
    setDraggable(draggable: boolean): void;
    isDraggable(): boolean;
    getExtData(): any;
    setExtData(data: any): void;
    private update;
    private onMapClick;
    private getCurrentContainerSize;
    private updatePosition;
    private init;
    private registerMarkerEvent;
    private unRegisterMarkerEvent;
    private eventHandle;
    /**
     * 高德 2.x 使用了 fastClick.js 避免延迟，导致 IOS 移动端的 click 事件不会正常触发，需要手动触发
     * @param e
     */
    private touchStartTime;
    private polyfillEvent;
    private addDragHandler;
    private onUp;
}
