import { ThHTMLAttributes, TdHTMLAttributes, ReactNode, MouseEvent, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
export declare enum Order {
    None = 0,
    Asc = 1,
    Desc = -1
}
interface ISelfProps {
    head?: boolean;
    order?: Order;
    children?: ReactNode;
    onOrderChange?(order: Order, event: MouseEvent): any;
}
export declare type ITableCellProps = CombinePropsAndAttributes<ISelfProps, ThHTMLAttributes<HTMLTableHeaderCellElement>> | CombinePropsAndAttributes<ISelfProps, TdHTMLAttributes<HTMLTableDataCellElement>>;
export declare const OrderValues: Order[];
export declare class TableCell extends PureComponent<ITableCellProps> {
    static propTypes: {
        head: PropTypes.Requireable<boolean>;
        onOrderChange: PropTypes.Requireable<(...args: any[]) => any>;
        order: PropTypes.Requireable<Order>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
    };
    static defaultProps: {
        head: boolean;
    };
    render(): JSX.Element;
    private onOrderChange;
    private onKeyPress;
}
export {};
//# sourceMappingURL=TableCell.d.ts.map