declare global { interface Window { diviModuleCircleCounterData?: CircleCounterData[]; diviModuleCircleCounterReinit: CircleCounterReInit; diviModuleCircleCounterUpdate: CircleCounterUpdate; diviModuleCircleCounterInit: CircleCounterInit; diviElementStickyData: Record; et_pb_sticky_elements: Record; } interface JQuery { /** * Easy Pie Chart jQuery plugin. * * @param {object} options Options. */ easyPieChart(options: { onStart(from: number): void; size: any; onStep(from: number, to: number, percent: number): void; numberValue: number; trackAlpha: number; barColor: string; scaleColor: boolean; animate: { duration: number; enabled: boolean; }; trackColor: string | false; lineWidth: number; onStop(from: number, to: number): void; }): void; } } export type CircleCounterReInit = (customData?: CircleCounterData[]) => void; export type CircleCounterUpdate = ( $element: JQuery, data: CircleCounterFilteredData, forceUpdate?: boolean, ) => void; export type CircleCounterInit = ($element: JQuery, data: CircleCounterFilteredData, disableAnimation?: boolean) => void; export interface CircleCounterEventSticky extends Event { detail: { stickyId: string; }; } export type CircleCounterDataBreakpoint = 'desktop' | 'tablet' | 'phone'; export type CircleCounterDataState = 'value' | 'hover' | 'sticky'; export type CircleCounterDataMode = CircleCounterDataBreakpoint | CircleCounterDataState; export type CircleCounterDataAttrs = Record< CircleCounterDataKey, Record> >; export type CircleCounterDataKey = keyof CircleCounterFilteredData; export interface CircleCounterFilteredData { numberValue: string; barColor: string; trackColor: string | false; trackAlpha: string; } export interface CircleCounterData { selector: string; data: CircleCounterDataAttrs; } export {};