import type { DataValueType, Sorting, SortQuery } from './DataTable.types'; /** * Compute the next sorting direction for a column. * - string: undefined → asc → desc → undefined * - number/date: undefined → 1 → -1 → undefined */ export declare const nextSortDirection: (prev: Sorting | undefined, type?: "string" | "number" | "date") => Sorting | undefined; /** * Update the sort query object for a table column. * Toggles sort direction, removing key when reset. */ export declare const updateSortQuery: (sortQuery: SortQuery, name: string, type?: DataValueType) => SortQuery; /** Options for {@link useRowSelection}. */ export interface UseRowSelectionOptions { items: T[]; getKey: (item: T, idx: number) => string | number; selectedRowKeys?: Array; defaultSelectedRowKeys?: Array; onSelectionChange?: (selectedRowKeys: Array, selectedItems: T[]) => void; isRowSelectable?: (item: T) => boolean; } /** * Shared row-selection state/behaviour used by DataTable and VirtualizedDataTable. * Supports controlled (`selectedRowKeys`) and uncontrolled (`defaultSelectedRowKeys`) usage. */ export declare const useRowSelection: ({ items, getKey, selectedRowKeys, defaultSelectedRowKeys, onSelectionChange, isRowSelectable, }: UseRowSelectionOptions) => { selectedKeys: (string | number)[]; isSelected: (key: string | number) => boolean; toggleRow: (key: string | number) => void; toggleAll: () => void; allSelected: boolean; someSelected: boolean; };