import { CommonWrapper, CommonWrapperClass, CommonWrapperConstructor, Constructor } 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'; export interface CommonScriptbase, 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 { readonly baseCore: WW; readonly baseChild: WW; readonly baseScale: number; readonly baseIc: number; readonly baseRemoveIc: boolean; readonly baseIsChar: boolean; readonly baseHasAccentOver: boolean; readonly baseHasAccentUnder: boolean; readonly isLineAbove: boolean; readonly isLineBelow: boolean; readonly isMathAccent: boolean; readonly scriptChild: WW; getBaseCore(): WW; setBaseAccentsFor(core: WW): void; getSemanticBase(): WW; getBaseFence(fence: WW, id: string): WW; getBaseScale(): number; getBaseIc(): number; getAdjustedIc(): number; isCharBase(): boolean; checkLineAccents(): void; isLineAccent(script: WW): boolean; getBaseWidth(): number; getOffset(): number[]; baseCharZero(n: number): number; getV(): number; getU(): number; hasMovableLimits(): boolean; getOverKU(basebox: BBox, overbox: BBox): number[]; getUnderKV(basebox: BBox, underbox: BBox): number[]; getDeltaW(boxes: BBox[], delta?: number[]): number[]; getDelta(script: WW, noskew?: boolean): number; stretchChildren(): void; appendScripts(bbox: BBox): BBox; } export interface CommonScriptbaseClass, 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 { useIC: boolean; } export type CommonScriptbaseConstructor, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass> = Constructor>; export declare function CommonScriptbaseMixin, 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;