import { type OdfSession, SessionManager } from '../../session/manager.js'; import { type ToolResponse } from '../types.js'; /** * ODF `compare_documents` — inline granularity (issue #356), TWO-FILE mode. * * Stateless (mirrors the DOCX `compareDocuments_tool`): it does its own loading and takes no * resolved session, because two-file compare carries no `file_path` and so cannot route through * `resolveOdfSessionForTool` (which requires one). Session-mode `.odt` compare routes through * `dispatchOdf` to `odfCompareDocumentsSession` below. */ export declare function odfCompareDocuments(manager: SessionManager, params: { original_file_path?: string; revised_file_path?: string; file_path?: string; save_to_local_path?: string; author?: string; }): Promise; /** * ODF `compare_documents` — SESSION mode: redline the live session's edits against the original * the session was opened from. * * Both the baseline and the redline package come from a FRESH archive loaded off * `session.originalBuffer`, never from `session.archive`: `SessionManager.saveOdfTo` stamps the * live archive's `content.xml` with the edited state on every save (so it is not a valid baseline * source), and writing redline markup into it would poison the session. The raw original * `content.xml` needs no normalization as a baseline because `compareOdf` diffs per-block visible * text, which a parse→serialize round-trip does not alter. * * Packaging the redline on the original package is valid under a CURRENT invariant: ODF session * edit tools mutate `content.xml` only (the same premise `saveOdfTo` rests on). If a future ODF * tool mutates non-content parts (styles.xml, manifest, …), session compare must switch to a * revised-session package baseline or copy those modified parts. */ export declare function odfCompareDocumentsSession(manager: SessionManager, session: OdfSession, params: { file_path?: string; save_to_local_path?: string; author?: string; }, metadata: Record): Promise; //# sourceMappingURL=compare_documents.d.ts.map