//
//  BSURewardedVideoAd.h
//  BlueStack
//
//  Created by Nagib Bin Azad on 11/28/22.
//

#import <Foundation/Foundation.h>
#import "BSUTypes.h"

@interface BSURewardedVideoAd : NSObject

NS_ASSUME_NONNULL_BEGIN

- (instancetype)initWithRewardedClientReference:(BSUTypeRewardedVideoAdClientRef _Nonnull *_Nonnull)rewardedClient placementId:(NSString *_Nonnull)placementId;

@property(nonatomic, assign) BSUTypeRewardedVideoAdClientRef _Nonnull * _Nonnull rewardedVideoAdClient;
@property(nonatomic, assign) BSUOnRewardedVideoLoadedCallback onLoadedCallback;
@property(nonatomic, assign) BSUOnRewardedVideoErrorCallback onErrorCallback;
@property(nonatomic, assign) BSUOnRewardedVideoClickedCallback onClickedCallback;
@property(nonatomic, assign) BSUOnRewardedVideoClosedCallback onAdClosedCallback;
@property(nonatomic, assign) BSUOnRewardedVideoAppearedCallback onAdAppearedCallback;
@property(nonatomic, assign) BSUOnUserRewardEarnedCallback onRewardEarnedCallback;

NS_ASSUME_NONNULL_END

- (void)loadAd;
- (void)loadAdWithRequestOptions:(BSUTypeRequestOptionsRef _Nonnull )requestOptionsRef;
- (void)show;
- (void)destroy;

@end
