import type { IHandler, IMouseDownEvent, IMouseMoveEvent, IMouseUpEvent, IShape } from '../../../abstraction'; import { DrawerBase } from './drawer-base'; export declare abstract class DragableDrawer extends DrawerBase { protected _isDraging: boolean; protected _mouseDownBound: IHandler; protected _mouseMoveBound: IHandler; protected _mouseUpBound: IHandler; constructor(shapes?: Array, clickTolerance?: number); isDragable(): boolean; isClickable(): boolean; isSelectable(): boolean; lock(): void; release(): void; protected isRectOutOfView(x1: number, y1: number, x2: number, y2: number): boolean; protected isPointOutOfView(x: number, y: number): boolean; protected handleMouseDown(event: IMouseDownEvent): void; protected handleMouseMove(event: IMouseMoveEvent): void; protected handleMouseUp(event: IMouseUpEvent): void; protected onMouseDown(event: IMouseDownEvent): void; protected onMouseMove(event: IMouseMoveEvent): void; protected onMouseUp(event: IMouseUpEvent): void; }