import { WindowHapiClassInterface, WindowHapiModuleWithConstructorArgs } from "./window"; import { WindowHapiLogger } from "../common/logger/types"; export type WindowHapiInstances = WindowHapiModuleWithConstructorArgs<{ logger: WindowHapiLogger; instances: WindowHapiInstance[]; readyInstances: string[]; isIframePerformanceTrackingEnabled: boolean; iframePerformanceMetrics: Record>; iframeLoadCounters: Record; getFrameWindowByName: (name: string) => Window | undefined; hasInstance: (instanceName: string) => boolean; getInstanceByName: (instanceName: string) => WindowHapiInstance | undefined; addInstanceByName: (instanceName: string, window: Window) => void; addInstance: (instance: WindowHapiInstance) => void; removeInstance: (instanceName: string) => void; recordIframeLoadTime: (iframeName: string) => void; recordOnIframeLoadedTime: (iframeName: string) => void; onAfterAddInstance: (instance: WindowHapiInstance) => void; onAfterRemoveInstance: (instance: WindowHapiInstance) => void; setInstanceReadyByName: (instanceName: string, isReady: boolean) => void; queueOnMount: (onMountFunction: () => Promise) => void; processOnMountQueue: () => Promise; batchApiRequest: (url: string, fetchFn: () => Promise) => Promise; staggerIframeLoad: (callback: () => void, delay?: number) => void; addInstanceByNameIfFrameWindowExists: (instanceName?: string) => void; iframeLoadQueue: (() => Promise)[]; iframeQueueEnabled: boolean; activeIframeLoads: number; maxConcurrentLoads: number; batchApiRequests: Map>; }, { readonly core: WindowHapiClassInterface; }>; export type WindowHapiInstance = { logger: WindowHapiLogger; name: string; window?: Window; }; //# sourceMappingURL=instances.types.d.ts.map