/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * <p>This source code is licensed under the MIT license found in the LICENSE file in the root
 * directory of this source tree.
 *
 * <p>Generated by an internal genrule from Flow types.
 *
 * @generated
 * @nolint
 */

package com.facebook.fbreact.specs;

import com.facebook.react.bridge.Callback;
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.ReactModuleWithSpec;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.turbomodule.core.interfaces.TurboModule;

public abstract class NativePushNotificationManagerIOSSpec extends ReactContextBaseJavaModule implements ReactModuleWithSpec, TurboModule {
  public NativePushNotificationManagerIOSSpec(ReactApplicationContext reactContext) {
    super(reactContext);
  }

  @ReactMethod
  public abstract void removeListeners(double count);

  @ReactMethod
  public abstract void getInitialNotification(Promise promise);

  @ReactMethod
  public abstract void setApplicationIconBadgeNumber(double num);

  @ReactMethod
  public abstract void scheduleLocalNotification(ReadableMap notification);

  @ReactMethod
  public abstract void getScheduledLocalNotifications(Callback callback);

  @ReactMethod
  public abstract void checkPermissions(Callback callback);

  @ReactMethod
  public abstract void requestPermissions(ReadableMap permission, Promise promise);

  @ReactMethod
  public abstract void removeAllDeliveredNotifications();

  @ReactMethod
  public abstract void onFinishRemoteNotification(String notificationId, String fetchResult);

  @ReactMethod
  public abstract void cancelLocalNotifications(ReadableMap userInfo);

  @ReactMethod
  public abstract void abandonPermissions();

  @ReactMethod
  public abstract void removeDeliveredNotifications(ReadableArray identifiers);

  @ReactMethod
  public abstract void cancelAllLocalNotifications();

  @ReactMethod
  public abstract void getDeliveredNotifications(Callback callback);

  @ReactMethod
  public abstract void getApplicationIconBadgeNumber(Callback callback);

  @ReactMethod
  public abstract void addListener(String eventType);

  @ReactMethod
  public abstract void presentLocalNotification(ReadableMap notification);
}
