import * as React from 'react';
import { TreeViewContextValue, TreeViewItemPluginsRunner, TreeViewStoreInContext } from "./TreeViewProvider.types.js";
import { TreeViewAnyStore, TreeViewPublicAPI, TreeItemWrapper } from "../models/index.js";
export declare const useTreeViewBuildContext: <TStore extends TreeViewAnyStore>(parameters: UseTreeViewBuildContextParameters<TStore>) => TreeViewContextValue<TStore>;
export interface UseTreeViewBuildContextParameters<TStore extends TreeViewAnyStore> {
  store: TStore;
  rootRef: React.RefObject<HTMLUListElement | null>;
  apiRef: React.RefObject<Partial<TreeViewPublicAPI<TStore>> | undefined> | undefined;
}
export interface UseTreeViewBuildContextReturnValue<TStore extends TreeViewAnyStore> {
  publicAPI: TreeViewPublicAPI<TStore>;
  store: TreeViewStoreInContext<TStore>;
  rootRef: React.RefObject<HTMLUListElement | null>;
  wrapItem: TreeItemWrapper<TStore>;
  runItemPlugins: TreeViewItemPluginsRunner;
}