/** * Shared utilities for the fill stage of all pipelines (template, recipe, external). */ import type { VerifyResult } from './recipe/types.js'; /** * Visible placeholder rendered for fields the user hasn't filled yet. * Makes it obvious what still needs attention in the output document. */ export declare const BLANK_PLACEHOLDER = "_______"; /** * Scan a DOCX template buffer for fields that have a literal `$` immediately * before the `{field_name}` tag. Returns the set of field names. * * Works by parsing OOXML text parts and concatenating `` elements per * paragraph, then matching `$` + `{field_name}` patterns. Handles cross-run * splits because text is concatenated at the paragraph level. */ export declare function detectCurrencyFields(docxBuffer: Buffer): Set; /** * Strip leading `$` from user values where the DOCX template already has * a literal `$` before the `{field_name}` tag. Prevents double-dollar * output like `$$1,000,000`. * * This is the DOCX-aware version that works for all pipelines — it scans * the template buffer directly instead of requiring a replacements map. */ export declare function sanitizeCurrencyValuesFromDocx(values: Record, docxBuffer: Buffer): Record; /** * Verify a filled template DOCX output. * Runs a subset of checks that are safe for templates: * - No double dollar signs (catches currency sanitization failures) * - No unrendered {template_tags} (catches fill failures) * * Does NOT check: leftover brackets (templates don't use them), * context values present (templates use {IF} conditionals that hide values), * drafting notes (stripped by fillDocx), footnotes (may be legitimate). */ export declare function verifyTemplateFill(outputPath: string): VerifyResult; //# sourceMappingURL=fill-utils.d.ts.map