import type { Dispatch, SetStateAction } from 'react';
import React from 'react';
import type { ColumnDef, ColumnSizingInfoState, ColumnSizingState, Table } from '@tanstack/react-table';
import type { ColumnsTable, TableProps } from '../../grid-component/type';
type TableContainerProps<T> = Omit<TableProps<T>, 'columns'> & {
    table: Table<T>;
    prefix: string;
    id: string;
    rowKey: any;
    originData: T[];
    isSelectionChange?: {
        isChange: boolean;
        type: string;
        rowData: T;
        rowsData: T[];
    };
    setIsSelectionChange: Dispatch<SetStateAction<{
        isChange: boolean;
        type: string;
        rowData: T;
        rowsData: T[];
    }>>;
    setSorterChange: Dispatch<SetStateAction<boolean>>;
    setFilterChange: Dispatch<SetStateAction<boolean>>;
    onContextMenu?: (data: T) => (event: any) => void;
    windowSize: {
        innerHeight: number;
        innerWidth: number;
    };
    triggerPaste?: (pastedRows: T[], pastedColumnsArray: string[], newData: T[], copyRows: T[]) => void;
    mergedFilterKeys?: any;
    setMergedFilterKeys?: any;
    setExpanded?: any;
    expanded?: any;
    columns: ColumnDef<T>[];
    propsColumns: ColumnsTable;
    triggerChangeColumns: any;
    columnHidden: any;
    isFullScreen: boolean;
    setIsFullScreen: Dispatch<SetStateAction<boolean>>;
    isDataTree: boolean;
    setColumnSizing: Dispatch<SetStateAction<any>>;
    setColumns: Dispatch<SetStateAction<any>>;
    columnSizingInfo: ColumnSizingInfoState;
    columnSizing: ColumnSizingState;
    triggerGroupColumns?: (groupedColumns: string[]) => void;
};
declare const TableContainer: <RecordType extends object>(props: TableContainerProps<RecordType>) => React.JSX.Element;
export default TableContainer;
