/** * Diff two virtual nodes and apply proper changes to the DOM * @param {import('../internal').PreactElement} parentDom The parent of the DOM element * @param {import('../internal').VNode} newVNode The new virtual node * @param {import('../internal').VNode} oldVNode The old virtual node * @param {object} globalContext The current context object. Modified by getChildContext * @param {boolean} isSvg Whether or not this element is an SVG node * @param {Array} excessDomChildren * @param {Array} commitQueue List of components * which have callbacks to invoke in commitRoot * @param {Element | Text} oldDom The current attached DOM * element any new dom elements should be placed around. Likely `null` on first * render (except when hydrating). Can be a sibling DOM element when diffing * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`. * @param {boolean} [isHydrating] Whether or not we are in hydration */ export function diff(parentDom: import('../internal').PreactElement, newVNode: import('../internal').VNode, oldVNode: import('../internal').VNode, globalContext: object, isSvg: boolean, excessDomChildren: Array, commitQueue: Array, oldDom: Element | Text, isHydrating?: boolean | undefined): Text | import("../internal").PreactElement | null; /** * @param {Array} commitQueue List of components * which have callbacks to invoke in commitRoot * @param {import('../internal').VNode} root */ export function commitRoot(commitQueue: Array, root: import('../internal').VNode): void; /** * Invoke or update a ref, depending on whether it is a function or object ref. * @param {object|function} ref * @param {any} value * @param {import('../internal').VNode} vnode */ export function applyRef(ref: object | Function, value: any, vnode: import('../internal').VNode): void; /** * Unmount a virtual node from the tree and apply DOM changes * @param {import('../internal').VNode} vnode The virtual node to unmount * @param {import('../internal').VNode} parentVNode The parent of the VNode that * initiated the unmount * @param {boolean} [skipRemove] Flag that indicates that a parent node of the * current element is already detached from the DOM. */ export function unmount(vnode: import('../internal').VNode, parentVNode: import('../internal').VNode, skipRemove?: boolean | undefined): void;