import { ChangeEvent } from 'react'; export declare type ColumnProps = { title: string; sortKey: string; locked?: boolean; [key: string]: any; }; export declare type SelectAllCheckboxStates = 'all' | 'none' | 'some'; export declare type SortProps = { direction: 'asc' | 'desc'; fieldKey: string; }; export declare type TableToolsProps = { totalItems: number; columns: ColumnProps[]; clientSortBy?: SortProps; checkedItems?: string[]; layout?: { [key: number]: string[]; } | string[]; }; export interface TableToolsState { currentLayout: string[]; visibleColumns: ColumnProps[]; totalItems: number; columns: ColumnProps[]; checkedItems: string[]; selectAllCheckboxState: SelectAllCheckboxStates; currentSort: SortProps; lastChecked: { id: string; value: string; } | null; } export interface TableToolsReturnProps extends TableToolsState { switchColumns: (from: string, to: string) => void; switchCurrentLayout: (currentLayout: string[]) => void; offsetColumns: (obj?: { includeVisible: boolean; }) => ColumnProps[]; onSelection: (items: string[]) => void; deselectAll: () => void; selectAll: (checkedItems: string[]) => void; checkboxToggle: (evt: ChangeEvent) => void; checkboxShiftToggle: (evt: ChangeEvent) => void; checkboxState: (id: string) => boolean; clientSortMethod: (a: object, b: object) => number; changeSortDirection: (direction: SortProps['direction']) => void; toggleSortDirection: () => void; toggleSortByKey: (fieldKey: string) => void; sortData: (sortProps: SortProps) => void; activeSort: (sortProps: SortProps) => boolean; activeSortKey: (key: string) => boolean; getCheckboxProps: any; } export declare const actionTypes: { updateState: string; switchColumns: string; switchCurrentLayout: string; deselectAll: string; selectAll: string; checkboxToggle: string; checkboxShiftToggle: string; changeSortDirection: string; toggleSortDirection: string; toggleSortByKey: string; sortData: string; }; export declare type Action = { type: string; payload?: any; }; export declare type ReducerProps = (prevState: S, action: A) => S; export declare const tableToolsReducer: ReducerProps; export declare const useTableTools: ({ layout, totalItems, clientSortBy, columns, checkedItems, }: TableToolsProps, reducer?: ReducerProps) => TableToolsReturnProps; //# sourceMappingURL=tableTools.d.ts.map