/** * Deterministic Python source reflow — makes native (`format:false`) emitter output already * conformant to `ruff format` (Black-style) so running the external formatter is a byte-level * no-op. This closes the "optional external formatter post-pass" reproducibility hole (issue #238) * for Python: `format:true` and `format:false` then produce identical bytes. * * Scope is deliberately narrow — it only reproduces the two style rules the emitter actually * diverges on: * 1. 88-column line wrapping (Black's right-hand-split, with optional-parentheses omission and * the magic trailing comma on exploded bracket bodies). * 2. Blank-line normalization (Black's empty-line rules around defs/classes and inside blocks). * * It is intentionally conservative: any physical line it does not fully understand (unbalanced * brackets, a trailing comment, string content) is passed through unchanged. The formatter- * idempotency guard (scripts/idempotency-guard.mjs) is the backstop — any residual drift fails * validate:fixtures loudly, so an approximate transform can never silently ship. */ /** Apply the full reflow (quotes, wrapping, then blank-line normalization) to an emitted file. */ export declare function formatPythonSource(src: string): string; /** Reflow every over-long code line, leaving docstring/string content untouched. */ export declare function wrapLongLines(src: string): string;