import { MapChart, ExportOptions } from 'realmap';

declare class RealMapExporter {
    private _imageExporter;
    private _libraryExporter;
    private _contextmenuButton;
    private _contextmenu;
    private _chart;
    private _docPointerDownHandler;
    private _doc;
    /**
     * @private
     * 컨트롤 내부에서 자동 생성되므로 이 생성자를 직접 호출할 일은 없다.
     */
    constructor(doc: Document, dom: HTMLElement, chart: MapChart);
    /**
     * @private
     * #565: 차트 파괴(React 언마운트 등) 시 호출되어 document 리스너와 버튼 DOM을 정리한다.
     * 정리하지 않으면 차트가 여러 번 생성/파괴될 때 document에 죽은 리스너가 누적된다.
     */
    dispose(): void;
    exportToImage(dom: HTMLElement, options: ExportOptions): void;
    isContextMenuVisible(): boolean;
    toggleContextMenu(): void;
    contains(dom: Element): boolean;
    hideContextMenu(): void;
    private $_render;
}

declare class Globals {
    static readonly MODULE_NAME = "$$realmap_export";
    static use(chart: any): void;
    static createExporter(doc: Document, dom: HTMLElement, chart: MapChart): RealMapExporter;
}

declare const RealMapExport: typeof Globals.use;

export { RealMapExport };
