///
///
import { Control, Scene } from '@antv/l7';
import { BaseMode } from '../mode';
import { BtnType, DrawType, IDrawControlProps } from './types';
import './iconfont.js';
import './index.less';
import { Feature } from '@turf/turf';
export declare class DrawControl extends Control {
controlOption: IDrawControlProps;
protected sceneInstance: Scene;
protected drawMap: Partial>;
protected btnMap: Partial>;
protected activeType: DrawType | null;
constructor(scene: Scene, options?: Partial);
getActiveType(): DrawType | null;
getDefault(): IDrawControlProps;
addTo(container: any): this;
onAdd(): HTMLElement;
onRemove(): void;
init(): void;
getDrawData(): import("lodash").Dictionary[]>;
getTypeDraw(type: DrawType): BaseMode>> | null;
emitDataChange: import("lodash").DebouncedFunc<() => void>;
emitDrawSelect: (drawType: DrawType, feature?: Feature) => void;
/**
* 按钮的点击事件
* @param e
*/
onBtnClick(e: Event): void;
/**
* 设置当前激活的绘制类型
* @param type
*/
setActiveType(type: DrawType | null): void;
/**
* 绘制按钮点击的回调
* @param type
*/
onDrawClick(type: DrawType | null): void;
/**
* 清空绘制数据
*/
clearDrawData(): void;
/**
* 创建按钮
* @param type
* @returns
*/
initBtn(type: BtnType): HTMLButtonElement;
}