import type { DataTableFilter, DataTableSort, DataTablePagination, DataTableColumn, DataTableProps } from '../types'; interface UseDataTableStateProps { data: T[]; columns: DataTableColumn[]; initialSortBy?: DataTableSort[]; initialFilters?: DataTableFilter[]; initialPagination?: DataTablePagination; initialSelectedRows?: (string | number)[]; initialExpandedRows?: (string | number)[]; initialHiddenColumns?: string[]; getRowId?: (row: T, index: number) => string | number; rowFeatureToggle?: DataTableProps['rowFeatureToggle']; } interface UseDataTableStateReturn { processedData: T[]; totalFiltered: number; searchValue: string; setSearchValue: (value: string) => void; sortBy: DataTableSort[]; setSortBy: (sorts: DataTableSort[]) => void; handleSort: (columnKey: string) => void; filters: DataTableFilter[]; setFilters: (filters: DataTableFilter[]) => void; activeFilters: DataTableFilter[]; pagination?: DataTablePagination; setPagination?: (pagination: DataTablePagination) => void; selectedRows: (string | number)[]; setSelectedRows: (rows: (string | number)[]) => void; isAllSelected: boolean; isIndeterminate: boolean; handleRowSelect: (rowId: string | number) => void; handleSelectAll: () => void; expandedRows: (string | number)[]; setExpandedRows: (rows: (string | number)[]) => void; handleRowExpand: (rowId: string | number) => void; hiddenColumns: string[]; setHiddenColumns: (columns: string[]) => void; visibleColumns: DataTableColumn[]; } export declare function useDataTableState({ data, columns, initialSortBy, initialFilters, initialPagination, initialSelectedRows, initialExpandedRows, initialHiddenColumns, getRowId, rowFeatureToggle }: UseDataTableStateProps): UseDataTableStateReturn; export {};