import type { LevelWise, Node, UseTreeProps } from './Tree.types';
export declare function useTree<T extends Node = Node>({ rootNodes, expanded, selected, selectionLimit, onSelect, multiple, autoExpandParent, getChildren, getParentId, onCollapse, onExpand, }: UseTreeProps<T>): {
    nodes: (T & LevelWise & {
        items?: ((T & LevelWise) | (T & LevelWise & any))[] | undefined;
    })[];
    isExpanded: (node: T) => boolean;
    isSelected: (node: T) => boolean;
    isLoading: (node: T) => boolean;
    highlightedNode: T & LevelWise & {
        items?: ((T & LevelWise) | (T & LevelWise & any))[] | undefined;
    };
    isHighlighted: (node: T) => boolean;
    highlight: (node: T) => void;
    handleSelection: (node: T) => void;
    handleExpansion: (node: T) => void;
    setSelected: (newCollection: Set<T["id"]>) => void;
    setExpanded: (newCollection: Set<T["id"]>) => void;
    isFileLimitReached: boolean;
    listNavigation: import("../_hooks/ListNavigation").ListNavigationApi;
};
