complexity.d.ts 1.4 KB

12345678910111213141516171819
  1. import { Handler } from '../core/Handler.js';
  2. import { MathDocumentConstructor } from '../core/MathDocument.js';
  3. import { MathML } from '../input/mathml.js';
  4. import { MmlNode } from '../core/MmlTree/MmlNode.js';
  5. import { EnrichedMathItem, EnrichedMathDocument } from './semantic-enrich.js';
  6. export declare type Constructor<T> = new (...args: any[]) => T;
  7. export declare type EMItemC<N, T, D> = Constructor<EnrichedMathItem<N, T, D>>;
  8. export declare type CMItemC<N, T, D> = Constructor<ComplexityMathItem<N, T, D>>;
  9. export declare type EMDocC<N, T, D> = MathDocumentConstructor<EnrichedMathDocument<N, T, D>>;
  10. export declare type CMDocC<N, T, D> = Constructor<ComplexityMathDocument<N, T, D>>;
  11. export interface ComplexityMathItem<N, T, D> extends EnrichedMathItem<N, T, D> {
  12. complexity(document: ComplexityMathDocument<N, T, D>, force?: boolean): void;
  13. }
  14. export declare function ComplexityMathItemMixin<N, T, D, B extends EMItemC<N, T, D>>(BaseMathItem: B, computeComplexity: (node: MmlNode) => void): CMItemC<N, T, D> & B;
  15. export interface ComplexityMathDocument<N, T, D> extends EnrichedMathDocument<N, T, D> {
  16. complexity(): ComplexityMathDocument<N, T, D>;
  17. }
  18. export declare function ComplexityMathDocumentMixin<N, T, D, B extends EMDocC<N, T, D>>(BaseDocument: B): CMDocC<N, T, D> & B;
  19. export declare function ComplexityHandler<N, T, D>(handler: Handler<N, T, D>, MmlJax?: MathML<N, T, D>): Handler<N, T, D>;