import { Handler } from '../core/Handler.js'; import { MathDocumentConstructor } from '../core/MathDocument.js'; import { MathML } from '../input/mathml.js'; import { MmlNode } from '../core/MmlTree/MmlNode.js'; import { EnrichedMathItem, EnrichedMathDocument } from './semantic-enrich.js'; export declare type Constructor = new (...args: any[]) => T; export declare type EnrichedDocumentConstructor = MathDocumentConstructor>; export interface ComplexityMathItem extends EnrichedMathItem { complexity(document: ComplexityMathDocument): void; } export declare function ComplexityMathItemMixin>>(BaseMathItem: B, computeComplexity: (node: MmlNode) => void): Constructor> & B; export interface ComplexityMathDocument extends EnrichedMathDocument { complexity(): ComplexityMathDocument; } export declare function ComplexityMathDocumentMixin>(BaseDocument: B): Constructor> & B; export declare function ComplexityHandler(handler: Handler, MmlJax?: MathML): Handler;