import { DOMHistoryElement, HashedDomElement } from './view'; import { DOMElementNode } from '../views'; /** * 历史树处理器类 * 处理DOM元素的历史记录和比较 */ export declare class HistoryTreeProcessor { /** * 将DOM元素转换为历史元素 * @param domElement DOM元素 * @returns DOM历史元素 */ static convertDomElementToHistoryElement(domElement: DOMElementNode): DOMHistoryElement; /** * 在DOM树中查找历史元素 * @param domHistoryElement DOM历史元素 * @param tree DOM树 * @returns 找到的DOM元素,如果没找到则返回undefined */ static findHistoryElementInTree(domHistoryElement: DOMHistoryElement, tree: DOMElementNode): DOMElementNode | undefined; /** * 比较历史元素和DOM元素 * @param domHistoryElement DOM历史元素 * @param domElement DOM元素 * @returns 比较结果,true表示相同,false表示不同 */ static compareHistoryElementAndDomElement(domHistoryElement: DOMHistoryElement, domElement: DOMElementNode): boolean; /** * 比较两个哈希化的DOM元素 * @param a 第一个哈希化的DOM元素 * @param b 第二个哈希化的DOM元素 * @returns 比较结果,true表示相同,false表示不同 */ private static _compareHashedElements; /** * 哈希化DOM历史元素 * @param domHistoryElement DOM历史元素 * @returns 哈希化的DOM元素 */ private static _hashDomHistoryElement; /** * 哈希化DOM元素 * @param domElement DOM元素 * @returns 哈希化的DOM元素 */ static _hashDomElement(domElement: DOMElementNode): HashedDomElement; /** * 获取父分支路径 * @param domElement DOM元素 * @returns 父分支路径 */ private static _getParentBranchPath; /** * 计算父分支路径的哈希值 * @param parentBranchPath 父分支路径 * @returns 哈希值 */ private static _parentBranchPathHash; /** * 计算属性的哈希值 * @param attributes 属性对象 * @returns 哈希值 */ private static _attributesHash; /** * 计算XPath的哈希值 * @param xpath XPath * @returns 哈希值 */ private static _xpathHash; /** * 计算文本的哈希值 * @param domElement DOM元素 * @returns 哈希值 */ private static _textHash; }