import type { Styled } from '../../hooks/useStyled'; import type { AbstractTreeNode } from '../node/abstract-node'; import type { TreeItem } from '../types'; import type { CLASSES } from '../vars'; export interface TreePanelRef> { handleKeyDown: (code: any) => AbstractTreeNode | undefined; scrollToItem: (el: HTMLElement, key: React.Key) => AbstractTreeNode | undefined; } interface TreePanelProps> extends Omit, 'children'> { ref?: React.Ref>; namespace: string; styled: Styled; list: AbstractTreeNode[]; itemId: (value: V) => string; itemSelected: AbstractTreeNode | undefined; itemFocused: AbstractTreeNode | undefined; expands: Set; customItem: ((item: T) => React.ReactNode) | undefined; showLine: boolean; multiple: boolean; onlyLeafSelectable: boolean; disabled: boolean; virtual: { listSize: number; listPadding: number; itemSize?: number; } | undefined; focusVisible: boolean; onNodeFocus: (node: AbstractTreeNode) => void; onNodeExpand: (node: AbstractTreeNode) => void; onNodeClick: (node: AbstractTreeNode) => void; onScrollBottom: (() => void) | undefined; } export declare function TreePanel>(props: TreePanelProps): React.ReactElement | null; export {};