import { Handler } from '../core/Handler.js'; import { MmlNode } from '../core/MmlTree/MmlNode.js'; import { MathML } from '../input/mathml.js'; import { SpeechMathItem, SpeechMathDocument } from './speech.js'; import { MathDocumentConstructor } from '../core/MathDocument.js'; import { ExplorerPool, RegionPool } from './explorer/ExplorerPool.js'; export type Constructor = new (...args: any[]) => T; export type HANDLER = Handler; export type HTMLDOCUMENT = SpeechMathDocument & { menu?: any; }; export type HTMLMATHITEM = SpeechMathItem; export type MATHML = MathML; export interface ExplorerMathItem extends HTMLMATHITEM { ariaRole: string; roleDescription: string; none: string; brailleNone: string; explorers: ExplorerPool; refocus: string; explorable(document: HTMLDOCUMENT, force?: boolean): void; setTemporaryFocus(document: ExplorerMathDocument): HTMLElement; clearTemporaryFocus(focus: HTMLElement): void; } export declare function ExplorerMathItemMixin>(BaseMathItem: B, toMathML: (node: MmlNode) => string): Constructor & B; export interface ExplorerMathDocument extends HTMLDOCUMENT { infoIcon: HTMLElement; tmpFocus: HTMLElement; explorerRegions: RegionPool; activeItem: ExplorerMathItem; explorable(): HTMLDOCUMENT; } export declare function ExplorerMathDocumentMixin>(BaseDocument: B): MathDocumentConstructor & B; export declare function ExplorerHandler(handler: HANDLER, MmlJax?: MATHML): HANDLER; export declare function setA11yOptions(document: HTMLDOCUMENT, options: { [key: string]: any; }): void; export declare function setA11yOption(document: HTMLDOCUMENT, option: string, value: string | boolean): void;