import Konva from 'konva'; import { Board } from '../../Board'; import { Tag } from '../../Tag'; import { ShapeModel } from '../../shape/ShapeModel'; import { IShape, IDrawableShape, Point, DrawingOptions } from '../../types'; export declare abstract class ShapeDrawer implements IShape, IDrawableShape { config: Partial

; startPoint: Point; protected readonly board: Board; protected dimensionsTag: Tag | undefined; private drawType; abstract node: T | null; constructor(board: Board, drawType: string, options?: DrawingOptions); get isDrawing(): boolean; insert(config: Konva.ShapeConfig): ShapeModel; draw(config: Partial

): void; stopDrawing(): void; getShapePosition(): { x: number; y: number; }; protected onStartDrawing(): void; protected onDrawing(e: Konva.KonvaEventObject): void; protected onFinishDrawing(): void; private onKeyDown; protected abstract createShape(config: Partial): ShapeModel; }