import { Browser } from "../../browser"; import { Logger } from "../plugin"; declare global { interface Window { clevertap: CleverTapObject; } } interface CleverTapObject { account: any[]; event: any[]; profile: any[]; onUserLogin: any[]; notifications: any[]; privacy: any[]; } export interface CleverTapWrapper { init: (accountId: string, region?: Region) => void; pushProfileData: (...profileData: ProfileData[]) => void; pushEvent(evtName: string, ...evtNameOrData: EventNameOrData[]): void; } type Region = "sg1" | "in1" | "us1" | "aps3" | "mec1"; export interface ProfileData { Site?: SiteData; Facebook?: object; "Google Plus"?: object; } export interface SiteData { Name?: string; Identity?: string | number; Gender?: "M" | "F"; Employed?: "Y" | "N"; Married?: "Y" | "N"; Education?: "School" | "College" | "Graduate"; Age?: string | number; DOB?: string | number | Date; Phone?: string | number; [key: string]: any; } type EventName = string; type EventData = object; type EventNameOrData = EventName | EventData; export declare class CleverTapWrapperImpl implements CleverTapWrapper { private readonly browser; private readonly logger; private readonly testingMode; private scriptInitialized; constructor(browser: Browser, logger: Logger, testingWriteKey: boolean); init(accountId: string, region?: Region): void; pushProfileData(profileData: ProfileData): void; pushEvent(evtName: string, ...evtNameOrData: EventNameOrData[]): void; private initScript; private getCleverTapObject; } export {};