import { Subject } from 'rxjs';
export declare class DragNDropItem {
    private _elementWrapper;
    private _currentIndex;
    private _wrapperClone;
    private _elementClone;
    private readonly _element;
    private _shiftX;
    private _shiftY;
    private _potentialIndex;
    private _holdingOverTimer;
    private _dropableBelow;
    currentIndex: number;
    protected indexChangeSource: Subject<{
        from: number;
        to: number;
    }>;
    emitIndexChange$: import("rxjs/internal/Observable").Observable<{
        from: number;
        to: number;
    }>;
    private static removeDraggableAnimations;
    private static addDraggableAnimations;
    constructor(_elementWrapper: HTMLElement, _currentIndex: number);
    readonly elementWrapper: HTMLElement;
    readonly element: HTMLElement;
    readonly localId: number;
    enable(): void;
    disable(): void;
    private addEvents;
    private removeEvents;
    private onMouseDown;
    private putClone;
    removeClones(): void;
    private killDragStartOnImages;
    private disableDragSelect;
}
