import * as React from 'react';
import { TreeViewAnyPluginSignature } from "../models/index.js";
import { UseTreeViewBaseProps, UseTreeViewParameters, UseTreeViewReturnValue } from "./useTreeView.types.js";
export declare function useTreeViewApiInitialization<T>(inputApiRef: React.RefObject<T | undefined> | undefined): React.RefObject<T>;
/**
 * This is the main hook that sets the plugin system up for the tree-view.
 *
 * It manages the data used to create the tree-view.
 *
 * @param plugins All the plugins that will be used in the tree-view.
 * @param props The props passed to the tree-view.
 * @param rootRef The ref of the root element.
 */
export declare const useTreeView: <TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
  plugins: inPlugins,
  rootRef,
  props
}: UseTreeViewParameters<TSignatures, TProps>) => UseTreeViewReturnValue<TSignatures>;