import type { HDOMImplementation, HDOMOpts } from "./api.js"; /** * See {@link HDOMImplementation} interface for further details. * * @param opts - hdom config options * @param impl - hdom implementation * @param parent - parent element (DOM node) * @param prev - previous tree * @param curr - current tree * @param child - child index */ export declare const diffTree: (opts: Partial, impl: HDOMImplementation, parent: T, prev: any[], curr: any[], child?: number) => any; /** * Helper function for {@link diffTree} to compute & apply the difference * between a node's `prev` and `curr` attributes. * * @param impl - hdom implementation * @param el - DOM element * @param prev - previous attributes * @param curr - current attributes * * @internal */ export declare const diffAttributes: (impl: HDOMImplementation, el: T, prev: any, curr: any) => void; /** * Recursively attempts to call the {@link ILifecycle.release} lifecycle * method on every element in given tree (branch), using depth-first * descent. Each element is checked for the presence of the `__release` * control attribute. If (and only if) it is set to `false`, further * descent into that element's branch is skipped. * * @param tree - hdom sub-tree * * @internal */ export declare const releaseTree: (tree: any) => void; /** * Customized version * [`equiv()`](https://docs.thi.ng/umbrella/equiv/functions/equiv.html) which * takes `__diff` attributes into account (at any nesting level). If an hdom * element's attribute object contains `__diff: false`, the object will ALWAYS * be considered unequal, even if all other attributes in the object are * equivalent. * * @param a - * @param b - * * @internal */ export declare const equiv: (a: any, b: any) => boolean; //# sourceMappingURL=diff.d.ts.map