import * as React from 'react'; import {StyletronComponent} from 'styletron-react'; import {Override} from '../overrides'; export interface TableOverrides { Root?: Override; Table?: Override; TableHead?: Override; TableHeadRow?: Override; TableHeadCell?: Override; TableBody?: Override; TableBodyRow?: Override; TableBodyCell?: Override; TableLoadingMessage?: Override; TableEmptyMessage?: Override; } export interface TableProps { overrides?: TableOverrides; columns: Array; data: React.ReactNode[][]; horizontalScrollWidth?: string; isLoading?: boolean; loadingMessage?: React.ReactNode | (() => React.ReactNode); emptyMessage?: React.ReactNode | (() => React.ReactNode); } export class Table extends React.Component {} export interface BuilderOverrides extends TableOverrides { TableHeadCellSortable?: Override; SortAscIcon?: Override; SortDescIcon?: Override; SortNoneIcon?: Override; } export interface TableBuilderProps { overrides?: BuilderOverrides; children?: React.ReactNode; data: RowT[]; horizontalScrollWidth?: string; sortColumn?: string | null; sortOrder?: 'ASC' | 'DESC' | null; onSort?: (columnId: string) => void; isLoading?: boolean; loadingMessage?: React.ReactNode | (() => React.ReactNode); emptyMessage?: React.ReactNode | (() => React.ReactNode); } export class TableBuilder extends React.Component< TableBuilderProps > {} export interface ColumnOverrides { TableHeadCell?: Override; TableHeadCellSortable?: Override; TableBodyCell?: Override; SortAscIcon?: Override; SortDescIcon?: Override; SortNoneIcon?: Override; } export interface TableBuilderColumnProps { overrides?: ColumnOverrides; children: (row: RowT | any, rowIndex?: number) => React.ReactNode; id?: string; header?: React.ReactNode; numeric?: boolean; sortable?: boolean; tableHeadAriaLabel?: string; } export class TableBuilderColumn extends React.Component< TableBuilderColumnProps > {} export const StyledRoot: StyletronComponent; export const StyledTable: StyletronComponent; export const StyledTableHead: StyletronComponent; export const StyledTableHeadRow: StyletronComponent; export const StyledTableHeadCell: StyletronComponent; export const StyledTableHeadCellSortable: StyletronComponent; export const StyledTableBody: StyletronComponent; export const StyledTableBodyRow: StyletronComponent; export const StyledTableBodyCell: StyletronComponent; export const StyledTableLoadingMessage: StyletronComponent; export const StyledTableEmptyMessage: StyletronComponent; export const StyledSortAscIcon: StyletronComponent; export const StyledSortDescIcon: StyletronComponent; export const StyledSortNoneIcon: StyletronComponent;