import { HttpService } from '../../external/services/http.service'; declare global { interface Window { mixpanel: any; } } export declare type TEventName = 'COMMONNINJA_PLUGIN_LOADED' | 'COMMONNINJA_PLUGIN_REQUESTED_DATA' | 'COMMONNINJA_DIMENSIONS_UPDATE' | 'COMMONNINJA_STYLES_UPDATE' | 'COMMONNINJA_PARENT_WINDOW_SCROLL' | 'COMMONNINJA_ENGAGEMENT_EVENT' | 'COMMONNINJA_PERFORMANCE_EVENT' | 'COMMONNINJA_OPEN_POPUP' | 'COMMONNINJA_UPDATE_POPUP_STYLES' | 'COMMONNINJA_UPDATE_POPUP_URL' | 'COMMONNINJA_CLOSE_POPUP' | 'COMMONNINJA_DISPATCH_ACTION_TO_FRAME' | 'COMMONNINJA_ADD_WATERMARK'; export declare enum ClientEvent { INSTALL = "INSTALL", REQUEST = "REQUEST", IMPRESSION = "IMPRESSION", VIEW = "VIEW" } export declare enum EngagementEvent { CLICK = "click", HOVER = "hover", SCROL = "scroll" } export declare enum EventGroupType { CLIENT = "client", ENGAGEMENT = "engagement", PERFORMANCE = "performance" } declare class EventService extends HttpService { private reportedEvents; constructor(); reportEvent(groupType: EventGroupType, eventType: ClientEvent | EngagementEvent, compId: string | null, eventData?: any): void; private reportEngagementEvent; private reportPerformanceEvent; private reportClientEvent; postEventToParent(eventName: TEventName, compId: string | null, eventData?: any): void; reportMixpanelEvent(name: string, props?: any): void; } export declare const eventService: EventService; export {};