import { Mirror as NodeMirror } from '../../rrweb-snapshot'; import { canvasMutationData, canvasEventWithTime, inputData, scrollData, styleDeclarationData, styleSheetRuleData } from '../../types'; import { IRRNode } from './document'; import { Mirror } from '.'; export type ReplayerHandler = { mirror: NodeMirror; applyCanvas: (canvasEvent: canvasEventWithTime, canvasMutationData: canvasMutationData, target: HTMLCanvasElement) => void; applyInput: (data: inputData) => void; applyScroll: (data: scrollData, isSync: boolean) => void; applyStyleSheetMutation: (data: styleDeclarationData | styleSheetRuleData, styleSheet: CSSStyleSheet) => void; afterAppend?(node: Node, id: number): void; }; export declare function diff(oldTree: Node, newTree: IRRNode, replayer: ReplayerHandler, rrnodeMirror?: Mirror): void; export declare function createOrGetNode(rrNode: IRRNode, domMirror: NodeMirror, rrnodeMirror: Mirror): Node; export declare function sameNodeType(node1: Node, node2: IRRNode): boolean; export declare function nodeMatching(node1: Node, node2: IRRNode, domMirror: NodeMirror, rrdomMirror: Mirror): boolean;