
/**
 * 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.facebook.fbreact.specs;

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.ReadableArray;
import com.facebook.react.turbomodule.core.interfaces.TurboModule;
import javax.annotation.Nonnull;

public abstract class NativeToponSpec extends ReactContextBaseJavaModule implements TurboModule {
  public static final String NAME = "Topon";

  public NativeToponSpec(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 init(String appId, String appKey);

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

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

  @ReactMethod
  @DoNotStrip
  public abstract void setExcludeMyOfferPkgList(ReadableArray packages);

  @ReactMethod
  @DoNotStrip
  public abstract void initCustomMap(String customMapJson);

  @ReactMethod
  @DoNotStrip
  public abstract void setPlacementCustomMap(String placementId, String customMapJson);

  @ReactMethod
  @DoNotStrip
  public abstract void setGDPRLevel(double level);

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

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

  @ReactMethod
  @DoNotStrip
  public abstract void showGDPRAuth();

  @ReactMethod
  @DoNotStrip
  public abstract void setLogDebug(boolean isDebug);

  @ReactMethod
  @DoNotStrip
  public abstract void deniedUploadDeviceInfo(ReadableArray keys);

  @ReactMethod
  @DoNotStrip
  public abstract void rewardedLoadAd(String placementId, String settingsJson);

  @ReactMethod
  @DoNotStrip
  public abstract void rewardedShowAd(String placementId);

  @ReactMethod
  @DoNotStrip
  public abstract void rewardedShowAdInScenario(String placementId, String scenario);

  @ReactMethod
  @DoNotStrip
  public abstract void rewardedHasAdReady(String placementId, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void rewardedCheckAdStatus(String placementId, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void interstitialLoadAd(String placementId, String settingsJson);

  @ReactMethod
  @DoNotStrip
  public abstract void interstitialShowAd(String placementId);

  @ReactMethod
  @DoNotStrip
  public abstract void interstitialShowAdInScenario(String placementId, String scenario);

  @ReactMethod
  @DoNotStrip
  public abstract void interstitialHasAdReady(String placementId, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void interstitialCheckAdStatus(String placementId, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerLoadAd(String placementId, String settingsJson);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerShowAdInRectangle(String placementId, String rectJson);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerShowAdInPosition(String placementId, String position);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerShowAdInRectangleAndScenario(String placementId, String rectJson, String scenario);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerShowAdInPositionAndScenario(String placementId, String position, String scenario);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerHideAd(String placementId);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerReShowAd(String placementId);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerRemoveAd(String placementId);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerHasAdReady(String placementId, Promise promise);

  @ReactMethod
  @DoNotStrip
  public abstract void bannerCheckAdStatus(String placementId, Promise promise);
}
