export declare function IkasEvents(initialSubscribers: IkasEventSubscriber[]): { subscribe: (subscriber: any) => void; unsubscribe: (id: string) => void; }; export declare function initIkasEvents(): void; export declare function isValidIkasEventSubscriber(data: any): boolean; export type IkasEventType = "PAGE_VIEW" | "PRODUCT_VIEW" | "ADD_TO_CART" | "REMOVE_FROM_CART" | "BEGIN_CHECKOUT" | "CHECKOUT_STEP" | "COMPLETE_CHECKOUT" | "ADD_TO_WISHLIST" | "REMOVE_FROM_WISHLIST" | "SEARCH" | "CUSTOMER_REGISTER" | "CUSTOMER_LOGIN" | "CUSTOMER_LOGOUT" | "CUSTOMER_VISIT" | "VIEW_CART" | "VIEW_CATEGORY" | "VIEW_BRAND" | "VIEW_SEARCH_RESULTS" | "VIEW_LISTING" | "CONTACT_FORM" | "EMAIL_SUBSCRIPTION" | "POPUP_VIEW"; export type IkasEventSubscriber = { id: string; callback: (event: IkasEvent) => void; }; export type IkasEvent = { type: IkasEventType; data: any; }; /** * The single notification path every `anl_*` function goes through. * * Callers invoke this BEFORE any network wait (pixel chunk `await import`s included): MPA * themes navigate via `location.href` in the same tick an event's trigger resolves, which * cancels in-flight requests and would otherwise leave subscribers unnotified. */ export declare function notifySubscribers(event: IkasEvent): void;