import { Editor } from '@tiptap/react';
/**
 * Serializer utilities for converting between HTML and TipTap JSON format.
 * Ensures backward compatibility with CKEditor HTML output.
 */
/**
 * Get editor content as HTML string.
 * Output is compatible with CKEditor HTML format.
 *
 * KaTeX/LaTeX sync note:
 *  - MathLive <math-field> elements are interactive and cannot be stored raw.
 *  - We strip them and emit a lightweight <span> that carries:
 *      • class="mtx-math-inline" or "mtx-math-block"  (used by ContentViewer)
 *      • data-latex="…"                                (the LaTeX source)
 *      • data-display="inline"|"block"                 (rendering mode)
 *  - ContentViewer reads these attributes and renders them with KaTeX.
 */
export declare function getHTML(editor: Editor): string;
/**
 * Get editor content as TipTap JSON.
 */
export declare function getJSON(editor: Editor): Record<string, unknown>;
/**
 * Sanitize HTML from CKEditor to ensure it renders properly in TipTap.
 * Handles common CKEditor-specific tags and attributes.
 */
export declare function sanitizeCKEditorHTML(html: string): string;
/**
 * Convert TipTap HTML output to be compatible with CKEditor format.
 * This ensures existing renderers in solutest.id can still display the content.
 */
export declare function toCompatibleHTML(html: string): string;
