import { IGrid, NotifyArgs } from '../base/interface';
/**
 *
 * Reorder module is used to handle row reordering.
 *
 * @hidden
 */
export declare class RowDD {
    private isSingleRowDragDrop;
    private hoverState;
    private startedRow;
    private startedRowIndex;
    private dragTarget;
    private onDataBoundFn;
    private timer;
    private selectedRows;
    private isOverflowBorder;
    private selectedRowColls;
    private isRefresh;
    private rows;
    private rowData;
    private dragStartData;
    private draggable;
    private isReplaceDragEle;
    private isDropGrid;
    private istargetGrid;
    private helper;
    private dragStart;
    private getParentGrid;
    private drag;
    private isNewRowAdded;
    private groupRowDDIndicator;
    private dragStop;
    private processDragStop;
    private refreshRow;
    private updateFrozenRowreOrder;
    private refreshRowTarget;
    private updateFrozenColumnreOrder;
    private refreshData;
    private rowOrder;
    private currentViewData;
    reorderRows(fromIndexes: number[], toIndex: number): void;
    private removeCell;
    private parent;
    /**
     * Constructor for the Grid print module
     *
     * @param {IGrid} parent - specifies the IGrid
     * @hidden
     */
    constructor(parent?: IGrid);
    private stopTimer;
    /**
     * To trigger action complete event.
     *
     * @param {NotifyArgs} e - specifies the NotifyArgs
     * @returns {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private initializeDrag;
    private updateScrollPostion;
    private setScrollDown;
    private moveDragRows;
    private setBorder;
    private getScrollWidth;
    private removeFirstRowBorder;
    private removeLastRowBorder;
    private removeBorder;
    private getElementFromPosition;
    private onDataBound;
    private getTargetIdx;
    private singleRowDrop;
    private columnDrop;
    private reorderRow;
    private enableAfterRender;
    /**
     * To destroy the print
     *
     * @returns {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {string} returns the module name
     * @private
     */
    protected getModuleName(): string;
    private processArgs;
}
