import { VApplication } from "./VApplication"; import { VBindings } from "./VBindings"; import { VCloser } from "./VCloser"; import { VDirectiveManager } from "./directives/VDirectiveManager"; import { VNodeInit } from "./VNodeInit"; import { VFragmentRange } from "./util/VFragmentRange"; /** * Represents a virtual node in the virtual DOM. * A virtual node corresponds to a real DOM node and contains additional information for data binding and directives. * This class is responsible for managing the state and behavior of the virtual node, including its bindings, directives, and child nodes. */ export declare class VNode { #private; /** * Creates an instance of the virtual node. * @param args The initialization arguments for the virtual node. */ constructor(args: VNodeInit); /** * The application instance associated with this virtual node. */ get vApplication(): VApplication; /** * The node associated with this virtual node. */ get node(): Node; /** * The type of the node associated with this virtual node. */ get nodeType(): number; /** * The name of the node associated with this virtual node. */ get nodeName(): string; /** * The parent virtual node, if any. * This is optional and may be undefined for the root node. */ get parentVNode(): VNode | undefined; /** * The child virtual nodes, if any. * This is optional and may be undefined if there are no child nodes. */ get childVNodes(): VNode[] | undefined; /** * The previous sibling virtual node, if any. * This is optional and may be undefined if there is no previous sibling. */ get previousSibling(): VNode | undefined; /** * The next sibling virtual node, if any. * This is optional and may be undefined if there is no next sibling. */ get nextSibling(): VNode | undefined; /** * The data bindings associated with this virtual node, if any. */ get bindings(): VBindings; /** * The directive manager associated with this virtual node. * This manages any directives applied to the node. */ get directiveManager(): VDirectiveManager | undefined; /** * The anchor comment node used to mark the position of the element in the DOM. * This is used for directives that may remove the element from the DOM, * allowing it to be re-inserted at the correct position later. * This is optional and may be undefined if not applicable. */ get anchorNode(): Comment | undefined; /** * Indicates whether the node is currently in the DOM. * This checks if the node has a parent that is not a document fragment. * @return True if the node is in the DOM, otherwise false. */ get isInDOM(): boolean; /** * Indicates whether this virtual node is the root node (i.e., has no parent). * @return True if this is the root node, otherwise false. */ get isRoot(): boolean; /** * The list of identifiers for this virtual node. * This includes variable and function names used in expressions. */ get dependentIdentifiers(): string[]; get preparableIdentifiers(): string[]; /** * Gets the user data storage for this virtual node. * This is lazily initialized and provides a Proxy-free space for storing * arbitrary data associated with lifecycle directives. * @returns A Map for storing user data. */ get userData(): Map; /** * The DOM range that bounds this VNode's expanded fragment content, if any. * Set by directives that expand a