import type { Fragment, Node } from '../../tiptap/pm/model';
import type { Transaction } from '../../tiptap/pm/state';
import type { ContentDiff, ContentDiffType } from './content-change.js';
import { ContentChange } from './content-change.js';
import { Range } from './range.js';
export type LinkNodeData = {
    pluginId: ContentDiffType;
    link?: string;
    newTab?: boolean;
    rel?: string;
    nofollow?: boolean;
    noreferrer?: boolean;
    anchor?: string;
    nodeId: string;
};
export declare const getDiffRanges: (baseline: Fragment, changes: Fragment) => {
    oldRange: Range;
    newRange: Range;
};
export declare const isIgnoredTransaction: (transaction: Transaction) => boolean;
export declare const getContentChange: (baseline: Node, changes: Node, { oldRange, newRange }: {
    oldRange: Range;
    newRange: Range;
}) => ContentChange;
export declare const reportGenericDiff: (diffs: ContentDiff[], onPluginAdded: (pluginId: string, params: Record<string, unknown>) => boolean, onPluginDeleted: (pluginId: string) => boolean) => void | false;
export declare const reportTextStyleDiff: (diffs: ContentDiff[], onPluginAdded: (pluginId: string, params: Record<string, unknown>) => boolean, onPluginDeleted: (pluginId: string) => boolean) => void;
export declare const reportLinkDiff: (diffs: ContentDiff[], onLinkAdded: (data: LinkNodeData) => boolean, onPluginDeleted: (pluginId: string) => boolean) => void;
//# sourceMappingURL=diff-tools.d.ts.map