import { InteractiveManager } from './interactive';
import { Container, BaseMapOptions } from './container';
import { Renderer } from './renderer';
import { View, ViewOptions } from './view';
import { Style } from './style';
import { Tools } from './tools';
import * as events from './events';
export { events };
export { createDrawInteractive, createMeasureInteractive, createModifyInteractive, createMoveInteractive, createSelectInteractive, type DrawType, type DrawEmit, type MoveEmit, type ModifyEmit, type MeasureEmit, type SelectEmit, type InteractiveManager, type Interactive, type InteractiveEvent, } from './interactive';
export { getElementData, type BaseMap, type BaseMapOptions, type Layer, type LayerManager, type Element, type ElementType, type CircleData, type PointData, type ElementData, } from './container';
export { type View, type Renderer, type Style, type Tools };
export interface Map2D {
    container: Container;
    renderer: Renderer;
    view: View;
    emitter: events.emitter.Emitter;
    interactiveManager: InteractiveManager;
    tools: Tools;
    destroy(): void;
}
export interface Map2DOptions {
    mounted?: () => void;
    updated?: () => void;
    unMounted?: () => void;
    el: HTMLElement | string;
    baseMap?: BaseMapOptions;
    view?: ViewOptions;
}
/**
 *
 * @param options Map2DOptions
 * @returns Map2D 目前包含container、 renderer、view、 interactive 四大模块
 */
export declare function createMap(options: Map2DOptions): Map2D;
