//
//  BluestackBannerView.h
//  @azerion/bluestack-sdk-react-native
//
//  Created by anypli on 17/5/2022.
//

#import <React/RCTView.h>
#import <React/RCTComponent.h>
#import <BlueStackSDK/MNGAdsSDKFactory.h>

@interface BluestackBannerView : RCTView
@property(nonatomic, copy) RCTBubblingEventBlock onAdLoaded;
@property(nonatomic, copy) RCTBubblingEventBlock onAdFailedToLoad;
@property(nonatomic, copy) RCTBubblingEventBlock onAdRefreshed;
@property(nonatomic, copy) RCTBubblingEventBlock onAdFailedToRefresh;
@property(nonatomic, copy) RCTBubblingEventBlock onAdClicked;
@property(nonatomic, copy) RCTBubblingEventBlock onAdRemoved;
@property(nonatomic, copy) RCTBubblingEventBlock onAdLoadCalled;

@property(nonatomic) CGFloat width;
@property(nonatomic) CGFloat height;
@property(nonatomic, strong) NSString *placementId;
@property(nonatomic, strong) NSString *preference;
@property(nonatomic, assign) BOOL shouldLoadWhenReady;
@property(nonatomic, assign) BOOL shouldLoadNow;
@property(nonatomic, assign) BOOL propsChanged;

- (void)create:(NSString *)preferenceJSON;
- (void)destroy;
- (void)refresh:(BOOL)state;

@end
