#import <React/RCTBridgeModule.h>
#import <React/RCTEventEmitter.h>

@interface RCT_EXTERN_MODULE(SIDAddressVerification, RCTEventEmitter)

RCT_EXTERN_METHOD(multiply:(double)a
                  b:(double)b
                  resolve:(RCTPromiseResolveBlock)resolve
                  reject:(RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(fetchConfiguration:(NSString *)apiKey
                  customerID:(NSString *)customerID
                  token:(NSString *)token
                  refreshToken:(NSString *)refreshToken
                  resolver:(RCTPromiseResolveBlock)resolve
                  rejecter:(RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(startTrackingWithConfig:(NSString *)apiKey
                  customerID:(NSString *)customerID
                  verificationId:(NSString *)verificationId
                  resolve:(RCTPromiseResolveBlock)resolve
                  reject:(RCTPromiseRejectBlock)reject)
//                  token:(NSString *)token
//                  refreshToken:(NSString *)refreshToken)

RCT_EXTERN_METHOD(stopTracking)

// Pick location
RCT_EXTERN_METHOD(pickLocation:(RCTPromiseResolveBlock)resolve
                  reject:(RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(addListener:(NSString *)eventName)

RCT_EXTERN_METHOD(removeListeners:(double)count)

@end