import { TreeSelectFieldHandle, TreeSelectFieldNode } from './types';
/**
 * TreeSelectField component for selecting one or more nodes from a hierarchical tree structure.
 *
 * Features:
 * - Async tree data loading via loadOptions callback with optional LRU caching
 * - Single-select and multi-select modes
 * - Multi-select chips display with optional singleRow and maxChips limits
 * - Search filtering that preserves tree structure
 * - Cascading parent/child selection (linked mode) or independent node selection
 * - Lazy branch expansion with on-demand children loading
 * - Virtualized rendering for large trees via the virtualize prop
 * - Full keyboard navigation (ArrowDown/Up, ArrowRight/Left, Enter, Home/End, Escape, Backspace)
 * - Imperative handle for clearCache, invalidate, expandAll, collapseAll
 * - Accessible label, error, hint, description, and warning helper text
 * - Prefix and suffix slot support
 * - Supports layout utilities for positioning and spacing
 *
 * @example
 * <TreeSelectField
 *   label="Select Categories"
 *   value={selected}
 *   onSelectedOptionsChange={setSelected}
 *   loadOptions={async (search) => fetchCategories(search)}
 * />
 */
export declare const TreeSelectField: import('react').ForwardRefExoticComponent<{
    id?: string;
    label: string;
    labelNode?: import('react').ReactNode;
    hideLabel?: boolean;
    placeholder?: string;
    size?: Extract<import('../../..').Size, "small" | "medium" | "large">;
    displayMenuAs?: "auto" | "popover" | "dialog";
    error?: boolean | string | string[] | import('react').ReactElement;
    hint?: import('react').ReactElement | string;
    moreInfo?: import('react').ReactNode;
    labelAiMark?: import('../../..').AiMarkWithTooltipOrPopoverProps["aiMark"];
    description?: import('react').ReactElement | string;
    warning?: string | string[];
    required?: boolean;
    disabled?: boolean;
    readOnly?: boolean;
    prefix?: string | import('react').ReactElement;
    suffix?: string | import('react').ReactElement;
    className?: string;
    style?: import('react').CSSProperties;
    disableSearch?: boolean;
    debounceMs?: number;
    searchValue?: string;
    onSearchChange?: (v: string) => void;
    singleRow?: boolean;
    maxChips?: number;
    getChipProps?: (value: import('./types').TreeSelectFieldValue) => import('./types').TreeSelectFieldChipProps;
    virtualize?: boolean;
    value: import('./types').TreeSelectFieldValue[];
    onSelectedOptionsChange: (nodes: import('./types').TreeSelectFieldValue[]) => void;
    selectionMode?: "single" | "independent" | "linked";
    valueConsistsOf?: import('./types').TreeSelectFieldValueConsistsOf;
    defaultExpandLevel?: number;
    expandedIds?: Set<string | number>;
    onExpandedIdsChange?: (ids: Set<string | number>) => void;
    loadOptions: (searchValue: string, parentNode?: TreeSelectFieldNode) => TreeSelectFieldNode[] | Promise<TreeSelectFieldNode[]>;
    cache?: {
        enabled?: boolean;
        maxSize?: number;
    };
    initialLoad?: "auto" | "immediate" | "open";
} & import('../../..').LayoutUtilProps & import('react').RefAttributes<TreeSelectFieldHandle>>;
