#import <React/RCTBridgeModule.h>
#import <React/RCTViewManager.h>
#import <React/RCTUtils.h>
#import <React/RCTEventEmitter.h>
#import <React/RCTUIManager.h>

@interface RCT_EXTERN_MODULE(RnFawryPaySdk, RCTEventEmitter)

RCT_EXTERN_METHOD(startPayment:(nonnull NSString*)baseUrl 
                              lang:(nonnull NSString*)lang 
                              merchantInfo:(nonnull NSDictionary*)merchantInfo 
                              customerInfo:(nonnull NSDictionary*)customerInfo 
                              items:(nonnull NSArray*)items
                              allow3DPayment:(nonnull NSNumber*)allow3DPayment
                              skipReceipt:(nonnull NSNumber*)skipReceipt
                              skipLogin:(nonnull NSNumber*)skipLogin
                              payWithCardToken:(nonnull NSNumber*)payWithCardToken
                              authCaptureMode:(nonnull NSNumber*)authCaptureMode
                              allowVoucher:(nonnull NSNumber*)allowVoucher
                              signature:(nonnull NSString*)signature)

RCT_EXTERN_METHOD(openCardsManager:(nonnull NSString*)baseUrl
                              lang:(nonnull NSString*)lang
                              merchantInfo:(nonnull NSDictionary*)merchantInfo
                              customerInfo:(nonnull NSDictionary*)customerInfo)

+ (BOOL)requiresMainQueueSetup
{
  return NO;
}

@end
