
/**
 * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
 *
 * Do not edit this file as changes may cause incorrect behavior and will be lost
 * once the code is regenerated.
 *
 * @generated by codegen project: GenerateModuleJavaSpec.js
 *
 * @nolint
 */

package com.customerglu.reactnativecustomerglu;

import com.facebook.proguard.annotations.DoNotStrip;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public abstract class NativeReactNativeCustomergluSpec extends ReactContextBaseJavaModule implements TurboModule {
  public static final String NAME = "Rncustomerglu";

  public NativeReactNativeCustomergluSpec(ReactApplicationContext reactContext) {
    super(reactContext);
  }

  @Override
  public @Nonnull String getName() {
    return NAME;
  }

  @ReactMethod
  @DoNotStrip
  public abstract void addListener(String eventType);

  @ReactMethod
  @DoNotStrip
  public abstract void removeListeners(double count);

  @ReactMethod
  @DoNotStrip
  public abstract void registerDevice(ReadableMap data, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void UpdateUserAttributes(ReadableMap userdata);

  @ReactMethod
  @DoNotStrip
  public abstract void dataClear();

  @ReactMethod
  @DoNotStrip
  public abstract void sendData(ReadableMap obj);

  @ReactMethod
  @DoNotStrip
  public abstract void openWallet(@Nullable ReadableMap obj);

  @ReactMethod
  @DoNotStrip
  public abstract void initCGSDK(String obj);

  @ReactMethod
  @DoNotStrip
  public abstract void loadCampaignById(String campid, @Nullable ReadableMap obj);

  @ReactMethod
  @DoNotStrip
  public abstract void loadCampaignWithUrl(String url, ReadableMap obj);

  @ReactMethod
  @DoNotStrip
  public abstract void enableAnalytic(boolean b);

  @ReactMethod
  @DoNotStrip
  public abstract void allowAnonymousRegistration(boolean b);

  @ReactMethod
  @DoNotStrip
  public abstract void gluSDKDebuggingMode(boolean b);

  @ReactMethod
  @DoNotStrip
  public abstract void enableEntryPoints(boolean b);

  @ReactMethod
  @DoNotStrip
  public abstract void setAdPopupFont(String value);

  @ReactMethod
  @DoNotStrip
  public abstract void UpdateProfile(ReadableMap obj);

  @ReactMethod
  @DoNotStrip
  public abstract void startSSEOnForeground();

  @ReactMethod
  @DoNotStrip
  public abstract void disconnectSSEOnBackground();

  @ReactMethod
  @DoNotStrip
  public abstract void setSSETimeout(double time);

  @ReactMethod
  @DoNotStrip
  public abstract void DisplayCustomerGluNotification();

  @ReactMethod
  @DoNotStrip
  public abstract void DisplayCGNotification(ReadableMap obj, @Nullable Boolean autoclosewebview);

  @ReactMethod
  @DoNotStrip
  public abstract void DisplayCGBackgroundNotification(ReadableMap obj, @Nullable Boolean autoclosewebview);

  @ReactMethod
  @DoNotStrip
  public abstract void SetCurrentClassName(String clname, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void getBannerHeight(Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void addMarginsForPIP(double horizontal, double vertical, String type);

  @ReactMethod
  @DoNotStrip
  public abstract void addDelayForPIP(double delay);

  @ReactMethod
  @DoNotStrip
  public abstract void setOpenWalletAsFallback(boolean value);

  @ReactMethod
  @DoNotStrip
  public abstract void isCampaignValid(String campaignId, String dataFlag, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void getCampaignStatus(String campaignId, String dataFlag, Promise promise);
}
