#import <React/RCTBridgeModule.h>

// Exposes the Swift NoibuReactNative class to React Native (both architectures — the interop
// layer bridges legacy modules on the new architecture).
@interface RCT_EXTERN_MODULE (NoibuReactNative, NSObject)

RCT_EXTERN_METHOD(initialize
                  : (NSDictionary *)config resolver
                  : (RCTPromiseResolveBlock)resolve rejecter
                  : (RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(enableWebViewTracking
                  : (nonnull NSNumber *)viewTag resolver
                  : (RCTPromiseResolveBlock)resolve rejecter
                  : (RCTPromiseRejectBlock)reject)

RCT_EXTERN_METHOD(trackNavigation : (NSString *_Nullable)name)

RCT_EXTERN_METHOD(addCustomAttribute : (NSString *)name value : (NSString *)value)

RCT_EXTERN_METHOD(addError : (NSString *)message stack : (NSString *_Nullable)stack)

RCT_EXTERN_METHOD(recordNetwork : (NSDictionary *)event)

@end
