import React, { Dispatch, SetStateAction } from 'react';
import { IColumnsAgg, IColumnTable, IContextItem, IFFilterTable, IFOrderTable, IFSettingColumns, IFTableEditFormat, IFTableEditPaging, IFTableEditSearchSetting, IFTableEditToolbar } from '../type';
type TableViewProps = {
    idTable: string;
    dataSource: any[];
    height?: number;
    columns: IColumnTable[];
    selectEnable?: boolean;
    isMutil?: boolean;
    isLoading?: boolean;
    formatSetting?: IFTableEditFormat;
    pagingSetting?: IFTableEditPaging;
    toolbarSetting?: IFTableEditToolbar;
    searchSetting?: IFTableEditSearchSetting;
    columnsAggregate?: IColumnsAgg[];
    selectedItem?: any;
    headerComponent?: any;
    settingColumns?: {
        id?: string;
        updatedDate?: Date;
        updatedByName?: string;
        value: IFSettingColumns[];
    };
    zeroVisiable?: boolean;
    groupSetting?: {
        client?: boolean;
        visibleGroupColumn?: boolean;
        groupColumns: string[];
        onGroup: (props: any) => void;
    };
    querySetting?: {
        client?: boolean;
        allowFiltering?: boolean;
        allowSorting?: boolean;
        optionsFilter?: any;
        changeFilter?: (data: IFFilterTable[]) => void;
        changeOrder?: (data: IFOrderTable[]) => void;
    };
    resetDefaultColumns?: () => void;
    saveSettingColumn?: (data: IFSettingColumns[]) => void;
    setSelectedItem?: Dispatch<SetStateAction<any>>;
    handleDoubleClick?: (args: any) => void;
    contextMenuItems?: IContextItem[];
    handleContextMenuClick?: (context: IContextItem, data: any) => void;
    isMulti?: boolean;
    handleSelect?: (data: any) => void;
};
declare const TableView: React.FC<TableViewProps>;
export { TableView };
