import { TreeOptions } from './tree.types'; interface TreeNode { el: HTMLElement; value: string; checkbox: HTMLInputElement | null; toggle: HTMLElement | null; group: HTMLElement | null; parent: TreeNode | null; children: TreeNode[]; } /** * Headless tree / nested list. Handles expand-collapse, tri-state checkbox * selection with parent/child propagation, ARIA wiring and keyboard navigation. * * Markup: * ```html * * ``` */ export declare class Tree { private readonly root; private readonly treeSelection; private readonly expandAll; private nodes; private cleanups; constructor(root: HTMLElement, options?: TreeOptions); private init; private build; private get flat(); private setupNode; private setExpanded; toggleNode(node: TreeNode): void; private onCheckboxChange; private propagateDown; private recomputeAncestors; private recomputeNode; private recomputeAll; private visibleNodes; private nodeFromActive; private focusNode; private onKeydown; private emit; get value(): string[]; on(event: string, handler: (event: E) => void): () => void; destroy(): void; } export {};