//
//  VideoFeedManager.m
//  react-native-firework-sdk
//
//  Created by Jeff Zheng on 2021/12/22.
//
//  The FireworkSDKModule exposes instances of Objective-C (native) classes to JavaScript (JS) as JS objects

#import <React/RCTBridgeModule.h>

@interface RCT_EXTERN_REMAP_MODULE(FireworkSDK, FireworkSDKModule, NSObject)

RCT_EXTERN_METHOD(markInitCalled:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
RCT_EXTERN_METHOD(openVideoPlayer:(NSString *)url config:(NSDictionary *)config)
RCT_EXTERN_METHOD(openVideoPlayerWithSource:(NSDictionary *)params)
RCT_EXTERN_METHOD(setVideoFeedClickCallbackEnabled:(BOOL)enabled)
RCT_EXTERN_METHOD(setCustomCTAClickEnabled:(BOOL)enabled)
RCT_EXTERN_METHOD(setShareBaseURL:(NSString *)url resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
RCT_EXTERN_METHOD(setVideoPlaybackEventEnabled:(BOOL)enabled)
RCT_EXTERN_METHOD(setAdBadgeConfiguration:(NSDictionary *)config resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
RCT_EXTERN_METHOD(trackPurchase:(NSDictionary *)parameters)
RCT_EXTERN_METHOD(changeAppLanguage:(NSString * __nullable)language resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
RCT_EXTERN_METHOD(pausePlayer:(NSString *)callbackId)
RCT_EXTERN_METHOD(resumePlayer:(NSString *)callbackId)
RCT_EXTERN_METHOD(setDataTrackingLevel:(NSString *)level resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
RCT_EXTERN_METHOD(setLivestreamPlayerDesignVersion:(NSString *)version resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
RCT_EXTERN_METHOD(setShortVideoPlayerDesignVersion:(NSString *)version resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)

@end
