/** * DOMPurify policy for user-provided SVG icons, shared by the browser uploader and * the server trust boundary so a preview and the persisted icon cannot disagree. * `use` is re-added for self-contained `` references (targets restricted by * `restrictSvgReferences`); every SMIL element is forbidden so a stored icon * cannot animate forever wherever it renders. */ export declare const SVG_SANITIZE_CONFIG: { USE_PROFILES: { svg: boolean; svgFilters: boolean; }; ADD_TAGS: string[]; ADD_ATTR: string[]; FORBID_TAGS: string[]; FORBID_ATTR: string[]; }; /** Element surface shared by the browser DOM and the server's jsdom. */ export interface SvgAttributeHost { attributes: ArrayLike<{ name: string; }>; getAttribute(name: string): string | null; removeAttribute(name: string): void; } /** DOMPurify hook that drops every attribute referencing outside the document. */ export declare function restrictSvgReferences(node: SvgAttributeHost): void; /** * Makes HTML-mode sanitizer output valid as a standalone `image/svg+xml` * document: restores camelCase element names the HTML parser lowercased and * declares the SVG namespace on the root, without which an XML parser puts the * root in no namespace and the icon renders blank. */ export declare function finalizeSvgMarkup(markup: string): string;