import * as React from 'react';
import PropTypes from 'prop-types';
import { HeaderCellProps } from './HeaderCell.d';
interface HeaderCelltate {
    columnWidth?: number;
    width?: number;
    flexGrow?: number;
}
declare class HeaderCell extends React.PureComponent<HeaderCellProps, HeaderCelltate> {
    static propTypes: {
        index: PropTypes.Requireable<number>;
        sortColumn: PropTypes.Requireable<string>;
        dataIndex: PropTypes.Requireable<string>;
        sortType: PropTypes.Requireable<string>;
        sortable: PropTypes.Requireable<boolean>;
        resizable: PropTypes.Requireable<boolean>;
        minWidth: PropTypes.Requireable<number>;
        onColumnResizeStart: PropTypes.Requireable<(...args: any[]) => any>;
        onColumnResizeEnd: PropTypes.Requireable<(...args: any[]) => any>;
        onResize: PropTypes.Requireable<(...args: any[]) => any>;
        onColumnResizeMove: PropTypes.Requireable<(...args: any[]) => any>;
        onSortColumn: PropTypes.Requireable<(...args: any[]) => any>;
        flexGrow: PropTypes.Requireable<number>;
        fixed: PropTypes.Requireable<string | boolean>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
    };
    static contextType: React.Context<import("./TableContext").Props>;
    static defaultProps: {
        classPrefix: string;
    };
    static getDerivedStateFromProps(nextProps: HeaderCellProps, prevState: HeaderCelltate): {
        width: number | undefined;
        flexGrow: number | undefined;
        columnWidth: number | undefined;
    } | null;
    constructor(props: HeaderCellProps);
    handleColumnResizeStart: () => void;
    handleColumnResizeEnd: (columnWidth?: number | undefined, cursorDelta?: number | undefined) => void;
    handleClick: () => void;
    addPrefix: (name: string) => any;
    renderResizeSpanner(): JSX.Element | null;
    renderSortColumn(): React.ReactNode;
    render(): JSX.Element;
}
export default HeaderCell;
