import { default as SoonSpace, PluginObject } from 'soonspacejs';
import { default as HeatMapPlugin, DrawingParam, ScenePolygonDataPoint, StoreValue, StoreValuePolygon } from '.';
declare class CreateDrawing {
    readonly heatMapPlugin: HeatMapPlugin;
    readonly store: Map<string | number, StoreValuePolygon | StoreValue>;
    ssp: SoonSpace;
    intervalId: number | null;
    currentMouseEvent: MouseEvent | null;
    lastTime: Date | undefined;
    events: {
        [key in string]: ((event: KeyboardEvent) => void) | ((event: PointerEvent) => void);
    };
    isDragging: boolean;
    isStarting: boolean;
    createDrawingParam: DrawingParam;
    dataPoints: DrawingParam['data'];
    object: PluginObject;
    startResolve: ((value: ScenePolygonDataPoint[] | PromiseLike<ScenePolygonDataPoint[]>) => void) | undefined;
    startReject: ((value: ScenePolygonDataPoint[] | PromiseLike<ScenePolygonDataPoint[]>) => void) | undefined;
    constructor(heatMapPlugin: HeatMapPlugin, param: DrawingParam);
    start: () => Promise<ScenePolygonDataPoint[]>;
    cancel: () => void;
    dispose: () => void;
    done: () => void;
    remove: () => void;
    private pushPoint;
    private popPoint;
    private handleAddPoint;
    private setMouseEvent;
    private handleEventListeners;
    private keyEvents;
    private getPoint;
    private onPointerdown;
    private onPointerMove;
    private onPointerUp;
}
export default CreateDrawing;
