/**
 * Document Comparison Diff Service
 *
 * Computes text and structural diffs between two OCR-processed documents.
 * Uses the `diff` npm package (jsdiff) for text comparison.
 *
 * CRITICAL: NEVER use console.log() - stdout is JSON-RPC protocol.
 */
import type { TextDiffResult, StructuralDiff } from '../../models/comparison.js';
/**
 * Input shape for a document's structural metadata used in compareStructure()
 */
export interface StructuralDocInput {
    page_count: number | null;
    text_length: number;
    quality_score: number | null;
    ocr_mode: string;
    chunk_count: number;
}
/**
 * Compare structural metadata between two documents
 *
 * @param doc1 - First document structural metadata
 * @param doc2 - Second document structural metadata
 * @returns StructuralDiff with side-by-side metadata
 */
export declare function compareStructure(doc1: StructuralDocInput, doc2: StructuralDocInput): StructuralDiff;
/**
 * Compare two texts using line-level diff
 *
 * @param text1 - First document text
 * @param text2 - Second document text
 * @param maxOperations - Maximum operations to return (default 1000)
 * @returns TextDiffResult with operations, counts, and similarity ratio
 */
export declare function compareText(text1: string, text2: string, maxOperations?: number): TextDiffResult;
/**
 * Generate a human-readable summary of the comparison
 */
export declare function generateSummary(textDiff: TextDiffResult | null, structuralDiff: StructuralDiff, doc1Name: string, doc2Name: string): string;
//# sourceMappingURL=diff-service.d.ts.map