/** * HTML serializer — converts ContentUnit back to HTML strings (raw-only). * * Every indexed tag carries a `raw:` style. The serializer * routes the stored opening tag through the shared allowlist sanitizer and * derives the close tag from the embedded tag name. Void elements get no * close tag. Text segments are HTML-escaped (ContentUnit.text holds decoded * Unicode — see MarkupParser.decodeEntities), so serializer output is inert * even when the translation value is attacker-controlled. `ContentUnit.text` * itself is never modified — auto_key hashing is unaffected. * * @module content/serializer/HTMLSerializer */ import type { ISerializer } from './ISerializer.js'; import type { ContentUnit } from '../types.js'; /** * Serializer that converts ContentUnit format back to HTML strings. * * @example * ```typescript * const serializer = new HTMLSerializer(); * serializer.serialize({ * text: 'Read our <1>Terms.', * styles: { '1': ['raw:'] } * }); * // → 'Read our Terms.' * ``` */ export declare class HTMLSerializer implements ISerializer { serialize(unit: ContentUnit): string; } //# sourceMappingURL=HTMLSerializer.d.ts.map