//
//  BluestackBannerView.h
//

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

NS_ASSUME_NONNULL_BEGIN

@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 *adSize;
@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

NS_ASSUME_NONNULL_END
