import EventEmitter from './EventEmitter';
import { Root } from '../items';
export type DragListenerEvent = Pick<JQuery.TriggeredEvent, 'button' | 'pageX' | 'pageY' | 'preventDefault'>;
declare class DragListener extends EventEmitter {
    private _eElement;
    private _oDocument;
    private _eBody;
    private _root;
    private _destroyAfterMouseUp;
    /**
     * The delay after which to start the drag in milliseconds
     */
    private _nDelay;
    private _timeout;
    timeout: number | undefined;
    /**
     * The distance the mouse needs to be moved to qualify as a drag
     */
    private _nDistance;
    private _nX;
    private _nY;
    private _nOriginalX;
    private _nOriginalY;
    private _bDragging;
    constructor(eElement: JQuery<HTMLElement>, root?: Root, destroyAfterMouseUp?: boolean);
    destroy(): void;
    onMouseDown(oEvent: DragListenerEvent): void;
    onMouseMove(oEvent: DragListenerEvent): void;
    onMouseUp(oEvent: DragListenerEvent): void;
    _startDrag(): void;
    _getCoordinates(event: DragListenerEvent): {
        x: number;
        y: number;
    };
}
export default DragListener;
//# sourceMappingURL=DragListener.d.ts.map