import React from 'react'; import { LogicalExpression, PagingParams, SortingField } from 'fusefx-repositorycontract'; export interface TableColumn { label: string; fieldName: string; fieldType: string; key: string; onRenderCell?: (cellValue: any, record: any) => React.JSX.Element | string; minCellLength?: number; maxCellLength?: number; renderFilter?: (filter: LogicalExpression, onFilterChanged: (filter: LogicalExpression | null) => void, column: TableColumn, availableRecords: any[]) => React.JSX.Element; sortable?: boolean; } export interface TableColors { header?: string; headerHover?: string; cell?: string; cellHover?: string; } export interface ExpandableProps { renderExpandedRow: (record: any) => React.JSX.Element; rowExpandable: (record: any) => boolean; } declare const Table: React.FC<{ columns: TableColumn[]; records: any[]; entityName?: string; getId?: (e: any) => any; className?: string; classNameHeader?: string; onRecordEnter?: (r: any) => void; onSelectedRecordsChange?: (selectedRecords: any[]) => void; selectedRecords?: any; pagingParams?: PagingParams; totalCount?: number; onPagingParamsChange?: (p: PagingParams) => void; initialSortingParams?: SortingField[]; onSortingParamsChange?: (sortingParams: SortingField[], changedField: SortingField) => void; initialFilters?: { [c: string]: LogicalExpression; }; onFilterChanged?: (filterByColumn: { [c: string]: LogicalExpression; }) => void; expandableRowProps?: ExpandableProps; rowHeight?: number; tableColors?: TableColors; useClientFilter?: boolean; isParent?: (c: any, p: any) => boolean; showTree?: boolean; pageSizes?: number[]; }>; export default Table;