import { ILngLat, 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;
    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 updatePosition;
    private init;
    private registerMarkerEvent;
    private unRegisterMarkerEvent;
    private eventHandle;
    private addDragHandler;
    private onUp;
}
