#import <React/RCTBridgeModule.h>
#import <React/RCTDefines.h>
#import <React/RCTTurboModule.h>

@class RCTPromiseResolveBlock;
@class RCTPromiseRejectBlock;

NS_ASSUME_NONNULL_BEGIN

// TurboModule-compatible external interface declaration
RCT_EXTERN_MODULE(SslPinningGuard, NSObject)

RCT_EXTERN_METHOD(configure:(NSDictionary *)config)

RCT_EXTERN_METHOD(makePinnedRequest:(NSString *)url
                  method:(NSString *)method
                  expectedHash:(NSString *)expectedHash
                  resolver:(RCTPromiseResolveBlock)resolve
                  rejecter:(RCTPromiseRejectBlock)reject)

NS_ASSUME_NONNULL_END