//
//  BSUInterstitialAd.h
//  BlueStack
//
//  Created by Nagib Bin Azad on 11/30/22.
//

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

@interface BSUInterstitialAd : NSObject

NS_ASSUME_NONNULL_BEGIN

- (instancetype)initWithInterstitialClientReference:(BSUTypeInterstitialClientRef _Nonnull *_Nonnull)interstitialClient placementId:(NSString *_Nullable)placementId;


@property(nonatomic, assign) BSUTypeInterstitialClientRef _Nonnull * _Nonnull interstitialClient;
@property(nonatomic, assign) BSUOnInterstitialDidLoadedCallback onDidLoadedCallback;
@property(nonatomic, assign) BSUOnInterstitialDidFailCallback onDidFailCallback;
@property(nonatomic, assign) BSUOnInterstitialClickedCallback onClickedCallback;
@property(nonatomic, assign) BSUOnInterstitialDisappearCallback onDisappearCallback;
@property(nonatomic, assign) BSUOnInterstitialDidShownCallback onDidShownCallback;

NS_ASSUME_NONNULL_END

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

@end
