import { CommonWrapper, CommonWrapperClass, Constructor } from '../Wrapper.js'; import { CommonWrapperFactory } from '../WrapperFactory.js'; import { CharOptions, VariantData, DelimiterData, FontData, FontDataClass } from '../FontData.js'; import { CommonOutputJax } from '../../common.js'; import { CommonMsubsup, CommonMsubsupClass } from './msubsup.js'; import { BBox } from '../../../util/BBox.js'; export type ScriptData = { base: BBox; sub: BBox; sup: BBox; psub: BBox; psup: BBox; numPrescripts: number; numScripts: number; }; export type ScriptDataName = keyof ScriptData; export type ScriptLists = { base: BBox[]; subList: BBox[]; supList: BBox[]; psubList: BBox[]; psupList: BBox[]; }; export type ScriptListName = keyof ScriptLists; export declare const NextScript: { [key: string]: ScriptListName; }; export declare const ScriptNames: ScriptDataName[]; export interface CommonMmultiscripts, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass> extends CommonMsubsup { scriptData: ScriptData; firstPrescript: number; combinePrePost(pre: BBox, post: BBox): BBox; getScriptData(): void; getScriptBBoxLists(): ScriptLists; padLists(list1: BBox[], list2: BBox[]): void; combineBBoxLists(bbox1: BBox, bbox2: BBox, list1: BBox[], list2: BBox[]): void; getScaledWHD(bbox: BBox): void; getCombinedUV(): number[]; addPrescripts(bbox: BBox, u: number, v: number): BBox; } export interface CommonMmultiscriptsClass, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass> extends CommonMsubsupClass { } export declare function CommonMmultiscriptsMixin, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, B extends CommonMsubsupClass>(Base: Constructor>): B;