import { OnsiteCoreWindow, EventData, Events } from "@mailbiz/onsite-core"; import { ProductPropertiesEvent } from "@mailbiz/tracker-core"; //#region [Window] interface WooCommerceWindow extends OnsiteCoreWindow { } interface UniversalEventTracker { (eventName: Events, eventData: EventData): void; q?: Array<[ Events, EventData ]>; } //#region [Window] interface UniversalWindow extends OnsiteCoreWindow { mb_track: UniversalEventTracker; mb_recover_cart?: (payload: CartRecoveryPayload) => void; } //#endregion interface CartRecoveryPayload { cart_id: string; user_id: string; products: CartRecoveryProduct[]; } interface CartRecoveryProduct { product_id: string; sku: string; quantity: number; recovery_properties?: ProductPropertiesEvent; } declare global { interface Window extends UniversalWindow { } interface Window extends WooCommerceWindow { } }