import { record } from '@synnaxlabs/x';
import { PropsWithChildren } from 'react';
import { Shape } from './core';
export interface ContextValue<K extends record.Key = record.Key> {
    shape: Shape<K>;
}
export declare const Context: import('react').Context<ContextValue<record.Key> | null>;
export declare const useContext: <K extends record.Key>() => ContextValue<K>;
export interface ProviderProps<K extends record.Key> extends PropsWithChildren<ContextValue<K>> {
}
export declare const useNodeShape: (index: number) => import('./core').NodeShape;
export declare const Provider: <K extends record.Key>({ shape, children, }: ProviderProps<K>) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Context.d.ts.map