import { Ref, PropType, ExtractPropTypes } from 'vue'; import type { DataTableRow, DataTableItem, DataTableSelectMode, DataTableItemKey } from '../types'; export declare const useSelectableProps: { modelValue: { type: PropType; }; selectMode: { type: PropType; default: string; }; itemsTrackBy: { type: PropType) => any)>; default: string; }; selectable: { type: BooleanConstructor; default: boolean; }; }; export type TEmits = 'update:modelValue' | 'selectionChange'; export type TSelectionChange = { currentSelectedItems: (DataTableItem | DataTableItemKey)[]; previousSelectedItems: (DataTableItem | DataTableItemKey)[]; }; export type TSelectableEmits = (event: TEmits, arg: (DataTableItem | DataTableItemKey)[] | TSelectionChange) => void; export declare const useSelectableRow: (paginatedRows: Ref, props: ExtractPropTypes, emit: TSelectableEmits) => { ctrlSelectRow: (row: DataTableRow) => void; shiftSelectRows: (row: DataTableRow) => void; toggleRowSelection: (row: DataTableRow) => void; toggleBulkSelection: () => void; isRowSelected: (row: DataTableRow) => boolean; noRowsSelected: import("vue").ComputedRef; severalRowsSelected: import("vue").ComputedRef; allRowsSelected: import("vue").ComputedRef; };