import React from 'react';
interface TableGroupContext {
    allRowsSelected: boolean;
    clearSelectedRows: () => void;
    hiddenColumnsByIndex: {
        [key: string]: boolean | undefined;
    };
    data: Array<{
        [key: string]: any;
    }>;
    keyProp: string;
    onClickRow?: (info: {
        rowData: {
            [key: string]: any;
        };
        rowKey: string;
        rowIndex: number;
        data: Array<{
            [key: string]: any;
        }>;
    }) => void;
    selectedRowsData: Array<{
        [key: string]: any;
    }>;
    selectedRowsKeys: Array<string>;
    selectedRowsByKey: {
        [key: string]: boolean;
    };
    setHiddenColumnsByIndex: (map: any) => void;
    toggleRowSelectedByKey: (rowKey: string) => void | any;
    toggleSelectAllRows: () => void | any;
}
export declare const TableGroupContext: React.Context<TableGroupContext | undefined>;
type TableGroupContextProviderProps = {
    children: (tableGroupContextValue: TableGroupContext) => React.ReactNode;
    data: Array<{
        [key: string]: any;
    }>;
    keyProp: string;
    onClickRow?: (info: {
        rowData: {
            [key: string]: any;
        };
        rowKey: string;
        rowIndex: number;
        data: Array<{
            [key: string]: any;
        }>;
    }) => void;
};
export declare const TableGroupContextProvider: ({ children, data, keyProp, onClickRow, }: TableGroupContextProviderProps) => React.JSX.Element;
export declare const useTableGroupContext: () => TableGroupContext;
export {};
