export declare enum HostNodeType { Text = "text", Element = "element", ShadowRoot = "shadow-root" } export interface HostText { type: HostNodeType.Text; parent: HostElement | null; value: string; } export interface HostAttribute { name: string; namespace: string | null; value: string; } export interface HostShadowRoot { type: HostNodeType.ShadowRoot; children: HostChildNode[]; mode: 'open' | 'closed'; delegatesFocus: boolean; } export interface HostElement { type: HostNodeType.Element; name: string; parent: HostElement | null; shadowRoot: HostShadowRoot | null; namespace?: string; children: HostChildNode[]; attributes: HostAttribute[]; eventListeners: Record; } export declare type HostNode = HostText | HostElement; export declare type HostChildNode = HostElement | HostText;