#import <InsiderMobile/Insider.h>
#import <InsiderHybrid/InsiderHybrid.h>
#import <InsiderMobile/InsiderCallbackTypeEnum.h>
#import <InsiderGeofence/InsiderGeofence.h>
#import "IDFAHelper.h"
#import <UserNotifications/UserNotifications.h>

@interface InsiderPlugin : CDVPlugin

- (void) init:(CDVInvokedUrlCommand *)command;
- (void) initWithLaunchOptions:(CDVInvokedUrlCommand *)command;
- (void) reinitWithPartnerName:(CDVInvokedUrlCommand *)command;
- (void) registerWithQuietPermission:(CDVInvokedUrlCommand *)command;
- (void) enableIDFACollection:(CDVInvokedUrlCommand *)command;
- (void) setGDPRConsent:(CDVInvokedUrlCommand *)command;
- (void) setMobileAppAccess:(CDVInvokedUrlCommand *)command;
- (void) startTrackingGeofence:(CDVInvokedUrlCommand *)command;
- (void) setAllowsBackgroundLocationUpdates:(CDVInvokedUrlCommand *)command;
- (void) tagEvent:(CDVInvokedUrlCommand *)command;
- (void) enableLocationCollection:(CDVInvokedUrlCommand *)command;
- (void) enableIpCollection:(CDVInvokedUrlCommand *)command;
- (void) enableCarrierCollection:(CDVInvokedUrlCommand *)command;
- (void) removeInapp:(CDVInvokedUrlCommand *)command;
- (void) getContentStringWithName:(CDVInvokedUrlCommand *)command;
- (void) getContentIntWithName:(CDVInvokedUrlCommand *)command;
- (void) getContentBoolWithName:(CDVInvokedUrlCommand *)command;
- (void) getContentStringWithoutCache:(CDVInvokedUrlCommand *)command;
- (void) getContentIntWithoutCache:(CDVInvokedUrlCommand *)command;
- (void) getContentBoolWithoutCache:(CDVInvokedUrlCommand *)command;
- (void) markContentOptimizerAsSeen:(CDVInvokedUrlCommand *)command;
- (void) visitHomePage:(CDVInvokedUrlCommand *)command;
- (void) visitListingPage:(CDVInvokedUrlCommand *)command;
- (void) visitProductDetailPage:(CDVInvokedUrlCommand *)command;
- (void) visitCartPage:(CDVInvokedUrlCommand *)command;
- (void) itemPurchased:(CDVInvokedUrlCommand *)command;
- (void) itemAddedToCart:(CDVInvokedUrlCommand *)command;
- (void) itemRemovedFromCart:(CDVInvokedUrlCommand *)command;
- (void) cartCleared:(CDVInvokedUrlCommand *)command;
- (void) getSmartRecommendation:(CDVInvokedUrlCommand *)command;
- (void) getSmartRecommendationWithProduct:(CDVInvokedUrlCommand *)command;
- (void) getSmartRecommendationWithProductIDs:(CDVInvokedUrlCommand *)command;
- (void) clickSmartRecommendationProduct:(CDVInvokedUrlCommand *)command;
- (void) getMessageCenterData:(CDVInvokedUrlCommand *)command;
- (void) setGender:(CDVInvokedUrlCommand *)command;
- (void) setSurname:(CDVInvokedUrlCommand *)command;
- (void) setAge:(CDVInvokedUrlCommand *)command;
- (void) setSMSOptin:(CDVInvokedUrlCommand *)command;
- (void) setEmailOptin:(CDVInvokedUrlCommand *)command;
- (void) setEmail:(CDVInvokedUrlCommand *)command;
- (void) setPushOptin:(CDVInvokedUrlCommand *)command;
- (void) setPhoneNumber:(CDVInvokedUrlCommand *)command;
- (void) setLocationOptin:(CDVInvokedUrlCommand *)command;
- (void) setWhatsappOptin:(CDVInvokedUrlCommand *)command;
- (void) setPromotionalOptin:(CDVInvokedUrlCommand *)command;
- (void) setLocale:(CDVInvokedUrlCommand *)command;
- (void) setFacebookID:(CDVInvokedUrlCommand *)command;
- (void) setTwitterID:(CDVInvokedUrlCommand *)command;
- (void) setCustomAttributeWithString:(CDVInvokedUrlCommand *)command;
- (void) setCustomAttributeWithInt:(CDVInvokedUrlCommand *)command;
- (void) setCustomAttributeWithDouble:(CDVInvokedUrlCommand *)command;
- (void) setCustomAttributeWithBoolean:(CDVInvokedUrlCommand *)command;
- (void) setCustomAttributeWithDate:(CDVInvokedUrlCommand *)command;
- (void) setCustomAttributeWithArray:(CDVInvokedUrlCommand *)command;
- (void) unsetCustomAttribute:(CDVInvokedUrlCommand *)command;
- (void) login:(CDVInvokedUrlCommand *)command;
- (void) logout:(CDVInvokedUrlCommand *)command;
- (void) logoutResettingInsiderID:(CDVInvokedUrlCommand *)command;
- (void) signUpConfirmation:(CDVInvokedUrlCommand *)command;
- (void) putException:(CDVInvokedUrlCommand *)command;
- (void) handleNotification:(CDVInvokedUrlCommand *)command;
- (void) getInsiderID:(CDVInvokedUrlCommand *)command;
- (void) registerInsiderIDListener:(CDVInvokedUrlCommand *)command;
- (void) disableInAppMessages:(CDVInvokedUrlCommand *)command;
- (void) enableInAppMessages:(CDVInvokedUrlCommand *)command;
- (void) itemAddedToWishlist:(CDVInvokedUrlCommand *)command;
- (void) itemRemovedFromWishlist:(CDVInvokedUrlCommand *)command;
- (void) wishlistCleared:(CDVInvokedUrlCommand *)command;
- (void) visitWishlistPage:(CDVInvokedUrlCommand *)command;
- (void) showNativeAppReview:(CDVInvokedUrlCommand *)command;
- (void) handleURL:(CDVInvokedUrlCommand *)command;
- (void) getAppCardsCampaigns:(CDVInvokedUrlCommand *)command;
- (void) markAppCardAsRead:(CDVInvokedUrlCommand *)command;
- (void) markAppCardAsUnread:(CDVInvokedUrlCommand *)command;
- (void) viewAppCard:(CDVInvokedUrlCommand *)command;
- (void) clickAppCard:(CDVInvokedUrlCommand *)command;
- (void) clickAppCardButton:(CDVInvokedUrlCommand *)command;
- (void) deleteAppCards:(CDVInvokedUrlCommand *)command;
- (void) addEventObserver:(CDVInvokedUrlCommand *)command;
- (void) removeEventObserver:(CDVInvokedUrlCommand *)command;
@end
