import type { BaseTableColumn, BaseTableProps } from './types'; export declare function useFlattenedColumns, TData = any>(columns: TColumn[]): TColumn[]; export declare function useTableSorting(data: TData[], sortable: boolean, onSort?: (key: string, direction: 'asc' | 'desc') => void, pagination?: BaseTableProps['pagination']): { sortColumn: string; sortDirection: "desc" | "asc"; sortedData: TData[]; handleSort: (columnKey: string, columnIndex?: number) => void; internalPage: number; setInternalPage: import("react").Dispatch>; }; export declare function useTablePagination(data: TData[], pagination?: BaseTableProps['pagination'], internalPage?: number, setInternalPage?: (page: number) => void): { pageSize: number; currentPage: number; setCurrentPage: (page: number) => void; paginatedData: TData[]; totalPages: number; }; export declare function useTableVirtualization(paginatedData: TData[], virtualized: boolean, virtualizedRowHeight: number, tableWrapperRef: React.RefObject, theadRef: React.RefObject): { scrollTop: number; visibleData: { data: TData[]; startIndex: number; totalHeight: number; offsetY: number; }; handleScroll: (e: React.UIEvent) => void; }; export declare function useTableKeyboardNavigation(sortable: boolean, flattenedColumns: TColumn[], handleSort: (columnKey: string, columnIndex?: number) => void, headerRefs: React.MutableRefObject<(HTMLButtonElement | null)[]>): { focusedColumnIndex: number; setFocusedColumnIndex: import("react").Dispatch>; handleHeaderKeyDown: (e: React.KeyboardEvent, columnKey: string, columnIndex: number) => void; };