import { User } from './User'; import { Event } from './Event'; import { Product } from './Product'; import { Identifier } from './Identifier'; import { Gender } from './Gender'; import { CallbackType } from './CallbackType'; import { ContentOptimizerDataType } from './ContentOptimizerDataType'; import { InsiderAppCards } from './InsiderAppCards'; import { InsiderEvents } from './InsiderEvents'; import { InsiderAppCardsError, InsiderAppCardsErrorCode } from './InsiderAppCardsError'; import { CloseButtonPosition } from './CloseButtonPosition'; export type CustomParameters = { [key: string]: string | number | boolean | Date | number[] | string[]; }; interface InsiderPlugin { init(partnerName: string, appGroup: string, handleNotificationCallback: Function, appIdentifier?: string | null): void; initWithCustomEndpoint(partnerName: string, appGroup: string, endpoint: string, handleNotificationCallback: Function, appIdentifier?: string | null): void; reinitWithPartnerName(partnerName: string): void; tagEvent(eventName: string): Event; getCurrentUser(): User; createNewProduct(productID: string, name: string, taxonomy: Array, imageURL: string, price: number, currency: string): Product; itemPurchased(uniqueSaleID: string, product: Product, customParameters?: CustomParameters): void; itemAddedToCart(product: Product, customParameters?: CustomParameters): void; itemRemovedFromCart(productID: string): void; itemRemovedFromCart(productID: string, customParameters: CustomParameters): void; itemRemovedFromCart(productID: string, saleID: string): void; itemRemovedFromCart(productID: string, saleID: string, customParameters: CustomParameters): void; cartCleared(customParameters?: CustomParameters): void; itemAddedToWishlist(product: Product, customParameters?: CustomParameters): void; itemRemovedFromWishlist(productID: string, customParameters?: CustomParameters): void; wishlistCleared(customParameters?: CustomParameters): void; visitWishlistPage(products: Array, customParameters?: CustomParameters): void; getMessageCenterData(limit: number, startDate: Date, endDate: Date): Promise; getMessageCenterDataWithIdentifiers(limit: number, startDate: Date, endDate: Date, identifiers: object): Promise; getSmartRecommendation(recommendationID: number, locale: string, currency: string): Promise; getSmartRecommendationWithProduct(product: Product, recommendationID: number, locale: string): Promise; getSmartRecommendationWithProductIDs(productIDs: Array, recommendationID: number, locale: string, currency: string): Promise; clickSmartRecommendationProduct(product: Product, recommendationID: number): void; getContentStringWithName(variableName: string, defaultValue: string, contentOptimizerDataType: number): Promise; getContentBoolWithName(variableName: string, defaultValue: boolean, contentOptimizerDataType: number): Promise; getContentIntWithName(variableName: string, defaultValue: number, contentOptimizerDataType: number): Promise; getContentStringWithoutCache(variableName: string, defaultValue: string, contentOptimizerDataType: number): Promise; getContentBoolWithoutCache(variableName: string, defaultValue: boolean, contentOptimizerDataType: number): Promise; getContentIntWithoutCache(variableName: string, defaultValue: number, contentOptimizerDataType: number): Promise; markContentOptimizerAsSeen(variableName: string): void; visitHomePage(customParameters?: CustomParameters): void; visitListingPage(taxonomy: Array, customParameters?: CustomParameters): void; visitProductDetailPage(product: Product, customParameters?: CustomParameters): void; visitCartPage(products: Array): void; visitCartPage(products: Array, customParameters: CustomParameters): void; visitCartPage(products: Array, saleID: string): void; visitCartPage(products: Array, saleID: string, customParameters: CustomParameters): void; startTrackingGeofence(): void; setAllowsBackgroundLocationUpdates(allowsBackgroundLocationUpdates: boolean): void; setGDPRConsent(gdprConsent: boolean): void; setMobileAppAccess(mobileAppAccess: boolean): void; enableIDFACollection(idfaCollection: boolean): void; removeInapp(): void; registerWithQuietPermission(booleanValue: boolean): void; setPushToken(token: string): void; enableLocationCollection(locationCollection: boolean): void; enableIpCollection(ipCollection: boolean): void; enableCarrierCollection(carrierCollection: boolean): void; signUpConfirmation(customParameters?: CustomParameters): void; setActiveForegroundPushView(): void; setInternalBrowserCloseButtonPosition(position: string): void; setForegroundPushCallback(callback: Function): void; handleNotification(userInfo: object): void; getInsiderID(): Promise; registerInsiderIDListener(insiderIDCallback: (insiderID: string) => void): void; disableInAppMessages(): void; enableInAppMessages(): void; showNativeAppReview(): void; handleUniversalLink(url: string): void; handleURL(url: string): void; triggerPushProcessWithNotificationData(userInfo: object): void; gender: Gender; callbackType: CallbackType; contentOptimizerDataType: ContentOptimizerDataType; closeButtonPosition: CloseButtonPosition; identifier(): Identifier; appCards: InsiderAppCards; events: InsiderEvents; AppCardsError: typeof InsiderAppCardsError; AppCardsErrorCode: typeof InsiderAppCardsErrorCode; } declare const Insider: InsiderPlugin; export default Insider;