import type { TreeNodeData } from "../../Tree/types";
import type { TreeSelectProps } from "../types";
export declare function useTreeSelectState(props: TreeSelectProps): {
    isSearchable: boolean;
    isOpen: boolean;
    handleOpenChange: (open: boolean) => void;
    searchTerm: string;
    setSearchTerm: import("react").Dispatch<import("react").SetStateAction<string>>;
    prunedTreeData: TreeNodeData[];
    effectiveExpandedKeys: string[];
    handleSelect: (keys: string[], info: {
        node: TreeNodeData;
    }) => void;
    handleExpand: (keys: string[]) => void;
    id: string;
    errorId: string;
    helpTextId: string;
    label: string;
    error: string;
    helpText: string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null;
    required: boolean;
    isDisabled: boolean;
    size: "small" | "medium" | "large";
    treeData: TreeNodeData[];
    currentValue: string;
    selectedLabel: string;
    applyValue: (next: string) => void;
    handleClear: (e: React.MouseEvent) => void;
    showClearButton: boolean;
};
