import { VNode, VNodeType, VNodeProps, Patch } from "src/Types"; export declare class VirtualDOM { private rootNode; createElement(type: VNodeType, props?: VNodeProps, ...children: (VNode | string)[]): VNode; render(node: VNode | string): HTMLElement | Text; clear(): void; private updateProps; diff(oldNode: VNode | null, newNode: VNode): Patch[]; getRootNode(): VNode | null; private diffProps; private diffChildren; applyPatches(rootElement: HTMLElement, patches: Patch[]): void; updateDOM(rootElement: HTMLElement, newVNode: VNode): void; }