/** * Slice a string up to `end` UTF-16 code units without splitting a surrogate * pair. If `end` would land immediately after a lone high surrogate * (U+D800..U+DBFF), the slice backs off by one code unit so the pair is * dropped as a whole. * * Lone UTF-16 surrogates are rejected by strict JSON parsers (e.g. Anthropic's * with `no low surrogate in string`), so any truncation of observer-facing * text that could cut an emoji/astral codepoint in half must go through this * helper. */ export declare function safeSlice(str: string, end: number): string; //# sourceMappingURL=string-utils.d.ts.map