import React, { FC, ReactNode } from 'react';
import { TablePaginationConfig, TableProps } from 'antd';
import { TJSON } from '../../../../../localTypes/JSON';
import { TAdditionalPrinterColumns } from '../../../../../localTypes/richTable';
export type TEnrichedTableProviderProps = {
    cluster: string;
    namespace?: string;
    theme: 'light' | 'dark';
    baseprefix?: string;
    dataItems: TJSON[];
    resourceSchema?: TJSON;
    k8sResource?: {
        plural: string;
        apiGroup?: string;
        apiVersion: string;
    };
    dataForControls?: {
        cluster: string;
        syntheticProject?: string;
        plural: string;
        apiGroup?: string;
        apiVersion: string;
    };
    dataForControlsInternal: {
        onDeleteHandle: (name: string, endpoint: string) => void;
    };
    customizationId?: string;
    tableMappingsReplaceValues?: Record<string, string | undefined>;
    forceDefaultAdditionalPrinterColumns?: TAdditionalPrinterColumns;
    selectData?: {
        onChange: (selectedRowKeys: React.Key[], selectedRowsData: {
            name: string;
            endpoint: string;
        }[]) => void;
        selectedRowKeys: React.Key[];
    };
    tableProps?: {
        borderless?: boolean;
        paginationPosition?: TablePaginationConfig['position'];
        isTotalLeft?: boolean;
        editIcon?: ReactNode;
        deleteIcon?: ReactNode;
        maxHeight?: number;
        scroll?: TableProps<TJSON>['scroll'];
        virtual?: boolean;
        disablePagination?: boolean;
        loadingMinHeight?: number | string;
    };
    withoutControls?: boolean;
    pathToKey?: string;
};
export declare const EnrichedTableProvider: FC<TEnrichedTableProviderProps>;
