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'; export type ActionData = { [name: string]: any; }; export type ActionHandler, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, MA extends CommonMaction> = (node: MA, data?: ActionData) => void; export type ActionPair, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, MA extends CommonMaction> = [ ActionHandler, ActionData ]; export type ActionMap, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, MA extends CommonMaction> = Map>; export type ActionDef, WW extends CommonWrapper, WF extends CommonWrapperFactory, WC extends CommonWrapperClass, CC extends CharOptions, VV extends VariantData, DD extends DelimiterData, FD extends FontData, FC extends FontDataClass, MA extends CommonMaction> = [ string, [ ActionHandler, ActionData ] ]; export type EventHandler = (event: Event) => void; export declare const TooltipData: { dx: string; dy: string; postDelay: number; clearDelay: number; hoverTimer: Map; clearTimer: Map; stopTimers: (node: any, data: ActionData) => void; }; export interface CommonMaction, 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 { action: ActionHandler>; data: ActionData; tipDx: number; tipDy: number; readonly selected: WW; getParameters(): void; } export interface CommonMactionClass, 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 { actions: ActionMap>; } export declare function CommonMactionMixin, 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;