/** * Tree View Component * Hierarchical tree structure with expand/collapse functionality * Styled with sharp edges and ">" toggles like TOC */ export interface TreeNode { id: string; label: string; icon?: string; children?: TreeNode[]; isExpanded?: boolean; metadata?: Record; } export interface TreeViewOptions { container: HTMLElement; data: TreeNode[]; expandedByDefault?: boolean; onNodeClick?: (node: TreeNode) => void; onNodeToggle?: (node: TreeNode, isExpanded: boolean) => void; } export declare class TreeView { private container; private data; private options; private nodeElements; constructor(options: TreeViewOptions); /** * Set default expanded state for all nodes */ private setDefaultExpandedState; /** * Render the tree view */ private render; /** * Create a list element for tree nodes */ private createList; /** * Create a tree item element */ private createItem; /** * Toggle node expansion */ private toggleNode; /** * Expand a node by ID */ expandNode(nodeId: string): void; /** * Collapse a node by ID */ collapseNode(nodeId: string): void; /** * Expand all nodes */ expandAll(): void; /** * Collapse all nodes */ collapseAll(): void; /** * Set expanded state for all nodes */ private setAllExpanded; /** * Find a node by ID */ private findNode; /** * Update tree data and re-render */ updateData(data: TreeNode[]): void; /** * Get current tree data */ getData(): TreeNode[]; /** * Destroy the tree view */ destroy(): void; }