import { TableState, TableColumn, SortOrder, AllRowsAction, SingleRowAction, SortAction } from '../DataTable/types'; interface UseTableStateProps { data: T[]; keyField: string; defaultSortColumn: TableColumn; defaultSortDirection: SortOrder; paginationDefaultPage: number; paginationPerPage: number; paginationServer: boolean; paginationServerOptions: { persistSelectedOnSort?: boolean; persistSelectedOnPageChange?: boolean; }; paginationTotalRows: number; pagination: boolean; selectableRowsSingle: boolean; selectableRowsVisibleOnly: boolean; selectableRowSelected: ((row: T) => boolean) | null; clearSelectedRows: boolean; paginationResetDefaultPage: boolean; onSelectedRowsChange: (state: { allSelected: boolean; selectedCount: number; selectedRows: T[]; }) => void; onSort: (selectedColumn: TableColumn, sortDirection: SortOrder, sortedRows: T[]) => void; onChangePage: (page: number, totalRows: number) => void; onChangeRowsPerPage: (currentRowsPerPage: number, currentPage: number) => void; } interface UseTableStateReturn { tableState: TableState; handleSort: (action: SortAction) => void; handleSelectAllRows: (action: AllRowsAction) => void; handleSelectedRow: (action: SingleRowAction) => void; handleChangePage: (page: number) => void; handleChangeRowsPerPage: (newRowsPerPage: number, tableRowsLength: number) => void; } export default function useTableState(props: UseTableStateProps): UseTableStateReturn; export {};