import React from 'react';
import { ColumnItem, ColumnItemWithFixed, ColumnOrder, SorterState, TableIndexProps, TableProps } from './Props';
interface TableIndexState<DataItem> {
    sorter: SorterState<DataItem>[];
}
export default class TableIndex<DataItem, Value> extends React.Component<TableIndexProps<DataItem, Value>, TableIndexState<DataItem>> {
    cacheDefaultSorterList: Array<SorterState<DataItem>>;
    oldColumns: TableIndexProps<DataItem, Value>['columns'];
    cachedColumns: TableProps<DataItem, Value>['columns'];
    static displayName: string;
    static defaultProps: {
        data: never[];
    };
    constructor(props: TableIndexProps<DataItem, Value>);
    getTreeColumnsName(): import("../@types/common").ObjectKey<DataItem> | undefined;
    getColumns(columns?: TableIndexProps<DataItem, Value>['columns']): ColumnItemWithFixed<DataItem>[];
    getTableSorter(): (sortKey: string, sorter: "desc" | "asc", sortedList: import("./Props").SorterInfo[]) => void | ((a: DataItem, b: DataItem) => number);
    getFilteredColumn(): ColumnItem<DataItem>[] | undefined;
    getExternalExpandObj(): ColumnItem<DataItem> | undefined;
    handleSortChange(order: ColumnOrder | undefined, sorter: Required<ColumnItem<DataItem>>['sorter'], key: number, cancelOrder: ColumnOrder, manual: boolean): void;
    render(): JSX.Element;
}
export {};
