export type ItemActivatedEvent = { item: Element; checked: boolean; value: string | null; }; export type TreeViewNodeType = 'leaf' | 'sub-tree'; export type TreeViewCheckedValue = 'true' | 'false' | 'mixed'; export type TreeViewNodeInfo = { node: Element; type: TreeViewNodeType; path: string[]; checkedValue: TreeViewCheckedValue; previousCheckedValue: TreeViewCheckedValue; }; declare global { interface HTMLElementEventMap { itemActivated: CustomEvent; beforeItemActivated: CustomEvent; treeViewNodeActivated: CustomEvent; treeViewBeforeNodeActivated: CustomEvent; treeViewNodeExpanded: CustomEvent; treeViewNodeCollapsed: CustomEvent; treeViewNodeChecked: CustomEvent; treeViewBeforeNodeChecked: CustomEvent; } }