#import <Foundation/Foundation.h>
#import <Capacitor/Capacitor.h>

// Define the plugin using the CAP_PLUGIN Macro, and
// each method the plugin supports using the CAP_PLUGIN_METHOD macro.
CAP_PLUGIN(MoECapacitorCorePlugin, "MoECapacitorCore",
           CAP_PLUGIN_METHOD(initialize, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(trackEvent, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setUniqueId, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setAlias, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setUserName, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setFirstName, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setLastName, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setEmailId, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setMobileNumber, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setGender, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setBirthDate, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setUserLocation, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setUserAttributeDate, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setUserAttributeLocation, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setUserAttribute, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(logoutUser, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(disableDataTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(enableDataTracking, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(enableSdk, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(disableSdk, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(registerForPush, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(showInApp, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(getSelfHandledInApp, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(selfHandledShown, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(selfHandledClicked, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(selfHandledPrimaryClicked, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(selfHandledDismissed, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(setInAppContext, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(resetInAppContext, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(setAppStatus, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(enableAdIdTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(disableAdIdTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(enableAndroidIdTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(disableAndroidIdTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(navigateToSettingsAndroid, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(requestPushPermissionAndroid, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(pushPermissionResponseAndroid, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(passFcmPushToken, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(passFcmPushPayload, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(setupNotificationChannelsAndroid, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(enableDeviceIdTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(disableDeviceIdTracking, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(updatePushPermissionRequestCountAndroid, CAPPluginReturnNone);
           CAP_PLUGIN_METHOD(deleteUser, CAPPluginReturnNone);
           
           CAP_PLUGIN_METHOD(showNudge, CAPPluginReturnNone);
)
