package com.paygilantwrapper;

import com.facebook.react.bridge.Callback;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;

abstract class PaygilantWrapperSpec extends ReactContextBaseJavaModule {
  PaygilantWrapperSpec(ReactApplicationContext context) {
    super(context);
  }
    public abstract void initialize(String serverURL, String clientSessionId, Boolean toAskPermissions, Promise promise);
    public abstract void getSessionId(Promise promise);
    public abstract void setApprovePolicy(boolean approvePolicy,Promise promise);
    public abstract void isApprovePolicy(Promise promise);
    public  abstract  void setReactNativeVersion(String version, Promise promise);
    public abstract void askPaygilantPermissions(Promise promise);

    public abstract void logout(Promise promise);
    public abstract void startNewScreenListener(String type, double screenId,Promise promise);
    public abstract void getDeviceId(Promise promise);
    public abstract void startUserVerification(String userId, Promise promise);
    public abstract void setClientSessionId(String clientSessionId, Promise promise);

}
