import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { ColumnProps } from './Column';
import { ElementProps } from '../core/ViewComponent';
import DataSet from '../data-set/DataSet';
import Field from '../data-set/Field';
import EventManager from '../_util/EventManager';
export interface TableHeaderCellProps extends ElementProps {
    dataSet: DataSet;
    prevColumn?: ColumnProps;
    column: ColumnProps;
    resizeColumn?: ColumnProps;
    rowSpan?: number;
    colSpan?: number;
    getHeaderNode: () => HTMLTableSectionElement | null;
}
export default class TableHeaderCell extends Component<TableHeaderCellProps, any> {
    static displayName: string;
    static propTypes: {
        column: PropTypes.Validator<object>;
    };
    static contextType: React.Context<{
        tableStore: import("./TableStore").default;
    }>;
    resizeEvent: EventManager;
    resizeBoundary: number;
    resizePosition?: number;
    resizeColumn?: ColumnProps;
    element?: HTMLDivElement | null;
    nextFrameActionId?: number;
    overflow?: boolean;
    saveElement(element: any): void;
    handleClick(): void;
    getNode(column: any): Element | null | undefined;
    setResizeColumn(column: any): void;
    handleLeftResize(e: any): void;
    handleStopResize(): void;
    handleRightResize(e: any): void;
    private delayResizeStart;
    handleLeftDoubleClick(_e: any): void;
    handleRightDoubleClick(_e: any): void;
    resizeDoubleClick(): void;
    resizeStart(e: any): void;
    resize(e: any): void;
    resizeEnd(): void;
    setSplitLinePosition(left: number): number | undefined;
    renderResizer(): (false | JSX.Element | undefined)[];
    handleResize(): void;
    syncSize(): void;
    computeOverFlow(): boolean;
    getHelpIcon(field?: Field): JSX.Element | undefined;
    getSortIcon(): JSX.Element | undefined;
    render(): JSX.Element;
    componentWillUnmount(): void;
}
