import React from 'react';
import { PureComponent } from '../component';
import { ColumnItem, ColumnOrder, SimpleTableProps } from './Props';
interface SimpleTableState {
    colgroup?: number[];
    overHeight: boolean;
    overWidth: boolean;
    resize: boolean;
}
declare class SimpleTable<DataItem, Value> extends PureComponent<SimpleTableProps<DataItem, Value>, SimpleTableState> {
    bindHeader: (el: HTMLDivElement) => void;
    bindBody: (el: HTMLDivElement) => void;
    bindFooter: (el: HTMLDivElement) => void;
    removeReiszeObserver: () => void;
    body: HTMLDivElement;
    header: HTMLDivElement;
    footer: HTMLDivElement;
    lastColGroup: number[];
    cyclicCounter: number;
    constructor(props: SimpleTableProps<DataItem, Value>);
    componentDidMount(): void;
    componentDidUpdate(prevProps: SimpleTableProps<DataItem, Value>): void;
    componentWillUnmount(): void;
    bindElement(key: 'header' | 'body' | 'footer', el: HTMLDivElement): void;
    resetColGroup(): void;
    scrollCheck(): void;
    handleSortChange(finalOrder: ColumnOrder | undefined, sorter: ColumnItem<DataItem>['sorter'], index: number, cancelOrder: ColumnOrder, manual: boolean): void;
    handleColgroup(tds: NodeListOf<HTMLTableCellElement>): void;
    handleScroll({ currentTarget }: {
        currentTarget: HTMLElement;
    }): void;
    renderHeader(): JSX.Element;
    renderFooter(): JSX.Element | null;
    renderBody(): JSX.Element;
    render(): React.ReactNode[] | JSX.Element;
}
export default SimpleTable;
