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

@interface RCT_EXTERN_MODULE(VwoInsightsReactNativeSdk, NSObject)

RCT_EXTERN_METHOD(config:(NSString)accountID withB:(NSString)AppID withC:(NSString)userID)
RCT_EXTERN_METHOD(sdkVersion:(NSString)version)
RCT_EXTERN_METHOD(startRecording)
RCT_EXTERN_METHOD(stopRecording)
RCT_EXTERN_METHOD(pauseRecording)
RCT_EXTERN_METHOD(resumeRecording)
RCT_EXTERN_METHOD(setScreenName:(NSString)screenName)
RCT_EXTERN_METHOD(customAttribute:(NSDictionary*)data)
RCT_EXTERN_METHOD(customEvent:(NSString)eventName  withB:(NSDictionary*)data withC:(NSDictionary*)BoolData)
RCT_EXTERN_METHOD(customVariable:(NSDictionary*)data)
RCT_EXTERN_METHOD(getSessionURL: (NSString *)source
                  resolver: (RCTPromiseResolveBlock)resolve
                  rejecter: (RCTPromiseRejectBlock)reject)
RCT_EXTERN_METHOD(enableVWOIntegrations: (RCTResponseSenderBlock)callback)

+ (BOOL)requiresMainQueueSetup
{
  return NO;
}

@end

