import { LitElement } from 'lit'; export interface TreeNode { id: string; label: string; icon?: string; children?: TreeNode[]; isExpanded?: boolean; isSelected?: boolean; isDisabled?: boolean; metadata?: Record; lazyLoad?: boolean; hasChildren?: boolean; } /** * Tree View component for displaying hierarchical data * * @element ui-tree-view * * @prop {TreeNode[]} nodes - Array of tree nodes * @prop {boolean} expandable - Allow expand/collapse * @prop {boolean} selectable - Allow node selection * @prop {boolean} multiSelect - Allow multiple selection * @prop {boolean} showCheckboxes - Show checkboxes for selection * @prop {boolean} showIcons - Show node icons * @prop {string[]} selectedIds - Currently selected node IDs * @prop {string[]} expandedIds - Currently expanded node IDs * @prop {'sm' | 'md' | 'lg'} size - Tree size * @prop {boolean} animated - Enable expand/collapse animation * @prop {boolean} searchable - Enable search functionality * @prop {string} searchQuery - Current search query * @prop {boolean} highlightSearch - Highlight search matches * * @fires node-select - Fired when a node is selected * @fires node-expand - Fired when a node is expanded/collapsed * @fires node-lazy-load - Fired when lazy loading is triggered * * @csspart container - The tree container * @csspart node - Individual tree node * @csspart node-content - Node content area */ export declare class TreeView extends LitElement { nodes: TreeNode[]; expandable: boolean; selectable: boolean; multiSelect: boolean; showCheckboxes: boolean; showIcons: boolean; selectedIds: string[]; expandedIds: string[]; size: 'sm' | 'md' | 'lg'; animated: boolean; searchable: boolean; searchQuery: string; highlightSearch: boolean; ariaLabel: string; ariaDescribedby: string; private _expandedNodes; private _selectedNodes; private focusedNodeId; private treeId; private descriptionId; private flatNodeList; connectedCallback(): void; disconnectedCallback(): void; private buildFlatNodeList; private handleKeyDown; private findParent; private expandAllSiblings; static styles: import("lit").CSSResult; updated(changedProperties: Map): void; private handleExpandToggle; private handleToggle; private handleNodeClick; private handleCheckboxChange; private highlightText; private matchesSearch; private filterNodes; private renderNode; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-tree-view': TreeView; } } //# sourceMappingURL=tree-view.d.ts.map