import { TreeSelectFieldNode } from '../types';
import { VisibleNode } from './types';
/**
 * Props for the VirtualizedTreePanel component.
 * @property visibleNodes - Flat list of currently visible tree nodes.
 * @property getCheckState - Returns the visual check state for a node ID.
 * @property toggleNode - Toggles selection for the given node ID.
 * @property toggleExpand - Expands or collapses the given branch node ID.
 * @property getTreeItemProps - Returns ARIA props for a given node ID.
 * @property treeProps - ARIA props for the tree container element.
 * @property activeDescendantId - The id attribute of the focused treeitem, for aria-activedescendant.
 * @property branchesSelectable - When true, branch nodes can be selected.
 * @property leavesSelectable - When true, leaf nodes can be selected.
 * @property onLoadChildren - Callback to lazily load children for a node with children===null.
 */
export type VirtualizedTreePanelProps = {
    visibleNodes: VisibleNode[];
    getCheckState: (id: string | number) => "checked" | "unchecked" | "indeterminate" | "loading";
    toggleNode: (id: string | number) => void;
    toggleExpand: (id: string | number) => void;
    getTreeItemProps: (id: string | number) => Record<string, unknown>;
    treeProps: Record<string, unknown>;
    activeDescendantId: string | undefined;
    branchesSelectable?: boolean;
    leavesSelectable?: boolean;
    emptyBranchesSelectable?: boolean;
    readOnly?: boolean;
    onHover?: (id: string | number) => void;
    onLoadChildren?: (node: TreeSelectFieldNode) => void;
};
/**
 * VirtualizedTreePanel renders a virtualized tree list using @tanstack/react-virtual,
 * only mounting DOM nodes for visible rows. Intended for large tree datasets.
 *
 * Features:
 * - Only renders visible rows via @tanstack/react-virtual for performance
 * - Same visual output and interaction model as a non-virtualized tree panel
 * - Supports multi-select checkboxes and single-select modes
 * - Expand/collapse branch nodes with optional lazy loading
 * - Keyboard navigation via onKeyDown handler
 * - Full ARIA tree semantics (role, aria-level, aria-expanded, etc.)
 * - Optional child count display on branch nodes
 * - Breadcrumb display for flattened search results
 *
 * @example
 * <VirtualizedTreePanel
 *   visibleNodes={visibleNodes}
 *   getCheckState={getCheckState}
 *   toggleNode={toggleNode}
 *   toggleExpand={toggleExpand}
 *   getTreeItemProps={getTreeItemProps}
 *   treeProps={treeProps}
 *   onKeyDown={onKeyDown}
 *   activeDescendantId={activeDescendantId}
 * />
 */
export declare const VirtualizedTreePanel: import('react').ForwardRefExoticComponent<VirtualizedTreePanelProps & import('react').RefAttributes<HTMLDivElement>>;
