import React from 'react'; import './TreeNavigator.css'; export interface TreeNavigatorData { id: string; title: string; icon?: React.ReactNode | string; expandedIcon?: React.ReactNode | string; children?: TreeNavigatorData[]; loading?: boolean; hasChildren?: boolean; checked?: boolean; indeterminate?: boolean; } type IconSize = "extraSmall" | "large" | "medium" | "mini" | "original" | "small" | "tiny"; type VersionType = "v1" | "v2"; interface TreeNavigatorProps { data: TreeNavigatorData[]; collapsible: boolean; collapseOnSelectItem?: boolean; selectOnChevronClick?: boolean; hoverable?: boolean; hoverScale?: boolean; hoverItem?: boolean; checkbox?: boolean; checkboxFocus?: boolean; checkboxLinked?: boolean; collapsedIds: string[]; selectedItem: string | null; truncation?: boolean; titleVariant?: 'p1' | 'p2' | 'p3'; nodePadding?: number | null; childSpacing?: number | null; hierarchicalSpacing?: boolean; stepSpacing?: number; translateOnExpansion?: boolean; chevronVersion?: VersionType; chevronIcon?: string; chevronSize?: IconSize; chevronClassname?: string; prefixIconSize?: IconSize; prefixIconClassName?: string; prefixExpandedIconClassName?: string; showBullets?: boolean; bulletClassname?: string; onSelect: (result: { id: string; title: string; }) => void; onCollapse: (id: string) => void; onDataChange?: (data: TreeNavigatorData[]) => void; onExpand?: (nodeId: string) => Promise | TreeNavigatorData[]; } declare const TreeNavigator: ({ data, collapsible, collapseOnSelectItem, selectOnChevronClick, hoverable, hoverScale, hoverItem, checkbox, checkboxFocus, checkboxLinked, collapsedIds, selectedItem, truncation, titleVariant, nodePadding, childSpacing, hierarchicalSpacing, stepSpacing, translateOnExpansion, chevronVersion, chevronIcon, chevronSize, chevronClassname, prefixIconSize, prefixIconClassName, prefixExpandedIconClassName, showBullets, bulletClassname, onSelect, onCollapse, onDataChange, onExpand }: TreeNavigatorProps) => React.JSX.Element; export default TreeNavigator;