import { WindowHapiModuleName } from "../common/enums"; import { WindowHapiUtilsProduct } from "../product/utils.types"; import { WindowHapiUtilsContract } from "../contract/utils.types"; import { WindowHapiUtilsCampaign } from "../campaign/utils.types"; import { WindowHapiUtilsBasket } from "../basket/utils.types"; import { WindowHapiUtilsOrderJourney } from "../orderJourney/utils.types"; import { WindowHapiClassInterface, WindowHapiModuleWithConstructorArgs } from "./window"; import { WindowHapiUtilsModal } from "../modal/utils.types"; import { WindowHapiUtilsRouter } from "../routing/utils.types"; import { WindowHapiUtilsLanguage } from "../language/utils.types"; import { WindowHapiUtilsAlert } from "../alert/utils.types"; import { FlattenedItem, WindowHapiLogger, WindowHapiTimer } from "../common"; import { WindowHapiUtilsUI } from "../ui/utils.types"; export type WindowHapiUtils = WindowHapiModuleWithConstructorArgs<{ logger: WindowHapiLogger; isObject: (item: any) => boolean; mergeDeepOverwriteArrays: (original: any, overwrites: any) => any; flattenObject: (object: Record, parentKey?: string) => Record; getFlattenedTree: (values: any[], childAccessor: string, labelAccessor: string, valueAccessor: string, parentLabelOrAccessor?: string | ((value: any) => string), canSelectParentCategoriesThatHasOptions?: boolean) => FlattenedItem[]; pushAfter: (array: any[], findPredicate: (item: any, index: number) => boolean, itemsToPush: any[]) => any[]; pushBefore: (array: any[], findPredicate: (item: any, index: number) => boolean, itemsToPush: any[]) => any[]; getComponentNameIndexSuffix: (instanceName: string) => string; getIframeLoadingSpinner: (webComponentElement?: HTMLElement) => HTMLDivElement; getIframeLoadingSkeleton: (webComponentElement?: HTMLElement) => HTMLDivElement; timeoutIds: WindowHapiTimer[]; intervalIds: WindowHapiTimer[]; setTimeout: (callingFunctionName: string, handler: TimerHandler, timeout?: number, ...args: any[]) => number; setInterval: (callingFunctionName: string, handler: TimerHandler, timeout?: number, ...args: any[]) => number; clearTimeout: (id: number) => void; clearInterval: (id: number) => void; clearAllTimers: () => void; product: WindowHapiUtilsProduct; contract: WindowHapiUtilsContract; campaign: WindowHapiUtilsCampaign; basket: WindowHapiUtilsBasket; orderJourney: WindowHapiUtilsOrderJourney; modal: WindowHapiUtilsModal; router: WindowHapiUtilsRouter; language: WindowHapiUtilsLanguage; alert: WindowHapiUtilsAlert; ui: WindowHapiUtilsUI; utilities: { [WindowHapiModuleName.basket]: WindowHapiUtilsBasket; [WindowHapiModuleName.campaign]: WindowHapiUtilsCampaign; [WindowHapiModuleName.contract]: WindowHapiUtilsContract; [WindowHapiModuleName.product]: WindowHapiUtilsProduct; [WindowHapiModuleName.orderJourney]: WindowHapiUtilsOrderJourney; [WindowHapiModuleName.modal]: WindowHapiUtilsModal; [WindowHapiModuleName.router]: WindowHapiUtilsRouter; [WindowHapiModuleName.language]: WindowHapiUtilsLanguage; [WindowHapiModuleName.alert]: WindowHapiUtilsAlert; [WindowHapiModuleName.ui]: WindowHapiUtilsUI; }; }, { readonly core: WindowHapiClassInterface; }>; //# sourceMappingURL=utils.types.d.ts.map