import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { ReactNode } from 'react';
import { TableContextType } from '../types.js';
import { Cell } from '@tanstack/react-table';
import '../constants.js';
import 'react-select';
import '../../pagination/pagination.js';
import '../../select/customSelect.js';
import '@trail-ui/theme';
import '../../overlay/overlay.js';

declare const EditableTableContext: react.Context<unknown>;
interface TableContextProviderProps<TData> extends TableContextType<TData> {
    children: ReactNode;
}
declare function TableContextProvider<TData>({ children, ...props }: TableContextProviderProps<TData>): react_jsx_runtime.JSX.Element;
type UseTableContextBase<TData> = Omit<TableContextType<TData>, 'handleSaveData'>;
type UseTableContextWithCell<TData> = UseTableContextBase<TData> & {
    updateData: (value: any) => void;
};
type UseTableContextWithoutCell<TData> = UseTableContextBase<TData>;
declare function useTableContext<TData>(cell: Cell<TData, unknown>): UseTableContextWithCell<TData>;
declare function useTableContext<TData>(cell?: undefined): UseTableContextWithoutCell<TData>;

export { EditableTableContext, TableContextProvider as default, useTableContext };
