semantic-enrich.d.ts 1.4 KB

123456789101112131415161718
  1. import { Handler } from '../core/Handler.js';
  2. import { MathDocument, AbstractMathDocument, MathDocumentConstructor } from '../core/MathDocument.js';
  3. import { MathItem, AbstractMathItem } from '../core/MathItem.js';
  4. import { MmlNode } from '../core/MmlTree/MmlNode.js';
  5. import { MathML } from '../input/mathml.js';
  6. export declare type Constructor<T> = new (...args: any[]) => T;
  7. export interface EnrichedMathItem<N, T, D> extends MathItem<N, T, D> {
  8. enrich(document: MathDocument<N, T, D>, force?: boolean): void;
  9. attachSpeech(document: MathDocument<N, T, D>): void;
  10. }
  11. export declare function EnrichedMathItemMixin<N, T, D, B extends Constructor<AbstractMathItem<N, T, D>>>(BaseMathItem: B, MmlJax: MathML<N, T, D>, toMathML: (node: MmlNode) => string): Constructor<EnrichedMathItem<N, T, D>> & B;
  12. export interface EnrichedMathDocument<N, T, D> extends AbstractMathDocument<N, T, D> {
  13. enrich(): EnrichedMathDocument<N, T, D>;
  14. attachSpeech(): EnrichedMathDocument<N, T, D>;
  15. enrichError(doc: EnrichedMathDocument<N, T, D>, math: EnrichedMathItem<N, T, D>, err: Error): void;
  16. }
  17. export declare function EnrichedMathDocumentMixin<N, T, D, B extends MathDocumentConstructor<AbstractMathDocument<N, T, D>>>(BaseDocument: B, MmlJax: MathML<N, T, D>): MathDocumentConstructor<EnrichedMathDocument<N, T, D>> & B;
  18. export declare function EnrichHandler<N, T, D>(handler: Handler<N, T, D>, MmlJax: MathML<N, T, D>): Handler<N, T, D>;