#import <Foundation/Foundation.h>

@class AdinCubeNativeAdOptions;

@interface AdinCubeNativeAdOptionsBuilder : NSObject

- (id)init;

- (id)initWithOptions:(AdinCubeNativeAdOptions*)options;

/*!
 @abstract Set the number of native ads to load.
 */
- (AdinCubeNativeAdOptionsBuilder*)withNbAds:(NSUInteger)nbAds;

/*!
 @abstract Must be called if you use a AdinCubeNativeAdMediaView in you native ad layout to display the cover.
 @discussion Some networks (like Admob and Facebook) requires a custom view to be used to display the cover however they will
 refuse to pay the impression for the ad. The logic to display the cover is handled automatically inside our AdinCubeNativeAdMediaView.
 If you include a AdinCubeNativeAdMediaView and call this method, we will be able to serve ads from those networks and be sure that you will be paid for those
 impressions.
 */
- (AdinCubeNativeAdOptionsBuilder*)usesMediaViewForCover;

/*!
 @abstract Must be called if you use a AdinCubeNativeAdIconView in you native ad layout to display the icon.
 @discussion Some networks (like Facebook) requires a custom view to be used to display the icon however they will
 refuse to pay the impression for the ad. The logic to display the cover is handled automatically inside our AdinCubeNativeAdIconView.
 If you include a AdinCubeNativeAdIconView and call this method, we will be able to serve ads from those networks and be sure that you will be paid for those
 impressions.
 */
- (AdinCubeNativeAdOptionsBuilder*)usesIconViewForIcon;

- (AdinCubeNativeAdOptions*)build;

@end
