import React, { PureComponent, ReactElement } from 'react';
import { ColumnItemWithFixed, TheadColumn, TheadProps } from './Props';
import { ObjectType } from '../@types/common';
declare class Thead<DataItem, Value> extends PureComponent<TheadProps<DataItem, Value>> {
    static defaultProps: {
        showSelectAll: boolean;
    };
    handleMouseDown: (e: React.MouseEvent) => void;
    handleMouseMove: () => void;
    handleMouseUp: () => void;
    resizingTh: HTMLTableHeaderCellElement;
    resizingTable: HTMLTableElement;
    columnLevel: number;
    resizingIndex: number;
    resizingCol: HTMLTableColElement;
    lastX?: number;
    rightBorderRecord: ObjectType<boolean>;
    constructor(props: TheadProps<DataItem, Value>);
    setColumns(columns: TheadColumn<DataItem>[], col: ColumnItemWithFixed<DataItem>, level: number, index?: number): number;
    resizeColgroup(deltaX: number): void;
    handleResize(type: 'mousedown' | 'mousemove' | 'mouseup', e: MouseEvent): void;
    createTh(trs: ReactElement[][], col: TheadColumn<DataItem>, level: number): void;
    ignoreRightBorder(column: TheadColumn<DataItem>): void;
    formatColumns(): TheadColumn<DataItem>[];
    formatTrs(): React.ReactElement<any, string | React.JSXElementConstructor<any>>[][];
    render(): JSX.Element;
}
export default Thead;
