import type { PrivateTableApiBase, TableSelectionManager } from './types.js';
declare class SelectionManager<TData> implements TableSelectionManager {
    private api;
    constructor(api: PrivateTableApiBase<TData>);
    /**
     * Checks if the table allows row selection
     */
    canSelectRows(): boolean;
    /**
     * Checks if the table allows cell selection
     */
    canSelectCells(): boolean;
    /**
     * Checks if the table has any selected cells
     */
    haveSelectedCells(): boolean;
    /**
     * Selects a single row in the table. Only one row can be selected at a time.
     *
     * @param rowIndex - The index of the row to select
     */
    selectRow(rowIndex: number): void;
    /**
     * Toggles the selection of a row in the table.
     *
     * @param rowIndex - The index of the row to toggle
     */
    toggleRow(rowIndex: number): void;
    /**
     * Selects a range of rows from the last active row to the given row index.
     *
     * @param rowIndex - The index of the row to select from
     */
    selectFromLastActiveRow(rowIndex: number): void;
    /**
     * Selects all rows in the table.
     */
    selectAllRows(): void;
    /**
     * Toggles the selection of all rows in the table.
     */
    toggleSelectAll(): void;
    /**
     * Selects a range of rows from the given index to the given index.
     *
     * @param from - The index of the first row to select
     * @param to - The index of the last row to select
     */
    selectRange(from: number, to: number): void;
    /**
     * Selects a cell in the table.
     *
     * @param rowIndex - The index of the row to select
     * @param columnIndex - The index of the column to select
     */
    selectCell(rowIndex: number, columnIndex: number): void;
    /**
     * Clears the selection of the current cell
     */
    clearCellSelection(): void;
    /**
     * Clears the selection of the table
     */
    clear(): void;
}
export { SelectionManager };
//# sourceMappingURL=selection-manager.d.ts.map