import type * as React from 'react'; import type { Override } from '../helpers/overrides'; export declare type TreeLabelOverrides = { TreeItemContent?: Override; IconContainer?: Override; ExpandIcon?: Override; CollapseIcon?: Override; LeafIconContainer?: Override; LeafIcon?: Override; }; export declare type TreeViewOverrides = { Root?: Override; TreeItemList?: Override; TreeItem?: Override; TreeLabel?: Override; } & TreeLabelOverrides; export declare type TreeNodeId = number | string; export declare type TreeNodeData = { id?: TreeNodeId; children?: TreeNodeData[]; isExpanded?: boolean; label: ((node: TreeNodeData) => React.ReactNode) | string; info?: T; [key: string]: any; }; export declare type TreeLabelProps = { hasChildren: boolean; isExpanded?: boolean; isSelected?: boolean; isFocusVisible?: boolean; label: ((node: TreeNodeData) => React.ReactNode) | string; overrides?: TreeLabelOverrides; node: TreeNodeData; }; export declare type SharedStyleProps = { $hasChildren: boolean; $isExpanded: boolean; $isSelected: boolean; $isFocusVisible: boolean; }; export declare type TreeNodeProps = { node: TreeNodeData; getId: (node: TreeNodeData) => TreeNodeId; onToggle?: (node: TreeNodeData) => void; overrides?: TreeViewOverrides; renderAll?: boolean; onKeyDown?: (e: KeyboardEvent, node: TreeNodeData) => unknown; onFocus?: (event: React.SyntheticEvent) => unknown; onBlur?: (event: React.SyntheticEvent) => unknown; selectedNodeId?: TreeNodeId; addRef: (id: TreeNodeId, ref: React.Ref) => unknown; removeRef: (id: TreeNodeId) => unknown; isFocusVisible?: boolean; indentGuides?: boolean; }; export declare type StatefulContainerProps = { children: (props: TreeViewProps) => React.ReactNode; } & TreeViewProps; export declare type TreeViewProps = { data: TreeNodeData[]; indentGuides?: boolean; onToggle?: (node: TreeNodeData) => void; overrides?: TreeViewOverrides; renderAll?: boolean; getId?: (node: TreeNodeData) => TreeNodeId; singleExpanded?: boolean; };