import type { VerifyResult } from './types.js'; import type { CleanConfig } from '../metadata.js'; import type { ReplacementValue } from './replacement-keys.js'; /** * Normalize text for value comparison: * - Convert non-breaking spaces to regular spaces * - Normalize smart quotes to straight quotes * - Collapse runs of spaces/tabs to single space (preserve newlines) * - Trim */ export declare function normalizeText(text: string): string; /** * Verify a filled recipe output DOCX: * - All context values appear in the document text * - No unrendered {template_tags} remain * - No leftover [bracketed placeholders] from the replacement map remain * - Footnotes removed (if clean config specified) * - Drafting note paragraphs removed (if clean config specified) */ export declare function verifyOutput(outputPath: string, values: Record, replacements: Record, cleanConfig?: CleanConfig, cleanedSourcePath?: string): Promise; /** * Count formatting anomalies: single-character underlined runs adjacent to * non-underlined runs. This pattern is the hallmark of quota-based text * redistribution corrupting run-level formatting. */ export declare function countFormattingAnomalies(docxPath: string): number; /** * Extract all text from general OOXML text parts (document, headers, footers, endnotes). */ export declare function extractAllText(docxPath: string): string; //# sourceMappingURL=verifier.d.ts.map