/** * LaTeX → MathML (MathLive) → OMML (mathml2omml-plus) for native PowerPoint equations. * No hand-rolled math grammar — conversion is entirely library-based. */ /** Drop every character that cannot appear in an XML 1.0 document. */ export declare function stripXmlIllegalChars(text: string): string; /** * Well-formedness check mirroring the one pptxgenjs runs on `options.omml` * (strict XML 1.0 via `@rgrove/parse-xml` around a synthetic root). Returns * the first problem, or null when the fragment is safe to embed. */ export declare function validateOmmlFragment(omml: string): string | null; export interface OmmlRunStyle { /** CSS/hex color applied to every math glyph run and control (vinculum, …). */ color?: string; /** Font size in points (`a:rPr sz` is hundredths of a point). */ fontSizePt?: number; } /** * Stamp `a:rPr` (color / size) onto every `m:r` and `m:ctrlPr` in an OMML * fragment. pptxgenjs embeds OMML as opaque XML and does not propagate the * surrounding text-run `options.color`, so contrast-fixed (and user-styled) * equation colors must be written into the math markup itself. */ export declare function applyOmmlRunStyle(omml: string, style: OmmlRunStyle): string; /** Ensure MathLive is loaded so sync conversion can run during PPTX export. */ export declare function prepareLatexToOmml(): Promise; /** * Convert a LaTeX expression to an OMML `…` string. */ export declare function latexToOmml(latex: string): Promise; /** * Sync conversion — MathLive must already be loaded via {@link prepareLatexToOmml}. * Returns null when conversion fails (caller falls back to plain LaTeX text). */ export declare function tryLatexToOmmlSync(latex: string): string | null;