/// import { FilterColumn, GenericTableRow, SortDirection } from "../table-typings"; /** * sum the total of columns or cols in a row * @param colsLength the length of the columns * @param useSelection add a column for selection checkboxes * @param useShowActionColumn add another column for action columns * @param useGroupBy add another columns for groupby */ export declare function sumCols(colsLength: number, useSelection?: boolean, useShowActionColumn?: boolean, useGroupBy?: boolean): number; /** * sort array of tabke rows * @param items table rows array * @param columnName the target column name * @param sortDirection the sort direction * @return Array of tableRow */ export declare function sortArray(items: Array, columnName: keyof T, sortDirection: SortDirection): Array; /** * * @param data table data * @param filterColumns filter columns */ export declare function filterArrayByColumns(data: Array, filterColumns: Array>): Array; /** * search text in array of table row * @param data the array of table rows * @param keyword The keyword to search in the array * @param searchFields the target field to search */ export declare function searchTextByColumns(data: Array, keyword: string, searchFields: Array): Array; /** * paginate data * @param data table data * @param offset page size * @param currentPage current page index */ export declare function paginate(data: Array, offset: number, currentPage: number): T[]; export interface RowSelectOutput { data: Array>; isAllSelected: boolean; isIndeterminate: boolean; } /** * on row select * @param event input event * @param data rows of data * @param rowUniqueAccessor row unique accessor * @param rowId row id value */ export declare function onRowSelect(event: React.ChangeEvent, data: Array>, rowUniqueAccessor: keyof GenericTableRow, rowId: string): RowSelectOutput;