///
import * as ko from 'knockout';
import { IItemsCollection } from './_interfaces';
export declare class DragProcessor {
rootElement: HTMLElement;
CSS_DRAG_IN_PROGRESS: string;
CSS_HIGHLIGHT_PLACEHOLDER: string;
COLLECTION_SELECTOR: string;
TARGET_SELECTOR: string;
EVENT_NAMESPACE: string;
currentDrag: {
clonedElement: HTMLElement;
itemPosition: number;
originalEvent: DragEvent;
itemElement: HTMLElement;
sourceCollection: IItemsCollection;
};
constructor(rootElement: HTMLElement);
state: 'pending' | 'dragging';
startDrag(ev: JQueryEventObject): boolean;
setDataItemsPositions: (sourceCollectionRoot: HTMLElement) => void;
processHtmlDragEvent: () => void;
finishDrag: () => void;
checkItemIsDraggableToPosition(itemIndex: number, placeholderIndex: number): boolean;
interchange(items: ko.ObservableArray, newOwner: {
relocateItem: (item: any, placeholderIndex: number) => void;
}, sourceIndex: number, placeholderIndex: number, groupSize: number): void;
}