import { RowManager, RowId } from '../lib/row-manager';
interface UseGridSelectionProps<T extends {}> {
    rowManager: RowManager<T>;
    displayData?: T[];
    onRowSelect?: (selectedRows: T[]) => void;
}
interface UseGridSelectionReturn<T> {
    selectedRowIds: Set<string>;
    isAllSelected: boolean;
    isIndeterminate: boolean;
    handleRowSelect: (rowKey: string, checked: boolean) => void;
    handleSelectAll: (checked: boolean) => void;
    clearSelection: () => void;
    getSelectedData: () => T[];
    getSelectedRowIds: () => RowId[];
}
export type GridSelectionAPI = UseGridSelectionReturn<any>;
export declare function useGridSelection<T extends {}>({ rowManager, displayData, onRowSelect, }: UseGridSelectionProps<T>): UseGridSelectionReturn<T>;
export {};
//# sourceMappingURL=use-grid-selection.d.ts.map