import type { WorkDocumentChange, WorkDocumentChangeIdentity } from './work-document-changes'; import type { WorkDocumentChangeKind } from './work-types'; export type DocumentComparisonMode = 'compare' | 'combine'; export interface DocumentComparisonSummary { insertions: number; deletions: number; formatting: number; paragraphFormatting: number; /** Number of paired text moves inferred by Compare (when non-zero). */ moves?: number; } export interface DocumentComparisonOptions { mode: DocumentComparisonMode; author: string; date: string; sourceName: string; } export interface ComparisonIdentityFactory { create(kind: WorkDocumentChangeKind, before?: string): WorkDocumentChangeIdentity; paragraphIdentity(channel: string): { paragraphId: string; textId: string; }; summary: DocumentComparisonSummary; } export declare function createComparisonIdentityFactory(currentSignature: string, revisedSignature: string, options: DocumentComparisonOptions): ComparisonIdentityFactory; export declare function summarizeComparisonChanges(changes: readonly WorkDocumentChange[]): DocumentComparisonSummary; export declare function emptyComparisonSummary(): DocumentComparisonSummary;