import React, { Component } from 'react'; interface Heading { label: string; sortable?: boolean; } interface Row { className?: string; onClick?: (e: React.MouseEvent) => void; data: any[]; } interface Props { /** An object containing two keys: label (string) and sortable (bool) */ headings?: Heading[]; /** An object containing two keys: data (an array of column values) * and className (string) */ rows?: Row[]; /** A callback function when a column heading is sorted, * returns column index and sort direction */ onSort?: (column: number, sortDirection: string) => void; } export default class DataTable extends Component { state: { sorted: number; sortDirection: string; }; onSort: (column: number, isSortable: boolean) => void | null; setSortDirection: (oldCol: number, newCol: number) => "desc" | "asc"; private handleClick; buildHeadings: (headings: Heading[] | undefined) => JSX.Element | undefined; buildRows: (rows: Row[] | undefined) => JSX.Element[] | undefined; renderCaret: (column: number) => JSX.Element | undefined; render(): JSX.Element; } export {};