import { ComputedRef, MaybeRefOrGetter } from 'vue'; import { TreeViewSelectionMode, ITreeNode, TreeViewVisibleNode } from '@wolf-tui/shared'; export interface IUseTreeViewStateProps { /** * Tree data. Accepts plain value, ref, or getter for reactivity. */ data: MaybeRefOrGetter; /** * Selection mode. * * @default 'none' */ selectionMode?: TreeViewSelectionMode; /** * Default expanded node IDs. */ defaultExpanded?: ReadonlySet | 'all'; /** * Default selected node IDs. */ defaultSelected?: ReadonlySet; /** * Number of visible nodes. * * @default Infinity */ visibleNodeCount?: number; /** * 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 interface ITreeViewState { viewportNodes: ComputedRef; selectionMode: TreeViewSelectionMode; focusedId: ComputedRef; selectedIds: ComputedRef>; hasScrollUp: ComputedRef; hasScrollDown: ComputedRef; scrollUpCount: ComputedRef; scrollDownCount: ComputedRef; focusNext: () => void; focusPrevious: () => void; focusFirst: () => void; focusLast: () => void; expand: () => void; collapse: () => void; toggleExpand: () => void; expandAll: () => void; collapseAll: () => void; select: () => void; focusParent: () => void; focusFirstChild: () => void; } export declare const useTreeViewState: ({ data: dataProp, selectionMode, defaultExpanded, defaultSelected, visibleNodeCount, onSelect, onFocusChange, loadChildren, }: IUseTreeViewStateProps) => ITreeViewState; //# sourceMappingURL=use-tree-view-state.d.ts.map