/** * Escape a string for safe storage in an OOXML cell. Already-escaped * sequences (`_xHHHH_`) are protected by escaping their leading * underscore; illegal codepoints are replaced with their `_xHHHH_` * representation. */ export declare function escapeCellString(s: string): string; /** * Inverse of {@link escapeCellString}. Looking from left to right * we replace any `_xHHHH_` sequence with the corresponding code unit; * the protected `_x005F_` becomes a literal underscore which the * subsequent replacements skip safely (replace's regex is non-overlapping). */ export declare function unescapeCellString(s: string): string; /** * Escape a string for safe placement in an XML text node. Replaces the three * codepoints that would otherwise terminate the text region or open a markup * sequence (`&`, `<`, `>`); `"` and `'` are not legal markup terminators * inside text and stay verbatim. */ export declare function escapeXmlText(s: string): string; /** * Escape a string for safe placement inside a `"`-quoted XML attribute. * Handles `&`, `<`, `>` and the `"` that would otherwise close the value. * * Note: this deliberately does NOT escape `\r` / `\n` / `\t` to numeric * character references. XML 1.0 attribute-value normalisation would * collapse them to spaces in theory, but the parser used on the read side * (fast-xml-parser) does not decode numeric character references, so a * write-then-read round-trip would surface the literal ` ` instead of * recovering the original tab. Leaving the whitespace bytes literal keeps * the round-trip stable and matches what Excel itself emits. */ export declare function escapeXmlAttr(s: string): string;