import { MathDocumentConstructor } from '../../core/MathDocument.js'; import { Handler } from '../../core/Handler.js'; import { ComplexityMathDocument, ComplexityMathItem } from '../../a11y/complexity.js'; import { AssistiveMmlMathDocument, AssistiveMmlMathItem } from '../../a11y/assistive-mml.js'; import { SpeechMathDocument } from '../../a11y/speech.js'; import { Menu } from './Menu.js'; import '../../a11y/speech/SpeechMenu.js'; export type Constructor = new (...args: any[]) => T; export type A11yMathItem = ComplexityMathItem & AssistiveMmlMathItem; export type A11yMathItemConstructor = { new (...args: any[]): A11yMathItem; }; export type A11yMathDocument = ComplexityMathDocument & SpeechMathDocument & AssistiveMmlMathDocument; export type A11yDocumentConstructor = MathDocumentConstructor; export interface MenuMathItem extends ComplexityMathItem { addMenu(document: MenuMathDocument, force?: boolean): void; getMenus(document: MenuMathDocument): void; checkLoading(document: MenuMathDocument): void; } export declare function MenuMathItemMixin(BaseMathItem: B): Constructor & B; export interface MenuMathDocument extends ComplexityMathDocument, SpeechMathDocument { menu: Menu; addMenu(): MenuMathDocument; checkLoading(): boolean; } export declare function MenuMathDocumentMixin(BaseDocument: B): Constructor & B; export declare function MenuHandler(handler: Handler): Handler;