import DragTopic from './DragTopic';
import EventBusDispatcher from './layout/EventBusDispatcher';
import Topic from './Topic';
import Canvas from './Canvas';
declare class DragManager {
    private _workspace;
    private _isDragInProcess;
    private _eventDispatcher;
    private _listeners;
    private _mouseMoveListener;
    private _mouseUpListener;
    constructor(workspace: Canvas, eventDispatcher: EventBusDispatcher);
    add(topic: Topic): void;
    remove(): void;
    protected buildMouseMoveListener(workspace: Canvas, dragNode: DragTopic, dragManager: DragManager): (event: MouseEvent) => void;
    protected _buildMouseUpListener(workspace: Canvas, dragNode: DragTopic, dragManager: DragManager): (event: Event) => void;
    addEvent(type: 'startdragging' | 'dragging' | 'enddragging', listener: (event: MouseEvent, dragTopic: DragTopic) => void): void;
}
export default DragManager;
