import { Table } from '../index';
/**
 * Enhances the table with selection behaviour.<p>
 *
 * If mouseMoveSelectionEnabled is set to true, the user can select the rows by moving the mouse with pressed left mouse button.
 *
 */
export declare class TableSelectionHandler {
    table: Table;
    mouseMoveSelectionEnabled: boolean;
    mouseOverHandler: (event: JQuery.MouseOverEvent) => void;
    select: boolean;
    counterDebug: number;
    fromIndex: number;
    toIndex: number;
    protected _mouseDown: boolean;
    /** Index of the row that got a 'mouseover' event previously (needed to determine if the user is going up or down) */
    protected _prevSelectedRowIndex: number;
    /** The index of the selected row with the greatest distance to fromIndex (needed to efficiently clear the selection) */
    protected _maxSelectedRowIndex: number;
    constructor(table: Table);
    onMouseDown(event: JQuery.MouseDownEvent): void;
    onMouseOver(event: JQuery.MouseOverEvent): void;
    handleSelection(event: JQuery.MouseEventBase): void;
    protected _selectRange(fromIndex: number, toIndex: number, select: boolean): void;
    getMinMaxSelectionIndizes(): number[];
    onMouseUp(event: JQuery.MouseUpEvent): void;
}
//# sourceMappingURL=TableSelectionHandler.d.ts.map