import type{LyraVariant}from'../../../internal/variants.js'; /** Selection behavior shared by the declarative and data-driven tree models. */ export type TreeSelection='single'|'multiple'|'leaf'|'leaf-multiple';export interface TreeBadge{readonly text:string;readonly tone?:LyraVariant; /** Accessible name override. When omitted or empty, the visible `text` names the chip naturally. */ readonly label?:string;}export interface LyraTreeNodeData{ /** Stable public identity, unique across every reachable item in one data tree. If invalid input * repeats an id, its first depth-first occurrence owns it and later occurrences fail closed as * disabled rows until the host supplies unique data. */ readonly id:string;readonly label:string; /** Whether this item is the current selection. When set, the treeitem exposes * `aria-selected` and renders the matching selected state. */ readonly selected?:boolean; /** Removes this item from roving focus and prevents select/toggle activation. */ readonly disabled?:boolean; /** Marks children as asynchronously loadable. Assign a refreshed item with children (or * `lazy: false`) in response to `lr-lazy-load` to finish the pending expansion. */ readonly lazy?:boolean;readonly children?:readonly LyraTreeNodeData[]; /** Token-colored chips rendered after the row label. */ readonly badges?:readonly TreeBadge[]; /** Optional decorative leading content, such as an icon TemplateResult. */ readonly icon?:unknown; /** Secondary visible row text. */ readonly description?:string; /** Spoken treeitem name when it needs more context than the visible row. */ readonly accessibleLabel?:string;}