import { ElementRef } from '@angular/core';
import { Feature } from '../feature';
import * as i0 from "@angular/core";
export declare class IgGridSelectionFeature extends Feature<IgGridSelection> {
    constructor(el: ElementRef);
    /**
     * Destroys the selection widget.
     */
    destroy(): void;
    /**
     * Clears all selected cells, selected rows, active cell and active row. Also updates the UI accordingly
     */
    clearSelection(): void;
    /**
     * Selects a cell by row/col
     *
     * @param row     Row index
     * @param col     Column index
     * @param isFixed     If the cell is part of the fixed or unfixed area of the grid.
     */
    selectCell(row: number, col: number, isFixed?: boolean): void;
    /**
     * Selects a cell by row id/column key
     *
     * @param id     Row Id
     * @param colKey     Column key
     */
    selectCellById(id: object, colKey: string): void;
    /**
     * Deselects a cell by row/col
     *
     * @param row     Row index
     * @param col     Column index
     * @param isFixed     If the cell is part of the fixed or unfixed area of the grid.
     */
    deselectCell(row: number, col: number, isFixed?: boolean): void;
    /**
     * Deselects a cell by row id/column key
     *
     * @param id     Row Id
     * @param colKey     Column key
     */
    deselectCellById(id: object, colKey: string): void;
    /**
     * Selects a row by index
     *
     * @param index     Row index
     */
    selectRow(index: number): void;
    /**
     * Selects a row by row id
     *
     * @param id     Row Id
     */
    selectRowById(id: object): void;
    /**
     * Deselects a row by index
     *
     * @param index     Row index
     */
    deselectRow(index: number): void;
    /**
     * Deselects a row by row id
     *
     * @param id     Row Id
     */
    deselectRowById(id: object): void;
    /**
     * Returns an array of selected cells in arbitrary order where every objects has the format
     * { element: , row: , index: , rowIndex: , columnKey: } .
     *
     * 				If multiple selection is disabled the function will return null.
     */
    selectedCells(): any[];
    /**
     * Returns an array of selected rows in arbitrary order where every object has the format { element: , index: } .
     *
     * 				If multiple selection is disabled the function will return null.
     */
    selectedRows(): any[];
    /**
     * Returns the currently selected cell that has the format { element: , row: , index: , rowIndex: , columnKey: }, if any.
     *
     * 				If multiple selection is enabled the function will return null.
     */
    selectedCell(): object;
    /**
     * Returns the currently selected row that has the format { element: , index: }, if any.
     *
     * 				If multiple selection is enabled the function will return null.
     */
    selectedRow(): object;
    /**
     * Returns the currently active (focused) cell that has the format { element: , row: , index: , rowIndex: , columnKey: }, if any.
     */
    activeCell(): object;
    /**
     * Returns the currently active (focused) row that has the format { element: , index: }, if any.
     */
    activeRow(): object;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgGridSelectionFeature, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgGridSelectionFeature, "selection", never, { "disabled": { "alias": "disabled"; "required": false; }; "create": { "alias": "create"; "required": false; }; "multipleSelection": { "alias": "multipleSelection"; "required": false; }; "mouseDragSelect": { "alias": "mouseDragSelect"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "activation": { "alias": "activation"; "required": false; }; "wrapAround": { "alias": "wrapAround"; "required": false; }; "skipChildren": { "alias": "skipChildren"; "required": false; }; "multipleCellSelectOnClick": { "alias": "multipleCellSelectOnClick"; "required": false; }; "touchDragSelect": { "alias": "touchDragSelect"; "required": false; }; "persist": { "alias": "persist"; "required": false; }; "allowMultipleRangeSelection": { "alias": "allowMultipleRangeSelection"; "required": false; }; }, { "rowSelectionChanging": "rowSelectionChanging"; "rowSelectionChanged": "rowSelectionChanged"; "cellSelectionChanging": "cellSelectionChanging"; "cellSelectionChanged": "cellSelectionChanged"; "activeCellChanging": "activeCellChanging"; "activeCellChanged": "activeCellChanged"; "activeRowChanging": "activeRowChanging"; "activeRowChanged": "activeRowChanged"; }, never, never, false, never>;
}
