import { CommonWrapper, CommonWrapperClass, CommonWrapperConstructor } from '../Wrapper.js'; import { CommonWrapperFactory } from '../WrapperFactory.js'; import { CharOptions, VariantData, DelimiterData, FontData, FontDataClass } from '../FontData.js'; import { CommonOutputJax } from '../../common.js'; import { BBox } from '../../../util/BBox.js'; import { LineBBox } from '../LineBBox.js'; export interface CommonMo, 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 CommonWrapper { size: number; isAccent: boolean; breakStyle: string; multChar: CommonMo; embellishedBreakCount: number; embellishedBreakStyle: string; protoBBox(bbox: BBox): void; moLineBBox(i: number, style: string, obox?: BBox): LineBBox; getAccentOffset(): number; getCenterOffset(bbox?: BBox): number; getStretchedVariant(WH: number[], exact?: boolean): void; getSize(name: string, value: number): number; getWH(WH: number[]): number; getStretchBBox(WHD: number[], D: number, C: DelimiterData): void; getBaseline(WHD: number[], HD: number, C: DelimiterData): number[]; checkExtendedHeight(D: number, C: DelimiterData): number; setBreakStyle(linebreak?: string): void; getBreakStyle(linebreak?: string): string; getMultChar(): void; } export interface CommonMoClass, 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 CommonWrapperClass { } export declare function CommonMoMixin, 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 CommonWrapperClass>(Base: CommonWrapperConstructor): B;