import * as React from "react"; type renderToJsxFn = (rowData: any) => JSX.Element; type columnMode = { type: "sort"; }; type columnContentRender = (rowData: any, column: Column, index: Number) => JSX.Element; type cellEvent = (rowData: any, column: Column, index: Number) => void type Column = { title?: string | number | JSX.Element | renderToJsxFn; key: string; render: columnContentRender; width?: string | number; minWidth?: number; sort?: boolean; cellContainerProps?: React.CSSProperties; headerContainerProps?: React.CSSProperties; headerMode?: columnMode; visible?: boolean; fixed?: "left" | "right"; onCellEnter: cellEvent, onCellLeave: cellEvent }; type dragProps = { onSortEnd: (startIndex, endIndex) => void; }; type renderClassName = () => string; type TableProps = { style?: React.CSSProperties; data: Array; fluid: boolean; columns: Array; bordered?: boolean; rowKey: string; fixHeader: boolean; headerMinHeight?: string | number; headerHeight?: number | "auto"; rowHeight?: number | "auto"; scrollY: number | "auto"; scrollX: number | "auto"; pagination: boolean | object; loading: boolean; subTableKey?: string; subTableRender?: renderToJsxFn; noDataRender: renderToJsxFn; draggable: false | dragProps; showHeader: boolean; size: "small" | "middle" | "large"; loadingDelay: number; rowClassName: string | renderClassName; }; declare class TableStore { viewData: Array; resetTableState: Function; } export default class Table extends React.Component { static defaultProps: { fluid: false; bordered: true; scrollY: "auto"; scrollX: "auto"; rowHeight: "auto"; headerHeight: "auto"; fixHeader: true; pagination: true; loading: false; draggable: false; showHeader: true; noDataRender: renderToJsxFn; loadingDelay: 300; }; static SubTableRowContainer: React.ReactNode; static NoDataSpan: React.ReactNode; state: {}; getTableApi(): typeof TableStore; }