import { type JSX } from 'react'; import { ITableCell } from './TableCell'; export interface IColumn { title: string; name: string; sortable?: boolean; filterable?: boolean; type?: 'string' | 'boolean'; cellStyle?: 'normal' | 'overflow'; renderCell?: (props: ITableCell) => JSX.Element; canSelectCell?: boolean; } export interface IRow { [propName: string]: ICell | string | number | boolean | object | undefined; rowId?: string | number; } export interface ICell { id: string | number; value: any; } export interface IColumnSortOrder { column: string; sortOrder: 'asc' | 'dsc' | ''; } export interface TableProps { title?: string; data: IRow[]; columns: IColumn[]; sortable?: boolean | 'disabled'; filterable?: boolean; selectable?: boolean; selectOnRight?: boolean; selectedFloatToTop?: boolean; selectActions?: any; onSelectedChanged: (selectedItems: IRow[]) => void; onFilteredDataChanged?: (filteredItems: IRow[]) => void; tableStyle?: 'normal' | 'light'; highlightFilter?: boolean; filters?: { name: string; value: string | number | boolean; }[]; fixed?: boolean; recordsPerPage?: number; displayingInfo?: boolean; externalFilter?: string; } export interface TableActionsProps { children?: any; } export default function Table({ title, data, columns, sortable, filterable, selectable, selectOnRight, selectedFloatToTop, selectActions, onSelectedChanged, onFilteredDataChanged, tableStyle, highlightFilter, filters, fixed, recordsPerPage, displayingInfo, externalFilter }: Readonly): JSX.Element; export declare function TableActions(props: Readonly): JSX.Element;