import * as React from 'react'; import { AbstractComponent, AjaxLoaderInjectedProps, AxiosRequestConfiguration, TableDefinition, TableRowDefinition, TableState, TableStateChanged } from '..'; import { TableProps as BootstrapTableProps } from 'react-bootstrap'; import { History } from 'history'; export interface TableComponentProps extends BootstrapTableProps, AjaxLoaderInjectedProps { id?: string; remote?: boolean; tableData?: Array; tableState?: TableState; messages?: { [key: string]: { id: string; defaultMessage: string; }; }; rowDefinitions?: Array> | ((props: TableComponentProps) => Array>); onRowClick?: (rowEvent: { id: any; history: History; e: any; row: any; rowIndex: number; props: TableComponentProps; }) => void; onTableChange?: (type: string, remoteProps: TableStateChanged) => void; tableInitializer?: { tableData: Array; tableState?: TableState; }; requestConfigCallback?: (requestConfig: Partial) => Promise<{ tableData: Array; tableState?: TableState; }>; tableDefinition?: TableDefinition; writeToUrl?: boolean; store?: any; classes?: any; noDataIndication?: any; caption?: any; rowStyle?: any; rowClasses?: any; wrapperClasses?: any; extra?: U; } export interface TableComponentState { tableData: Array; tableState?: TableState; } export declare class TableComponent = TableComponentProps, V extends TableComponentState = TableComponentState> extends AbstractComponent { static defaultProps: { id: string; messages: {}; rowDefinitions: any[]; remote: boolean; tableData: any[]; tableState: {}; writeToUrl: boolean; }; constructor(props: any, context: any); renderTable(): JSX.Element; render(): JSX.Element; } export declare class TableComponentTable extends TableComponent { } export declare function tableLoader(remoteTable: any, tableProps?: TableComponentProps): React.ComponentClass;