import { GetStylesApi } from '@mantine/core';
import { Table } from '@tanstack/table-core';
import { MutableRefObject, ReactElement } from 'react';
import { type PlasmaTableFactory } from './Table';
import { TableAction, TableLayout } from './Table.types';
import { TableStore } from './use-table';
export interface TableContextValue<TData = unknown> {
    getStyles: GetStylesApi<PlasmaTableFactory>;
    store: TableStore<TData>;
    layouts: TableLayout[];
    getRowActions: (datum: TData[]) => TableAction[];
    table: Table<TData>;
    containerRef: MutableRefObject<HTMLDivElement>;
}
export interface TableProviderProps<T> {
    value: TableContextValue<T>;
    children: JSX.Element;
}
export declare const TableProvider: <TData>(props: TableProviderProps<TData>) => ReactElement, useTableContext: <TData>() => TableContextValue<TData>;
//# sourceMappingURL=TableContext.d.ts.map