import * as React from 'react';
export declare type TableSortFunction<T> = (a: T, b: T) => number;
export interface TableColumn<T> {
    cellAttributes?: React.AnchorHTMLAttributes<HTMLAnchorElement> | ((value: any, row: T) => React.AnchorHTMLAttributes<HTMLAnchorElement>);
    field: keyof T;
    icon?: string;
    label?: string | JSX.Element;
    render?: (value: any, row: T) => string | number | JSX.Element | null;
    sortable?: boolean | TableSortFunction<T>;
}
export interface TableRowProps<T> {
    className?: string;
    isChecked: boolean;
    isHighlighted: boolean;
    keyAttribute: string | number;
    onRowClick: (e: any) => void;
    toggleChecked: (e: any) => void;
    showCheck: boolean;
    columns: Array<TableColumn<T>>;
    href?: string;
    data: T;
    attributes?: React.AnchorHTMLAttributes<HTMLAnchorElement>;
    checkboxAttributes?: React.InputHTMLAttributes<HTMLInputElement>;
}
export declare class TableRow<T> extends React.PureComponent<TableRowProps<T>, {}> {
    render(): JSX.Element;
}
