interface FitTextSettings { minFontSize: string; maxFontSize: string; } declare global { interface Window { diviModuleNumberCounterData?: NumberCounterData[]; diviModuleNumberCounterReinit: NumberCounterReInit; diviModuleNumberCounterUpdate: NumberCounterUpdate; diviModuleNumberCounterInit: NumberCounterInit; diviElementStickyData: Record; et_pb_sticky_elements: Record; } interface JQuery { /** * FitText.js, a jQuery plugin for inflating web type. * * @since ?? * * @param {number} compressor * @param {FitTextSettings} settings * * @returns {JQuery} * * @see https://github.com/davatron5000/FitText.js */ fitText: (compressor?: number, settings?: FitTextSettings) => JQuery; /** * Easy Pie Chart jQuery plugin. * * @param {object} options Options. */ easyPieChart(options: { numberValue: number; animate: { duration: number; enabled: true; }; size: number; trackAlpha: number; trackColor: false; scaleColor: false; lineWidth: number; onStart(from: number): void; onStep(from: number, to: number, percent: number): void; onStop(from: number, to: number): void; }): void; } } export type NumberCounterReInit = (customData?: NumberCounterData[]) => void; export type NumberCounterUpdate = ( $element: JQuery, data: NumberCounterFilteredData, forceUpdate?: boolean, ) => void; export type NumberCounterInit = ($element: JQuery, data: NumberCounterFilteredData, forceUpdate?: boolean) => void; export interface NumberCounterEventSticky extends Event { detail: { stickyId: string; }; } export type NumberCounterDataBreakpoint = 'desktop' | 'tablet' | 'phone'; export type NumberCounterDataState = 'value' | 'hover' | 'sticky'; export type NumberCounterDataMode = NumberCounterDataBreakpoint | NumberCounterDataState; export type NumberCounterDataAttrs = Partial< Record< NumberCounterDataKey, Partial>>> > >; export type NumberCounterDataKey = keyof NumberCounterFilteredData; export interface NumberCounterFilteredData { numberValue: string; } export interface NumberCounterData { selector: string; data: NumberCounterDataAttrs; } export {};