#import <UIKit/UIKit.h>

#import "AICNativeAdWrapper.h"

#import "../AdinCubeNativeAdMediaView.h"
#import "../AdinCubeNativeAdIconView.h"
#import "../AdinCubeAdChoicesView.h"

@protocol AICNativeAdViewBinding <NSObject>

- (nonnull UILabel*)nativeAdTitleLabel;

- (nonnull UIView*)nativeAdCallToActionLabelOrButton;

@optional

- (nonnull UILabel*)nativeAdTextLabel;

- (nonnull UILabel*)nativeAdRatingLabel;

- (nonnull UIImageView*)nativeAdIconImageView
    DEPRECATED_MSG_ATTRIBUTE("Usage of UIImageView as cover has been deprecated. Use nativeAdMediaView instead. By continuing to use this method there are some networks from which you will no longer receive ads.");

- (nonnull UIImageView*)nativeAdCoverImageView
    DEPRECATED_MSG_ATTRIBUTE("Usage of UIImageView as icon has been deprecated. Use nativeAdIconView instead. By continuing to use this method there are some networks from which you will no longer receive ads.");

- (nonnull AdinCubeNativeAdMediaView*)nativeAdMediaView;

- (nonnull AdinCubeNativeAdIconView*)nativeAdIconView;

- (nonnull AdinCubeAdChoicesView*) nativeAdAdChoicesView;

- (void)didFillViewsWithNativeAd:(nonnull AICNativeAdWrapper*)nativeAdWrapper;

+ (nonnull UINib*)nativeAdNib;

@end
