import { ObjectsTableDetailField, ObjectsTableProps, PaginationOptions, ReferenceObject, TableAction, TableColumn, TablePagination, TableSelection, TableSorting } from ".."; import { ObjectsListProps } from "./ObjectsList"; export interface TableConfig extends Omit, "rows" | "isLoading" | "onChange" | "pagination" | "onChangeSearch" | "reload"> { columns: TableColumn[]; actions: TableAction[]; paginationOptions: PaginationOptions; initialSorting: TableSorting; initialSelection?: TableSelection[]; details?: ObjectsTableDetailField[]; searchBoxLabel?: string; initialSearch?: string; } export interface Pager { page: number; pageCount: number; total: number; pageSize: number; } export declare type GetRows = (search: string, paging: TablePagination, sorting: TableSorting) => Promise<{ objects: Obj[]; pager: Pager; }>; export declare type GetAllIds = (search: string, sorting: TableSorting) => Promise; export declare function useObjectsTable(config: TableConfig, getRows: GetRows, getAllIds?: GetAllIds): ObjectsListProps;