import { OmmlJsonNode, MathObjectConverter } from '../types.js';
type MathAtomTag = 'mi' | 'mo' | 'mn';
/**
 * Split a math run's text into MathML atoms, matching Word's OMML2MML.XSL.
 *
 * Rules (ECMA-376 §22.1.2.116 example + Annex L.6.1.13):
 * - Consecutive digits — optionally containing one decimal point between digits —
 *   group into a single `<mn>`.
 * - Each recognized operator character becomes its own `<mo>`.
 * - Every other character becomes its own `<mi>`.
 *
 * Example: `"n+1"` → `[<mi>n</mi>, <mo>+</mo>, <mn>1</mn>]`.
 */
export declare function tokenizeMathText(text: string): Array<{
    tag: MathAtomTag;
    content: string;
}>;
/**
 * Convert an m:r (math run) element to MathML atoms.
 *
 * m:r contains:
 * - m:rPr (math run properties: script, style, normal text flag)
 * - m:t (text content)
 * - Optionally w:rPr (WordprocessingML run properties for formatting)
 *
 * The run's text is split per-character into `<mi>` / `<mo>` / `<mn>` atoms
 * per Word's OMML2MML.XSL. For a single-atom run (common case — a one-letter
 * variable, single operator, or an all-digit number) the converter returns a
 * single Element. For a multi-atom run (e.g. "→∞", "x+1") it returns a
 * DocumentFragment whose children become siblings of the parent mrow.
 *
 * @spec ECMA-376 §22.1.2.116 (t) — example shows multi-char mixed runs as the
 *   normal authored shape; §22.1.2.58 (lit) implies operators are classified
 *   per-character by default.
 */
export declare const convertMathRun: MathObjectConverter;
/**
 * Convert an m:r inside m:fName (m:func's function-name slot). Word's
 * OMML2MML.XSL keeps each letter-sequence whole while still splitting out
 * digits and operators — so `sin` stays `<mi>sin</mi>`, but `log_2` becomes
 * `<mi>log</mi><mo>_</mo><mn>2</mn>`.
 *
 * Returns a single Element for single-atom runs or a DocumentFragment when
 * the run emits multiple atoms. Returns null for empty text.
 */
export declare function convertMathRunAsFunctionName(node: OmmlJsonNode, doc: Document): Node | null;
export {};
//# sourceMappingURL=math-run.d.ts.map