import React, { ReactNode } from 'react'; export declare const TABLE_CLASS = "jp-sortable-table"; /** * A namespace for Table. */ export declare namespace Table { /** * The state which will be restored from layout tracker. */ interface ISortState { sortKey?: string | null; sortDirection: -1 | 1; } /** * The initialization options for the table. */ interface IOptions extends Partial { rows: IRow[]; columns: IColumn[]; onRowClick?: React.MouseEventHandler; blankIndicator: () => ReactNode; } /** * Table row with data to display. */ interface IRow { data: T; key: string; } /** * Column definition. */ interface IColumn { id: string; label: string; renderCell(data: T): ReactNode; sort(a: T, b: T): number | undefined; isAvailable?(): boolean; isHidden?: boolean; } } /** * Sortable table component for small datasets. * * For large datasets use `DataGrid` from `@lumino/datagrid`. */ export declare function Table(props: Table.IOptions): JSX.Element;