import { DefineComponent } from 'vue'; import { defaultTreeViewTheme, TreeViewRenderTheme, TreeViewSelectionMode, ITreeNode } from '@wolf-tui/shared'; export interface TreeViewProps { /** * Tree data. */ data: ITreeNode[]; /** * Selection mode: 'none' | 'single' | 'multiple'. * * @default 'none' */ selectionMode?: TreeViewSelectionMode; /** * Default expanded node IDs. */ defaultExpanded?: ReadonlySet | 'all'; /** * Default selected node IDs. */ defaultSelected?: ReadonlySet; /** * Number of visible nodes. * * @default 10 */ visibleNodeCount?: number; /** * When disabled, user input is ignored. * * @default false */ isDisabled?: boolean; /** * Callback when selection changes. */ onSelect?: (selectedIds: ReadonlySet) => void; /** * Callback when focused node changes. */ onFocusChange?: (focusedId: string | undefined) => void; /** * Callback to load children for a node (async tree). */ loadChildren?: (nodeId: string) => Promise; } export declare const TreeView: DefineComponent; export { defaultTreeViewTheme as treeViewTheme, type TreeViewRenderTheme as TreeViewTheme, }; export type { TreeViewProps as Props, TreeViewProps as IProps }; //# sourceMappingURL=TreeView.d.ts.map