import { Handler } from '../core/Handler.js'; import { MathDocument, MathDocumentConstructor } from '../core/MathDocument.js'; import { EnrichedMathItem, EnrichedMathDocument } from './semantic-enrich.js'; import { MathML } from '../input/mathml.js'; import { GeneratorPool } from './speech/GeneratorPool.js'; import { WorkerHandler } from './speech/WebWorker.js'; export type Constructor = new (...args: any[]) => T; export interface SpeechMathItem extends EnrichedMathItem { generatorPool: GeneratorPool; attachSpeech(document: MathDocument): void; detachSpeech(document: MathDocument): void; speechFor(mml: string): Promise<[string, string]>; } export declare function SpeechMathItemMixin>>(EnrichedMathItem: B): Constructor> & B; export interface SpeechMathDocument extends EnrichedMathDocument { webworker: WorkerHandler; attachSpeech(): SpeechMathDocument; speechError(doc: SpeechMathDocument, math: SpeechMathItem, err: Error): void; getWebworker(): void; } export declare function SpeechMathDocumentMixin>>(EnrichedMathDocument: B): MathDocumentConstructor> & B; export declare function SpeechHandler(handler: Handler, MmlJax: MathML): Handler;