import { TreeViewItemId } from "../models/index.mjs";
import { UseTreeItemParameters, UseTreeItemReturnValue } from "./useTreeItem.types.mjs";
import { TreeViewAnyStore, TreeViewPublicAPI } from "../internals/models/index.mjs";
import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.mjs";
interface DefaultStore extends RichTreeViewStore<any, any> {
  buildPublicAPI: () => TreeViewPublicAPI<RichTreeViewStore<any, any>> & {
    /**
     * Method used for updating an item's children.
     * Only relevant for lazy-loaded tree views.
     *
     * @param {TreeViewItemId} itemId The The id of the item to update the children of.
     * @returns {Promise<void>} The promise resolved when the items are fetched.
     */
    updateItemChildren: (itemId: TreeViewItemId) => Promise<void>;
  };
}
export declare const useTreeItem: <TStore extends TreeViewAnyStore = DefaultStore>(parameters: UseTreeItemParameters) => UseTreeItemReturnValue<TStore>;
export {};