import { RowManager } from '../lib/row-manager';
import { GridColumn, SortingState, FilteringState, PaginationState } from '../types';
interface UseGridStateProps<T extends {}> {
    rowManager: RowManager<T>;
    columns: GridColumn<T>[];
    initialSorting?: SortingState[];
    initialFiltering?: FilteringState;
    initialPagination?: Partial<PaginationState>;
    dataVersion?: number;
}
interface UseGridStateReturn<T> {
    sorting: SortingState[];
    filtering: FilteringState;
    pagination: PaginationState;
    displayIndices: number[];
    totalCount: number;
    filteredCount: number;
    totalPages: number;
    temporaryPageSizeIncrease: number;
    handleSort: (columnId: string) => void;
    handleFilter: (columnId: string, value: any) => void;
    handlePageChange: (pageIndex: number) => void;
    handlePageSizeChange: (pageSize: number) => void;
    handleTemporaryPageSizeIncrease: () => void;
    handleTemporaryPageSizeDecrease: () => void;
    clearSorting: () => void;
    clearFiltering: () => void;
    clearAll: () => void;
}
export declare function useGridState<T extends {}>(props: UseGridStateProps<T>): UseGridStateReturn<T>;
export {};
//# sourceMappingURL=use-grid-state.d.ts.map