text: #if 0
  #elif defined(__arm64__) && __arm64__
  // Generated by Apple Swift version 5.4.2 (swiftlang-1205.0.28.2 clang-1205.0.19.57)
  #ifndef TEADSSDK_SWIFT_H
  #define TEADSSDK_SWIFT_H
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wgcc-compat"
  
  #if !defined(__has_include)
  # define __has_include(x) 0
  #endif
  #if !defined(__has_attribute)
  # define __has_attribute(x) 0
  #endif
  #if !defined(__has_feature)
  # define __has_feature(x) 0
  #endif
  #if !defined(__has_warning)
  # define __has_warning(x) 0
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <Foundation/Foundation.h>
  #include <stdint.h>
  #include <stddef.h>
  #include <stdbool.h>
  
  #if !defined(SWIFT_TYPEDEFS)
  # define SWIFT_TYPEDEFS 1
  # if __has_include(<uchar.h>)
  #  include <uchar.h>
  # elif !defined(__cplusplus)
  typedef uint_least16_t char16_t;
  typedef uint_least32_t char32_t;
  # endif
  typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
  typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
  typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
  typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
  typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
  typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
  typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
  typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
  typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
  typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
  typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
  typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
  #endif
  
  #if !defined(SWIFT_PASTE)
  # define SWIFT_PASTE_HELPER(x, y) x##y
  # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  #endif
  #if !defined(SWIFT_METATYPE)
  # define SWIFT_METATYPE(X) Class
  #endif
  #if !defined(SWIFT_CLASS_PROPERTY)
  # if __has_feature(objc_class_property)
  #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  # else
  #  define SWIFT_CLASS_PROPERTY(...)
  # endif
  #endif
  
  #if __has_attribute(objc_runtime_name)
  # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  #else
  # define SWIFT_RUNTIME_NAME(X)
  #endif
  #if __has_attribute(swift_name)
  # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  #else
  # define SWIFT_COMPILE_NAME(X)
  #endif
  #if __has_attribute(objc_method_family)
  # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  #else
  # define SWIFT_METHOD_FAMILY(X)
  #endif
  #if __has_attribute(noescape)
  # define SWIFT_NOESCAPE __attribute__((noescape))
  #else
  # define SWIFT_NOESCAPE
  #endif
  #if __has_attribute(ns_consumed)
  # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
  #else
  # define SWIFT_RELEASES_ARGUMENT
  #endif
  #if __has_attribute(warn_unused_result)
  # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  #else
  # define SWIFT_WARN_UNUSED_RESULT
  #endif
  #if __has_attribute(noreturn)
  # define SWIFT_NORETURN __attribute__((noreturn))
  #else
  # define SWIFT_NORETURN
  #endif
  #if !defined(SWIFT_CLASS_EXTRA)
  # define SWIFT_CLASS_EXTRA
  #endif
  #if !defined(SWIFT_PROTOCOL_EXTRA)
  # define SWIFT_PROTOCOL_EXTRA
  #endif
  #if !defined(SWIFT_ENUM_EXTRA)
  # define SWIFT_ENUM_EXTRA
  #endif
  #if !defined(SWIFT_CLASS)
  # if __has_attribute(objc_subclassing_restricted)
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # else
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # endif
  #endif
  #if !defined(SWIFT_RESILIENT_CLASS)
  # if __has_attribute(objc_class_stub)
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # else
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # endif
  #endif
  
  #if !defined(SWIFT_PROTOCOL)
  # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  #endif
  
  #if !defined(SWIFT_EXTENSION)
  # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  #endif
  
  #if !defined(OBJC_DESIGNATED_INITIALIZER)
  # if __has_attribute(objc_designated_initializer)
  #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  # else
  #  define OBJC_DESIGNATED_INITIALIZER
  # endif
  #endif
  #if !defined(SWIFT_ENUM_ATTR)
  # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  # else
  #  define SWIFT_ENUM_ATTR(_extensibility)
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  # endif
  #endif
  #if !defined(SWIFT_UNAVAILABLE)
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  #endif
  #if !defined(SWIFT_UNAVAILABLE_MSG)
  # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  #endif
  #if !defined(SWIFT_AVAILABILITY)
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  #endif
  #if !defined(SWIFT_WEAK_IMPORT)
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
  #endif
  #if !defined(SWIFT_DEPRECATED)
  # define SWIFT_DEPRECATED __attribute__((deprecated))
  #endif
  #if !defined(SWIFT_DEPRECATED_MSG)
  # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  #endif
  #if __has_feature(attribute_diagnose_if_objc)
  # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  #else
  # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  #endif
  #if !defined(IBSegueAction)
  # define IBSegueAction
  #endif
  #if __has_feature(modules)
  #if __has_warning("-Watimport-in-framework-header")
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
  #endif
  @import CoreGraphics;
  @import Foundation;
  @import ObjectiveC;
  @import UIKit;
  #endif
  
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  #if __has_warning("-Wpragma-clang-attribute")
  # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  #endif
  #pragma clang diagnostic ignored "-Wunknown-pragmas"
  #pragma clang diagnostic ignored "-Wnullability"
  
  #if __has_attribute(external_source_symbol)
  # pragma push_macro("any")
  # undef any
  # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="TeadsSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  # pragma pop_macro("any")
  #endif
  
  
  typedef SWIFT_ENUM(NSInteger, AdErrorCode, open) {
    AdErrorCodeErrorNoSlot = 1,
    AdErrorCodeErrorNetwork = 2,
    AdErrorCodeErrorNotFilled = 3,
    AdErrorCodeErrorBadResponse = 4,
    AdErrorCodeErrorVastError = 5,
    AdErrorCodeErrorUserIdMissing = 6,
    AdErrorCodeErrorInternal = 7,
    AdErrorCodeDisabledApp = 8,
    AdErrorCodeErrorAdRequest = 9,
  };
  
  @class NSString;
  
  SWIFT_CLASS("_TtC8TeadsSDK12AdFailReason")
  @interface AdFailReason : NSObject
  /// Error code
  @property (nonatomic) enum AdErrorCode errorCode;
  /// String that describes the error reason
  @property (nonatomic, copy) NSString * _Nonnull errorMessage;
  @property (nonatomic, readonly, copy) NSString * _Nonnull description;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  /// CommonComponent
  SWIFT_CLASS("_TtC8TeadsSDK15CommonComponent")
  @interface CommonComponent : NSObject
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK18ContainerComponent")
  @interface ContainerComponent : CommonComponent
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK14ImageComponent")
  @interface ImageComponent : CommonComponent
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK16OverlayComponent")
  @interface OverlayComponent : CommonComponent
  @end
  
  
  /// Transparency & Consent Framework versions
  typedef SWIFT_ENUM(NSInteger, TCFVersion, open) {
    TCFVersionV1 = 1,
    TCFVersionV2 = 2,
  };
  
  @class NSNumber;
  @class TeadsAdPlacementSettings;
  @protocol TeadsInReadAdPlacementDelegate;
  @class TeadsInReadAdPlacement;
  
  /// Entry point for TeadsSDK
  SWIFT_CLASS("_TtC8TeadsSDK5Teads")
  @interface Teads : NSObject
  /// Current sdkVersion
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkVersion;)
  + (NSString * _Nonnull)sdkVersion SWIFT_WARN_UNUSED_RESULT;
  /// inRead Ad Placement
  /// \param pid placement identifier
  ///
  /// \param settings placement settings
  ///
  /// \param delegate TeadsAdDelegate to follow Ad lifecycle
  ///
  + (TeadsInReadAdPlacement * _Nullable)createInReadPlacementWithPid:(NSInteger)pid settings:(TeadsAdPlacementSettings * _Nonnull)settings delegate:(id <TeadsInReadAdPlacementDelegate> _Nonnull)delegate SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  @interface Teads (SWIFT_EXTENSION(TeadsSDK))
  /// Crash monitoring
  /// TeadsSDK monitors for crash that only appears in framework in order to continuously improve our product
  /// note:
  /// TeadsSDK does not disturb any third party crash handler/reporter such as Crashlytics
  + (void)configure;
  @end
  
  @protocol TeadsAdDelegate;
  @protocol TeadsPlaybackDelegate;
  
  SWIFT_CLASS("_TtC8TeadsSDK7TeadsAd")
  @interface TeadsAd : NSObject
  @property (nonatomic, weak) id <TeadsAdDelegate> _Nullable delegate;
  @property (nonatomic, weak) id <TeadsPlaybackDelegate> _Nullable soundDelegate SWIFT_UNAVAILABLE_MSG("'soundDelegate' has been renamed to 'playbackDelegate': Use playbackDelegate instead");
  @property (nonatomic, weak) id <TeadsPlaybackDelegate> _Nullable playbackDelegate;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  
  
  
  @class UIViewController;
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK15TeadsAdDelegate_")
  @protocol TeadsAdDelegate
  /// Called when ad wants to present viewController modally e.g: safariViewController (Click to action) / fullscreenController
  /// note:
  /// event is not triggered on Main Thread
  /// \param ad The teadsAd object
  ///
  ///
  /// returns:
  /// UIViewController to present viewController
  - (UIViewController * _Nullable)willPresentModalViewWithAd:(TeadsAd * _Nonnull)ad SWIFT_WARN_UNUSED_RESULT;
  @optional
  /// Called when the ad has encountered an issue, in this case you need to remove the slot or you will have a blank space
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - error: error object
  - (void)didCatchErrorWithAd:(TeadsAd * _Nonnull)ad error:(NSError * _Nonnull)error;
  /// Called when the ad has been close, in this case you need to close the slot or you will have a blank space
  /// /// - parameters:
  /// - ad: The teadsAd object
  - (void)didCloseWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when Teads has recorded an impression for the current ad
  /// \param ad The teadsAd object
  ///
  - (void)didRecordImpressionWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when Teads has recorded a clickthrough on the current ad
  /// \param ad The teadsAd object
  ///
  - (void)didRecordClickWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when ad is shown in fullscreen
  /// \param ad The TeadsAd object
  ///
  - (void)didExpandedToFullscreenWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when ad leaves the fullscreen mode
  /// \param ad The TeadsAd object
  ///
  - (void)didCollapsedFromFullscreenWithAd:(TeadsAd * _Nonnull)ad;
  @end
  
  @class NSCoder;
  
  SWIFT_CLASS("_TtC8TeadsSDK29TeadsAdOpportunityTrackerView")
  @interface TeadsAdOpportunityTrackerView : UIView
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK16TeadsAdPlacement")
  @interface TeadsAdPlacement : NSObject
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK24TeadsAdPlacementSettings")
  @interface TeadsAdPlacementSettings : NSObject
  /// Prevent TeadsSDK to automatically handle/monitor crashes
  - (void)disableCrashMonitoring;
  /// By default, the Teads inApp SDK handles the audio session by setting its category to ambient.
  /// This means that all the audio played by other apps will simply mix with the ad sound.
  /// note:
  ///
  /// If you chose to handle the audio session by yourself you need to call <code>disableTeadsAudioSessionManagement</code>
  /// and implement   <a href="x-source-tag://TeadsSoundDelegate">TeadsSoundDelegate</a>
  - (void)disableTeadsAudioSessionManagement;
  /// Enable all TeadsSDK Log for debugging purpose
  - (void)enableDebug;
  - (void)disableLocation;
  /// When the ad playback is finished, we display an endscreen with light color (Dark color by default).
  - (void)enableLightEndScreen;
  - (void)disableMediaPreload;
  /// The user consent following the IAB specifications.
  /// note:
  /// <a href="https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md">GDPR Transparency and Consent Framework </a> IAB documentation
  /// \param subjectToGDPR <code>"1"</code> if the traffic or the publisher is in the EEA (European Economic Area),
  /// `“0” if it is not, null if it’s unknown.
  ///
  /// \param consent Which vendors and purposes did the user give consent for
  ///
  /// \param tcfVersion Transparency and Consent Framework version
  ///
  /// \param cmpSdkID Consent Manager unique ID
  ///
  - (void)userConsentWithSubjectToGDPR:(NSString * _Nonnull)subjectToGDPR consent:(NSString * _Nonnull)consent tcfVersion:(enum TCFVersion)tcfVersion cmpSdkID:(NSInteger)cmpSdkID;
  /// The US privacy CCPA user consent following IAB specifications
  /// \param consent The CCPA consent string
  ///
  - (void)setUsPrivacyWithConsent:(NSString * _Nonnull)consent;
  /// Prevent to automatically set UIDevice.current.isBatteryMonitoringEnabled
  - (void)disableBatteryMonitoring;
  /// Add extra informations to settings
  /// \param value extra value
  ///
  /// \param key extra key
  ///
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  /// Instance settings builder
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdPlacementSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK12TeadsAdRatio")
  @interface TeadsAdRatio : NSObject
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) TeadsAdRatio * _Nonnull zero;)
  + (TeadsAdRatio * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong, getter=default) TeadsAdRatio * _Nonnull default_;)
  + (TeadsAdRatio * _Nonnull)default SWIFT_WARN_UNUSED_RESULT;
  /// calculate the best height for your TeadsInReadAdView with the given width.
  /// \param width the width of your TeadsInReadAdView.
  ///
  - (CGFloat)calculateHeightForWidth:(CGFloat)width SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  @protocol TeadsMediatedAdViewDelegate;
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsAdRequestSettings")
  @interface TeadsAdRequestSettings : NSObject
  /// The Teads inApp Validation tool is the best way to ensure all basic features and prerequisites are correctly implemented. It is also useful during integration iterations
  /// note:
  /// follow <a href="https://support.teads.tv/support/solutions/articles/36000209100-5-validate-your-integration-with-the-validation-tool">validate your integration documentation</a>
  - (void)enableValidationMode;
  /// Set the publisher http page url that matches the content where Teads Ad will be loaded into.
  /// \param urlString publisher url page
  ///
  - (void)pageUrl:(NSString * _Nonnull)urlString;
  /// Add extra informations to settings
  /// \param value extra value
  ///
  /// \param key extra key
  ///
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  /// Instance settings builder
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdRequestSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  - (void)registerAdView:(UIView * _Nonnull)adView delegate:(id <TeadsMediatedAdViewDelegate> _Nullable)delegate;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK11TeadsAdView")
  @interface TeadsAdView : UIView
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK20TeadsAdapterSettings")
  @interface TeadsAdapterSettings : NSObject
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdapterSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (void)disableCrashMonitoring;
  - (void)disableTeadsAudioSessionManagement;
  - (void)disableLocation;
  - (void)enableLightEndScreen;
  - (void)disableMediaPreload;
  - (void)userConsentWithSubjectToGDPR:(NSString * _Nonnull)subjectToGDPR consent:(NSString * _Nonnull)consent tcfVersion:(enum TCFVersion)tcfVersion cmpSdkID:(NSInteger)cmpSdkID;
  - (void)setUsPrivacyWithConsent:(NSString * _Nonnull)consent;
  - (void)disableBatteryMonitoring;
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  - (void)enableDebug;
  - (void)enableValidationMode;
  - (void)pageUrl:(NSString * _Nonnull)urlString;
  - (BOOL)subscribeAdResizeDelegate:(id <TeadsMediatedAdViewDelegate> _Nonnull)delegate forAdView:(UIView * _Nonnull)adView error:(NSError * _Nullable * _Nullable)error SWIFT_DEPRECATED_MSG("", "registerAdView:delegate:");
  - (void)registerAdView:(UIView * _Nonnull)adView delegate:(id <TeadsMediatedAdViewDelegate> _Nullable)delegate;
  @end
  
  
  @interface TeadsAdapterSettings (SWIFT_EXTENSION(TeadsSDK))
  /// Return a dictionary representation of the current TeadsAdSettings object.
  ///
  /// returns:
  /// A <code>[AnyHashable: Any]</code> representing the object.
  - (NSDictionary * _Nullable)toDictionaryAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
  /// Create an instance from <code>[AnyHashable: Any]</code>
  /// \param dictionary representation of TeadsAdSettings instance
  ///
  ///
  /// returns:
  /// A <code>TeadsAdapterSettings</code> object instance.
  + (TeadsAdapterSettings * _Nullable)instanceFrom:(NSDictionary * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK13TeadsInReadAd")
  @interface TeadsInReadAd : TeadsAd
  - (void)registerContainerIn:(UIView * _Nonnull)view;
  @end
  
  
  
  @interface TeadsInReadAd (SWIFT_EXTENSION(TeadsSDK))
  /// adRatio to correctly display ad
  @property (nonatomic, readonly, strong) TeadsAdRatio * _Nonnull adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsInReadAdPlacement")
  @interface TeadsInReadAdPlacement : TeadsAdPlacement
  - (void)requestAdWithRequestSettings:(TeadsAdRequestSettings * _Nonnull)requestSettings;
  @end
  
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK30TeadsInReadAdPlacementDelegate_")
  @protocol TeadsInReadAdPlacementDelegate
  /// Called when the Teads SDK has received an ad for you to display
  /// \param ad The teadsAd object
  ///
  /// \param adRatio an object that will help you display the ad correctly
  ///
  - (void)didReceiveAdWithAd:(TeadsInReadAd * _Nonnull)ad adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  /// Called when the Teads SDK has not received an ad, the reason will be detailled in the parameter
  /// \param reason an object that contains the fail reason
  ///
  - (void)didFailToReceiveAdWithReason:(AdFailReason * _Nonnull)reason;
  /// Called when the Teads SDK has a tracker view to provide you. You have to place it where your ad slot is. It will be used to help monitor your inventory.
  /// \param trackerView the view that will monitor your inventory
  ///
  - (void)adOpportunityTrackerViewWithTrackerView:(TeadsAdOpportunityTrackerView * _Nonnull)trackerView;
  /// Called when the Teads SDK needs you to resize your adView the creative inform us of its new ratio
  /// When it called it is the right place to update your view ratio. A basic implementation may look litke this:
  /// <h1>Code</h1>
  /// \code
  /// func didUpdateRatio(ad: TeadsInReadAd, adRatio: TeadsAdRatio) {
  ///   yourViewHeight = adRatio.calculateHeight(for: yourViewWidth)
  /// }
  ///
  /// \endcode\param ad The teadsAd object
  ///
  /// \param adRatio an object that will help you display the ad correctly
  ///
  - (void)didUpdateRatioWithAd:(TeadsInReadAd * _Nonnull)ad adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK17TeadsInReadAdView")
  @interface TeadsInReadAdView : TeadsAdView
  - (void)bind:(TeadsInReadAd * _Nonnull)ad;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (void)layoutSubviews;
  @end
  
  
  
  
  @class VideoComponent;
  
  SWIFT_CLASS("_TtC8TeadsSDK14TeadsMediaView")
  @interface TeadsMediaView : UIView
  - (nonnull instancetype)initWithVideoComponent:(VideoComponent * _Nonnull)videoComponent OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
  - (void)layoutSubviews;
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK27TeadsMediatedAdViewDelegate_")
  @protocol TeadsMediatedAdViewDelegate
  /// Called when the ad ratio is udpated. (only for mediation)
  /// \param adView The adView in which the ad is being played.
  ///
  /// \param adRatio The ratio you should use to update your adView height.
  ///
  - (void)didUpdateRatio:(UIView * _Nonnull)adView adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK13TeadsNativeAd")
  @interface TeadsNativeAd : TeadsAd
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable title;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable content;
  @property (nonatomic, readonly, strong) ImageComponent * _Nullable image;
  @property (nonatomic, readonly, strong) ImageComponent * _Nullable icon;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable sponsored;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable callToAction;
  @property (nonatomic, readonly, strong) VideoComponent * _Nullable video;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable rating;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable price;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable adChoices;
  /// register containerView
  /// note:
  /// this be called on adpater part or without interface builder
  /// \param view view containing UI elements defined in  <a href="x-source-tag://TeadsNativeAdView">TeadsNativeAdView</a>
  ///
  - (void)registerWithContainerView:(UIView * _Nonnull)containerView;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsNativeAdPlacement")
  @interface TeadsNativeAdPlacement : TeadsAdPlacement
  @end
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK30TeadsNativeAdPlacementDelegate_")
  @protocol TeadsNativeAdPlacementDelegate
  /// Called when the Teads SDK has received an ad for you to display
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - adRatio: an object that will help you display the ad correctly
  - (void)didReceiveAdWithAd:(TeadsNativeAd * _Nonnull)ad;
  /// Called when the Teads SDK has not received an ad, the reason will be detailled in the parameter
  /// /// - parameters:
  /// - reason: an object that contains the fail reason
  - (void)didFailToReceiveAdWithReason:(AdFailReason * _Nonnull)reason;
  /// Called when the Teads SDK needs you to resize your adView the creative inform us of its new ratio
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - adRatio: an object that will help you display the ad correctly
  - (void)adOpportunityTrackerViewWithTrackerView:(TeadsAdOpportunityTrackerView * _Nonnull)trackerView;
  @end
  
  @class UILabel;
  @class UIImageView;
  @class UIButton;
  
  ///
  SWIFT_CLASS("_TtC8TeadsSDK17TeadsNativeAdView")
  @interface TeadsNativeAdView : TeadsAdView
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable titleLabel;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable contentLabel;
  @property (nonatomic, weak) IBOutlet TeadsMediaView * _Nullable mediaView;
  @property (nonatomic, weak) IBOutlet UIImageView * _Nullable iconImageView;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable advertiserLabel;
  @property (nonatomic, weak) IBOutlet UIButton * _Nullable callToActionButton;
  @property (nonatomic, weak) IBOutlet UIView * _Nullable ratingView;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable priceLabel;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  ///
  SWIFT_PROTOCOL("_TtP8TeadsSDK21TeadsPlaybackDelegate_")
  @protocol TeadsPlaybackDelegate
  @optional
  /// Called when the ad starts playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStartPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad stops playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStopPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad is paused
  /// \param ad The teadsAd object
  ///
  - (void)didPause:(TeadsAd * _Nonnull)ad;
  /// Called when the ad starts or resumes
  /// \param ad The teadsAd object
  ///
  - (void)didPlay:(TeadsAd * _Nonnull)ad;
  /// Called when the ad ended
  /// \param ad The teadsAd object
  ///
  - (void)didComplete:(TeadsAd * _Nonnull)ad;
  @end
  
  
  ///
  SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'TeadsSoundDelegate' has been renamed to '_TtP8TeadsSDK21TeadsPlaybackDelegate_': Use TeadsPlaybackDelegate instead")
  @protocol TeadsSoundDelegate
  /// Called when the ad starts playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStartPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad stops playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStopPlayingAudio:(TeadsAd * _Nonnull)ad;
  @end
  
  
  
  
  @interface UIButton (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  @interface UIImageView (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  @interface UILabel (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  @interface UIView (SWIFT_EXTENSION(TeadsSDK))
  /// map your UIKit element to TeadsSDK logic,
  /// this ensures visibility measurement is monitored and click behaviors are well handled
  /// \param component object holding text, image or video depending on his subtype
  ///
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK14VideoComponent")
  @interface VideoComponent : CommonComponent
  @end
  
  #if __has_attribute(external_source_symbol)
  # pragma clang attribute pop
  #endif
  #pragma clang diagnostic pop
  #endif
  
  #elif defined(__x86_64__) && __x86_64__
  // Generated by Apple Swift version 5.4.2 (swiftlang-1205.0.28.2 clang-1205.0.19.57)
  #ifndef TEADSSDK_SWIFT_H
  #define TEADSSDK_SWIFT_H
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wgcc-compat"
  
  #if !defined(__has_include)
  # define __has_include(x) 0
  #endif
  #if !defined(__has_attribute)
  # define __has_attribute(x) 0
  #endif
  #if !defined(__has_feature)
  # define __has_feature(x) 0
  #endif
  #if !defined(__has_warning)
  # define __has_warning(x) 0
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <Foundation/Foundation.h>
  #include <stdint.h>
  #include <stddef.h>
  #include <stdbool.h>
  
  #if !defined(SWIFT_TYPEDEFS)
  # define SWIFT_TYPEDEFS 1
  # if __has_include(<uchar.h>)
  #  include <uchar.h>
  # elif !defined(__cplusplus)
  typedef uint_least16_t char16_t;
  typedef uint_least32_t char32_t;
  # endif
  typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
  typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
  typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
  typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
  typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
  typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
  typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
  typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
  typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
  typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
  typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
  typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
  #endif
  
  #if !defined(SWIFT_PASTE)
  # define SWIFT_PASTE_HELPER(x, y) x##y
  # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  #endif
  #if !defined(SWIFT_METATYPE)
  # define SWIFT_METATYPE(X) Class
  #endif
  #if !defined(SWIFT_CLASS_PROPERTY)
  # if __has_feature(objc_class_property)
  #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  # else
  #  define SWIFT_CLASS_PROPERTY(...)
  # endif
  #endif
  
  #if __has_attribute(objc_runtime_name)
  # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  #else
  # define SWIFT_RUNTIME_NAME(X)
  #endif
  #if __has_attribute(swift_name)
  # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  #else
  # define SWIFT_COMPILE_NAME(X)
  #endif
  #if __has_attribute(objc_method_family)
  # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  #else
  # define SWIFT_METHOD_FAMILY(X)
  #endif
  #if __has_attribute(noescape)
  # define SWIFT_NOESCAPE __attribute__((noescape))
  #else
  # define SWIFT_NOESCAPE
  #endif
  #if __has_attribute(ns_consumed)
  # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
  #else
  # define SWIFT_RELEASES_ARGUMENT
  #endif
  #if __has_attribute(warn_unused_result)
  # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  #else
  # define SWIFT_WARN_UNUSED_RESULT
  #endif
  #if __has_attribute(noreturn)
  # define SWIFT_NORETURN __attribute__((noreturn))
  #else
  # define SWIFT_NORETURN
  #endif
  #if !defined(SWIFT_CLASS_EXTRA)
  # define SWIFT_CLASS_EXTRA
  #endif
  #if !defined(SWIFT_PROTOCOL_EXTRA)
  # define SWIFT_PROTOCOL_EXTRA
  #endif
  #if !defined(SWIFT_ENUM_EXTRA)
  # define SWIFT_ENUM_EXTRA
  #endif
  #if !defined(SWIFT_CLASS)
  # if __has_attribute(objc_subclassing_restricted)
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # else
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # endif
  #endif
  #if !defined(SWIFT_RESILIENT_CLASS)
  # if __has_attribute(objc_class_stub)
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # else
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # endif
  #endif
  
  #if !defined(SWIFT_PROTOCOL)
  # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  #endif
  
  #if !defined(SWIFT_EXTENSION)
  # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  #endif
  
  #if !defined(OBJC_DESIGNATED_INITIALIZER)
  # if __has_attribute(objc_designated_initializer)
  #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  # else
  #  define OBJC_DESIGNATED_INITIALIZER
  # endif
  #endif
  #if !defined(SWIFT_ENUM_ATTR)
  # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  # else
  #  define SWIFT_ENUM_ATTR(_extensibility)
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  # endif
  #endif
  #if !defined(SWIFT_UNAVAILABLE)
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  #endif
  #if !defined(SWIFT_UNAVAILABLE_MSG)
  # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  #endif
  #if !defined(SWIFT_AVAILABILITY)
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  #endif
  #if !defined(SWIFT_WEAK_IMPORT)
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
  #endif
  #if !defined(SWIFT_DEPRECATED)
  # define SWIFT_DEPRECATED __attribute__((deprecated))
  #endif
  #if !defined(SWIFT_DEPRECATED_MSG)
  # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  #endif
  #if __has_feature(attribute_diagnose_if_objc)
  # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  #else
  # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  #endif
  #if !defined(IBSegueAction)
  # define IBSegueAction
  #endif
  #if __has_feature(modules)
  #if __has_warning("-Watimport-in-framework-header")
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
  #endif
  @import CoreGraphics;
  @import Foundation;
  @import ObjectiveC;
  @import UIKit;
  #endif
  
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  #if __has_warning("-Wpragma-clang-attribute")
  # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  #endif
  #pragma clang diagnostic ignored "-Wunknown-pragmas"
  #pragma clang diagnostic ignored "-Wnullability"
  
  #if __has_attribute(external_source_symbol)
  # pragma push_macro("any")
  # undef any
  # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="TeadsSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  # pragma pop_macro("any")
  #endif
  
  
  typedef SWIFT_ENUM(NSInteger, AdErrorCode, open) {
    AdErrorCodeErrorNoSlot = 1,
    AdErrorCodeErrorNetwork = 2,
    AdErrorCodeErrorNotFilled = 3,
    AdErrorCodeErrorBadResponse = 4,
    AdErrorCodeErrorVastError = 5,
    AdErrorCodeErrorUserIdMissing = 6,
    AdErrorCodeErrorInternal = 7,
    AdErrorCodeDisabledApp = 8,
    AdErrorCodeErrorAdRequest = 9,
  };
  
  @class NSString;
  
  SWIFT_CLASS("_TtC8TeadsSDK12AdFailReason")
  @interface AdFailReason : NSObject
  /// Error code
  @property (nonatomic) enum AdErrorCode errorCode;
  /// String that describes the error reason
  @property (nonatomic, copy) NSString * _Nonnull errorMessage;
  @property (nonatomic, readonly, copy) NSString * _Nonnull description;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  /// CommonComponent
  SWIFT_CLASS("_TtC8TeadsSDK15CommonComponent")
  @interface CommonComponent : NSObject
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK18ContainerComponent")
  @interface ContainerComponent : CommonComponent
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK14ImageComponent")
  @interface ImageComponent : CommonComponent
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK16OverlayComponent")
  @interface OverlayComponent : CommonComponent
  @end
  
  
  /// Transparency & Consent Framework versions
  typedef SWIFT_ENUM(NSInteger, TCFVersion, open) {
    TCFVersionV1 = 1,
    TCFVersionV2 = 2,
  };
  
  @class NSNumber;
  @class TeadsAdPlacementSettings;
  @protocol TeadsInReadAdPlacementDelegate;
  @class TeadsInReadAdPlacement;
  
  /// Entry point for TeadsSDK
  SWIFT_CLASS("_TtC8TeadsSDK5Teads")
  @interface Teads : NSObject
  /// Current sdkVersion
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkVersion;)
  + (NSString * _Nonnull)sdkVersion SWIFT_WARN_UNUSED_RESULT;
  /// inRead Ad Placement
  /// \param pid placement identifier
  ///
  /// \param settings placement settings
  ///
  /// \param delegate TeadsAdDelegate to follow Ad lifecycle
  ///
  + (TeadsInReadAdPlacement * _Nullable)createInReadPlacementWithPid:(NSInteger)pid settings:(TeadsAdPlacementSettings * _Nonnull)settings delegate:(id <TeadsInReadAdPlacementDelegate> _Nonnull)delegate SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  @interface Teads (SWIFT_EXTENSION(TeadsSDK))
  /// Crash monitoring
  /// TeadsSDK monitors for crash that only appears in framework in order to continuously improve our product
  /// note:
  /// TeadsSDK does not disturb any third party crash handler/reporter such as Crashlytics
  + (void)configure;
  @end
  
  @protocol TeadsAdDelegate;
  @protocol TeadsPlaybackDelegate;
  
  SWIFT_CLASS("_TtC8TeadsSDK7TeadsAd")
  @interface TeadsAd : NSObject
  @property (nonatomic, weak) id <TeadsAdDelegate> _Nullable delegate;
  @property (nonatomic, weak) id <TeadsPlaybackDelegate> _Nullable soundDelegate SWIFT_UNAVAILABLE_MSG("'soundDelegate' has been renamed to 'playbackDelegate': Use playbackDelegate instead");
  @property (nonatomic, weak) id <TeadsPlaybackDelegate> _Nullable playbackDelegate;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  
  
  
  @class UIViewController;
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK15TeadsAdDelegate_")
  @protocol TeadsAdDelegate
  /// Called when ad wants to present viewController modally e.g: safariViewController (Click to action) / fullscreenController
  /// note:
  /// event is not triggered on Main Thread
  /// \param ad The teadsAd object
  ///
  ///
  /// returns:
  /// UIViewController to present viewController
  - (UIViewController * _Nullable)willPresentModalViewWithAd:(TeadsAd * _Nonnull)ad SWIFT_WARN_UNUSED_RESULT;
  @optional
  /// Called when the ad has encountered an issue, in this case you need to remove the slot or you will have a blank space
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - error: error object
  - (void)didCatchErrorWithAd:(TeadsAd * _Nonnull)ad error:(NSError * _Nonnull)error;
  /// Called when the ad has been close, in this case you need to close the slot or you will have a blank space
  /// /// - parameters:
  /// - ad: The teadsAd object
  - (void)didCloseWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when Teads has recorded an impression for the current ad
  /// \param ad The teadsAd object
  ///
  - (void)didRecordImpressionWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when Teads has recorded a clickthrough on the current ad
  /// \param ad The teadsAd object
  ///
  - (void)didRecordClickWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when ad is shown in fullscreen
  /// \param ad The TeadsAd object
  ///
  - (void)didExpandedToFullscreenWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when ad leaves the fullscreen mode
  /// \param ad The TeadsAd object
  ///
  - (void)didCollapsedFromFullscreenWithAd:(TeadsAd * _Nonnull)ad;
  @end
  
  @class NSCoder;
  
  SWIFT_CLASS("_TtC8TeadsSDK29TeadsAdOpportunityTrackerView")
  @interface TeadsAdOpportunityTrackerView : UIView
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK16TeadsAdPlacement")
  @interface TeadsAdPlacement : NSObject
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK24TeadsAdPlacementSettings")
  @interface TeadsAdPlacementSettings : NSObject
  /// Prevent TeadsSDK to automatically handle/monitor crashes
  - (void)disableCrashMonitoring;
  /// By default, the Teads inApp SDK handles the audio session by setting its category to ambient.
  /// This means that all the audio played by other apps will simply mix with the ad sound.
  /// note:
  ///
  /// If you chose to handle the audio session by yourself you need to call <code>disableTeadsAudioSessionManagement</code>
  /// and implement   <a href="x-source-tag://TeadsSoundDelegate">TeadsSoundDelegate</a>
  - (void)disableTeadsAudioSessionManagement;
  /// Enable all TeadsSDK Log for debugging purpose
  - (void)enableDebug;
  - (void)disableLocation;
  /// When the ad playback is finished, we display an endscreen with light color (Dark color by default).
  - (void)enableLightEndScreen;
  - (void)disableMediaPreload;
  /// The user consent following the IAB specifications.
  /// note:
  /// <a href="https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md">GDPR Transparency and Consent Framework </a> IAB documentation
  /// \param subjectToGDPR <code>"1"</code> if the traffic or the publisher is in the EEA (European Economic Area),
  /// `“0” if it is not, null if it’s unknown.
  ///
  /// \param consent Which vendors and purposes did the user give consent for
  ///
  /// \param tcfVersion Transparency and Consent Framework version
  ///
  /// \param cmpSdkID Consent Manager unique ID
  ///
  - (void)userConsentWithSubjectToGDPR:(NSString * _Nonnull)subjectToGDPR consent:(NSString * _Nonnull)consent tcfVersion:(enum TCFVersion)tcfVersion cmpSdkID:(NSInteger)cmpSdkID;
  /// The US privacy CCPA user consent following IAB specifications
  /// \param consent The CCPA consent string
  ///
  - (void)setUsPrivacyWithConsent:(NSString * _Nonnull)consent;
  /// Prevent to automatically set UIDevice.current.isBatteryMonitoringEnabled
  - (void)disableBatteryMonitoring;
  /// Add extra informations to settings
  /// \param value extra value
  ///
  /// \param key extra key
  ///
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  /// Instance settings builder
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdPlacementSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK12TeadsAdRatio")
  @interface TeadsAdRatio : NSObject
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) TeadsAdRatio * _Nonnull zero;)
  + (TeadsAdRatio * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong, getter=default) TeadsAdRatio * _Nonnull default_;)
  + (TeadsAdRatio * _Nonnull)default SWIFT_WARN_UNUSED_RESULT;
  /// calculate the best height for your TeadsInReadAdView with the given width.
  /// \param width the width of your TeadsInReadAdView.
  ///
  - (CGFloat)calculateHeightForWidth:(CGFloat)width SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  @protocol TeadsMediatedAdViewDelegate;
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsAdRequestSettings")
  @interface TeadsAdRequestSettings : NSObject
  /// The Teads inApp Validation tool is the best way to ensure all basic features and prerequisites are correctly implemented. It is also useful during integration iterations
  /// note:
  /// follow <a href="https://support.teads.tv/support/solutions/articles/36000209100-5-validate-your-integration-with-the-validation-tool">validate your integration documentation</a>
  - (void)enableValidationMode;
  /// Set the publisher http page url that matches the content where Teads Ad will be loaded into.
  /// \param urlString publisher url page
  ///
  - (void)pageUrl:(NSString * _Nonnull)urlString;
  /// Add extra informations to settings
  /// \param value extra value
  ///
  /// \param key extra key
  ///
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  /// Instance settings builder
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdRequestSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  - (void)registerAdView:(UIView * _Nonnull)adView delegate:(id <TeadsMediatedAdViewDelegate> _Nullable)delegate;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK11TeadsAdView")
  @interface TeadsAdView : UIView
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK20TeadsAdapterSettings")
  @interface TeadsAdapterSettings : NSObject
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdapterSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (void)disableCrashMonitoring;
  - (void)disableTeadsAudioSessionManagement;
  - (void)disableLocation;
  - (void)enableLightEndScreen;
  - (void)disableMediaPreload;
  - (void)userConsentWithSubjectToGDPR:(NSString * _Nonnull)subjectToGDPR consent:(NSString * _Nonnull)consent tcfVersion:(enum TCFVersion)tcfVersion cmpSdkID:(NSInteger)cmpSdkID;
  - (void)setUsPrivacyWithConsent:(NSString * _Nonnull)consent;
  - (void)disableBatteryMonitoring;
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  - (void)enableDebug;
  - (void)enableValidationMode;
  - (void)pageUrl:(NSString * _Nonnull)urlString;
  - (BOOL)subscribeAdResizeDelegate:(id <TeadsMediatedAdViewDelegate> _Nonnull)delegate forAdView:(UIView * _Nonnull)adView error:(NSError * _Nullable * _Nullable)error SWIFT_DEPRECATED_MSG("", "registerAdView:delegate:");
  - (void)registerAdView:(UIView * _Nonnull)adView delegate:(id <TeadsMediatedAdViewDelegate> _Nullable)delegate;
  @end
  
  
  @interface TeadsAdapterSettings (SWIFT_EXTENSION(TeadsSDK))
  /// Return a dictionary representation of the current TeadsAdSettings object.
  ///
  /// returns:
  /// A <code>[AnyHashable: Any]</code> representing the object.
  - (NSDictionary * _Nullable)toDictionaryAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
  /// Create an instance from <code>[AnyHashable: Any]</code>
  /// \param dictionary representation of TeadsAdSettings instance
  ///
  ///
  /// returns:
  /// A <code>TeadsAdapterSettings</code> object instance.
  + (TeadsAdapterSettings * _Nullable)instanceFrom:(NSDictionary * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK13TeadsInReadAd")
  @interface TeadsInReadAd : TeadsAd
  - (void)registerContainerIn:(UIView * _Nonnull)view;
  @end
  
  
  
  @interface TeadsInReadAd (SWIFT_EXTENSION(TeadsSDK))
  /// adRatio to correctly display ad
  @property (nonatomic, readonly, strong) TeadsAdRatio * _Nonnull adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsInReadAdPlacement")
  @interface TeadsInReadAdPlacement : TeadsAdPlacement
  - (void)requestAdWithRequestSettings:(TeadsAdRequestSettings * _Nonnull)requestSettings;
  @end
  
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK30TeadsInReadAdPlacementDelegate_")
  @protocol TeadsInReadAdPlacementDelegate
  /// Called when the Teads SDK has received an ad for you to display
  /// \param ad The teadsAd object
  ///
  /// \param adRatio an object that will help you display the ad correctly
  ///
  - (void)didReceiveAdWithAd:(TeadsInReadAd * _Nonnull)ad adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  /// Called when the Teads SDK has not received an ad, the reason will be detailled in the parameter
  /// \param reason an object that contains the fail reason
  ///
  - (void)didFailToReceiveAdWithReason:(AdFailReason * _Nonnull)reason;
  /// Called when the Teads SDK has a tracker view to provide you. You have to place it where your ad slot is. It will be used to help monitor your inventory.
  /// \param trackerView the view that will monitor your inventory
  ///
  - (void)adOpportunityTrackerViewWithTrackerView:(TeadsAdOpportunityTrackerView * _Nonnull)trackerView;
  /// Called when the Teads SDK needs you to resize your adView the creative inform us of its new ratio
  /// When it called it is the right place to update your view ratio. A basic implementation may look litke this:
  /// <h1>Code</h1>
  /// \code
  /// func didUpdateRatio(ad: TeadsInReadAd, adRatio: TeadsAdRatio) {
  ///   yourViewHeight = adRatio.calculateHeight(for: yourViewWidth)
  /// }
  ///
  /// \endcode\param ad The teadsAd object
  ///
  /// \param adRatio an object that will help you display the ad correctly
  ///
  - (void)didUpdateRatioWithAd:(TeadsInReadAd * _Nonnull)ad adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK17TeadsInReadAdView")
  @interface TeadsInReadAdView : TeadsAdView
  - (void)bind:(TeadsInReadAd * _Nonnull)ad;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (void)layoutSubviews;
  @end
  
  
  
  
  @class VideoComponent;
  
  SWIFT_CLASS("_TtC8TeadsSDK14TeadsMediaView")
  @interface TeadsMediaView : UIView
  - (nonnull instancetype)initWithVideoComponent:(VideoComponent * _Nonnull)videoComponent OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
  - (void)layoutSubviews;
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK27TeadsMediatedAdViewDelegate_")
  @protocol TeadsMediatedAdViewDelegate
  /// Called when the ad ratio is udpated. (only for mediation)
  /// \param adView The adView in which the ad is being played.
  ///
  /// \param adRatio The ratio you should use to update your adView height.
  ///
  - (void)didUpdateRatio:(UIView * _Nonnull)adView adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK13TeadsNativeAd")
  @interface TeadsNativeAd : TeadsAd
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable title;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable content;
  @property (nonatomic, readonly, strong) ImageComponent * _Nullable image;
  @property (nonatomic, readonly, strong) ImageComponent * _Nullable icon;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable sponsored;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable callToAction;
  @property (nonatomic, readonly, strong) VideoComponent * _Nullable video;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable rating;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable price;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable adChoices;
  /// register containerView
  /// note:
  /// this be called on adpater part or without interface builder
  /// \param view view containing UI elements defined in  <a href="x-source-tag://TeadsNativeAdView">TeadsNativeAdView</a>
  ///
  - (void)registerWithContainerView:(UIView * _Nonnull)containerView;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsNativeAdPlacement")
  @interface TeadsNativeAdPlacement : TeadsAdPlacement
  @end
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK30TeadsNativeAdPlacementDelegate_")
  @protocol TeadsNativeAdPlacementDelegate
  /// Called when the Teads SDK has received an ad for you to display
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - adRatio: an object that will help you display the ad correctly
  - (void)didReceiveAdWithAd:(TeadsNativeAd * _Nonnull)ad;
  /// Called when the Teads SDK has not received an ad, the reason will be detailled in the parameter
  /// /// - parameters:
  /// - reason: an object that contains the fail reason
  - (void)didFailToReceiveAdWithReason:(AdFailReason * _Nonnull)reason;
  /// Called when the Teads SDK needs you to resize your adView the creative inform us of its new ratio
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - adRatio: an object that will help you display the ad correctly
  - (void)adOpportunityTrackerViewWithTrackerView:(TeadsAdOpportunityTrackerView * _Nonnull)trackerView;
  @end
  
  @class UILabel;
  @class UIImageView;
  @class UIButton;
  
  ///
  SWIFT_CLASS("_TtC8TeadsSDK17TeadsNativeAdView")
  @interface TeadsNativeAdView : TeadsAdView
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable titleLabel;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable contentLabel;
  @property (nonatomic, weak) IBOutlet TeadsMediaView * _Nullable mediaView;
  @property (nonatomic, weak) IBOutlet UIImageView * _Nullable iconImageView;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable advertiserLabel;
  @property (nonatomic, weak) IBOutlet UIButton * _Nullable callToActionButton;
  @property (nonatomic, weak) IBOutlet UIView * _Nullable ratingView;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable priceLabel;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  ///
  SWIFT_PROTOCOL("_TtP8TeadsSDK21TeadsPlaybackDelegate_")
  @protocol TeadsPlaybackDelegate
  @optional
  /// Called when the ad starts playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStartPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad stops playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStopPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad is paused
  /// \param ad The teadsAd object
  ///
  - (void)didPause:(TeadsAd * _Nonnull)ad;
  /// Called when the ad starts or resumes
  /// \param ad The teadsAd object
  ///
  - (void)didPlay:(TeadsAd * _Nonnull)ad;
  /// Called when the ad ended
  /// \param ad The teadsAd object
  ///
  - (void)didComplete:(TeadsAd * _Nonnull)ad;
  @end
  
  
  ///
  SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'TeadsSoundDelegate' has been renamed to '_TtP8TeadsSDK21TeadsPlaybackDelegate_': Use TeadsPlaybackDelegate instead")
  @protocol TeadsSoundDelegate
  /// Called when the ad starts playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStartPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad stops playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStopPlayingAudio:(TeadsAd * _Nonnull)ad;
  @end
  
  
  
  
  @interface UIButton (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  @interface UIImageView (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  @interface UILabel (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  @interface UIView (SWIFT_EXTENSION(TeadsSDK))
  /// map your UIKit element to TeadsSDK logic,
  /// this ensures visibility measurement is monitored and click behaviors are well handled
  /// \param component object holding text, image or video depending on his subtype
  ///
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK14VideoComponent")
  @interface VideoComponent : CommonComponent
  @end
  
  #if __has_attribute(external_source_symbol)
  # pragma clang attribute pop
  #endif
  #pragma clang diagnostic pop
  #endif
  
  #elif defined(__i386__) && __i386__
  // Generated by Apple Swift version 5.4.2 (swiftlang-1205.0.28.2 clang-1205.0.19.57)
  #ifndef TEADSSDK_SWIFT_H
  #define TEADSSDK_SWIFT_H
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wgcc-compat"
  
  #if !defined(__has_include)
  # define __has_include(x) 0
  #endif
  #if !defined(__has_attribute)
  # define __has_attribute(x) 0
  #endif
  #if !defined(__has_feature)
  # define __has_feature(x) 0
  #endif
  #if !defined(__has_warning)
  # define __has_warning(x) 0
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <Foundation/Foundation.h>
  #include <stdint.h>
  #include <stddef.h>
  #include <stdbool.h>
  
  #if !defined(SWIFT_TYPEDEFS)
  # define SWIFT_TYPEDEFS 1
  # if __has_include(<uchar.h>)
  #  include <uchar.h>
  # elif !defined(__cplusplus)
  typedef uint_least16_t char16_t;
  typedef uint_least32_t char32_t;
  # endif
  typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
  typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
  typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
  typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
  typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
  typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
  typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
  typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
  typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
  typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
  typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
  typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
  #endif
  
  #if !defined(SWIFT_PASTE)
  # define SWIFT_PASTE_HELPER(x, y) x##y
  # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  #endif
  #if !defined(SWIFT_METATYPE)
  # define SWIFT_METATYPE(X) Class
  #endif
  #if !defined(SWIFT_CLASS_PROPERTY)
  # if __has_feature(objc_class_property)
  #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  # else
  #  define SWIFT_CLASS_PROPERTY(...)
  # endif
  #endif
  
  #if __has_attribute(objc_runtime_name)
  # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  #else
  # define SWIFT_RUNTIME_NAME(X)
  #endif
  #if __has_attribute(swift_name)
  # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  #else
  # define SWIFT_COMPILE_NAME(X)
  #endif
  #if __has_attribute(objc_method_family)
  # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  #else
  # define SWIFT_METHOD_FAMILY(X)
  #endif
  #if __has_attribute(noescape)
  # define SWIFT_NOESCAPE __attribute__((noescape))
  #else
  # define SWIFT_NOESCAPE
  #endif
  #if __has_attribute(ns_consumed)
  # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
  #else
  # define SWIFT_RELEASES_ARGUMENT
  #endif
  #if __has_attribute(warn_unused_result)
  # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  #else
  # define SWIFT_WARN_UNUSED_RESULT
  #endif
  #if __has_attribute(noreturn)
  # define SWIFT_NORETURN __attribute__((noreturn))
  #else
  # define SWIFT_NORETURN
  #endif
  #if !defined(SWIFT_CLASS_EXTRA)
  # define SWIFT_CLASS_EXTRA
  #endif
  #if !defined(SWIFT_PROTOCOL_EXTRA)
  # define SWIFT_PROTOCOL_EXTRA
  #endif
  #if !defined(SWIFT_ENUM_EXTRA)
  # define SWIFT_ENUM_EXTRA
  #endif
  #if !defined(SWIFT_CLASS)
  # if __has_attribute(objc_subclassing_restricted)
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # else
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # endif
  #endif
  #if !defined(SWIFT_RESILIENT_CLASS)
  # if __has_attribute(objc_class_stub)
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # else
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # endif
  #endif
  
  #if !defined(SWIFT_PROTOCOL)
  # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  #endif
  
  #if !defined(SWIFT_EXTENSION)
  # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  #endif
  
  #if !defined(OBJC_DESIGNATED_INITIALIZER)
  # if __has_attribute(objc_designated_initializer)
  #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  # else
  #  define OBJC_DESIGNATED_INITIALIZER
  # endif
  #endif
  #if !defined(SWIFT_ENUM_ATTR)
  # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  # else
  #  define SWIFT_ENUM_ATTR(_extensibility)
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  # endif
  #endif
  #if !defined(SWIFT_UNAVAILABLE)
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  #endif
  #if !defined(SWIFT_UNAVAILABLE_MSG)
  # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  #endif
  #if !defined(SWIFT_AVAILABILITY)
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  #endif
  #if !defined(SWIFT_WEAK_IMPORT)
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
  #endif
  #if !defined(SWIFT_DEPRECATED)
  # define SWIFT_DEPRECATED __attribute__((deprecated))
  #endif
  #if !defined(SWIFT_DEPRECATED_MSG)
  # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  #endif
  #if __has_feature(attribute_diagnose_if_objc)
  # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  #else
  # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  #endif
  #if !defined(IBSegueAction)
  # define IBSegueAction
  #endif
  #if __has_feature(modules)
  #if __has_warning("-Watimport-in-framework-header")
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
  #endif
  @import CoreGraphics;
  @import Foundation;
  @import ObjectiveC;
  @import UIKit;
  #endif
  
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  #if __has_warning("-Wpragma-clang-attribute")
  # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  #endif
  #pragma clang diagnostic ignored "-Wunknown-pragmas"
  #pragma clang diagnostic ignored "-Wnullability"
  
  #if __has_attribute(external_source_symbol)
  # pragma push_macro("any")
  # undef any
  # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="TeadsSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  # pragma pop_macro("any")
  #endif
  
  
  typedef SWIFT_ENUM(NSInteger, AdErrorCode, open) {
    AdErrorCodeErrorNoSlot = 1,
    AdErrorCodeErrorNetwork = 2,
    AdErrorCodeErrorNotFilled = 3,
    AdErrorCodeErrorBadResponse = 4,
    AdErrorCodeErrorVastError = 5,
    AdErrorCodeErrorUserIdMissing = 6,
    AdErrorCodeErrorInternal = 7,
    AdErrorCodeDisabledApp = 8,
    AdErrorCodeErrorAdRequest = 9,
  };
  
  @class NSString;
  
  SWIFT_CLASS("_TtC8TeadsSDK12AdFailReason")
  @interface AdFailReason : NSObject
  /// Error code
  @property (nonatomic) enum AdErrorCode errorCode;
  /// String that describes the error reason
  @property (nonatomic, copy) NSString * _Nonnull errorMessage;
  @property (nonatomic, readonly, copy) NSString * _Nonnull description;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  /// CommonComponent
  SWIFT_CLASS("_TtC8TeadsSDK15CommonComponent")
  @interface CommonComponent : NSObject
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK18ContainerComponent")
  @interface ContainerComponent : CommonComponent
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK14ImageComponent")
  @interface ImageComponent : CommonComponent
  @end
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK16OverlayComponent")
  @interface OverlayComponent : CommonComponent
  @end
  
  
  /// Transparency & Consent Framework versions
  typedef SWIFT_ENUM(NSInteger, TCFVersion, open) {
    TCFVersionV1 = 1,
    TCFVersionV2 = 2,
  };
  
  @class NSNumber;
  @class TeadsAdPlacementSettings;
  @protocol TeadsInReadAdPlacementDelegate;
  @class TeadsInReadAdPlacement;
  
  /// Entry point for TeadsSDK
  SWIFT_CLASS("_TtC8TeadsSDK5Teads")
  @interface Teads : NSObject
  /// Current sdkVersion
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkVersion;)
  + (NSString * _Nonnull)sdkVersion SWIFT_WARN_UNUSED_RESULT;
  /// inRead Ad Placement
  /// \param pid placement identifier
  ///
  /// \param settings placement settings
  ///
  /// \param delegate TeadsAdDelegate to follow Ad lifecycle
  ///
  + (TeadsInReadAdPlacement * _Nullable)createInReadPlacementWithPid:(NSInteger)pid settings:(TeadsAdPlacementSettings * _Nonnull)settings delegate:(id <TeadsInReadAdPlacementDelegate> _Nonnull)delegate SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  @interface Teads (SWIFT_EXTENSION(TeadsSDK))
  /// Crash monitoring
  /// TeadsSDK monitors for crash that only appears in framework in order to continuously improve our product
  /// note:
  /// TeadsSDK does not disturb any third party crash handler/reporter such as Crashlytics
  + (void)configure;
  @end
  
  @protocol TeadsAdDelegate;
  @protocol TeadsPlaybackDelegate;
  
  SWIFT_CLASS("_TtC8TeadsSDK7TeadsAd")
  @interface TeadsAd : NSObject
  @property (nonatomic, weak) id <TeadsAdDelegate> _Nullable delegate;
  @property (nonatomic, weak) id <TeadsPlaybackDelegate> _Nullable soundDelegate SWIFT_UNAVAILABLE_MSG("'soundDelegate' has been renamed to 'playbackDelegate': Use playbackDelegate instead");
  @property (nonatomic, weak) id <TeadsPlaybackDelegate> _Nullable playbackDelegate;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  
  
  
  
  
  @class UIViewController;
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK15TeadsAdDelegate_")
  @protocol TeadsAdDelegate
  /// Called when ad wants to present viewController modally e.g: safariViewController (Click to action) / fullscreenController
  /// note:
  /// event is not triggered on Main Thread
  /// \param ad The teadsAd object
  ///
  ///
  /// returns:
  /// UIViewController to present viewController
  - (UIViewController * _Nullable)willPresentModalViewWithAd:(TeadsAd * _Nonnull)ad SWIFT_WARN_UNUSED_RESULT;
  @optional
  /// Called when the ad has encountered an issue, in this case you need to remove the slot or you will have a blank space
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - error: error object
  - (void)didCatchErrorWithAd:(TeadsAd * _Nonnull)ad error:(NSError * _Nonnull)error;
  /// Called when the ad has been close, in this case you need to close the slot or you will have a blank space
  /// /// - parameters:
  /// - ad: The teadsAd object
  - (void)didCloseWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when Teads has recorded an impression for the current ad
  /// \param ad The teadsAd object
  ///
  - (void)didRecordImpressionWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when Teads has recorded a clickthrough on the current ad
  /// \param ad The teadsAd object
  ///
  - (void)didRecordClickWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when ad is shown in fullscreen
  /// \param ad The TeadsAd object
  ///
  - (void)didExpandedToFullscreenWithAd:(TeadsAd * _Nonnull)ad;
  /// Called when ad leaves the fullscreen mode
  /// \param ad The TeadsAd object
  ///
  - (void)didCollapsedFromFullscreenWithAd:(TeadsAd * _Nonnull)ad;
  @end
  
  @class NSCoder;
  
  SWIFT_CLASS("_TtC8TeadsSDK29TeadsAdOpportunityTrackerView")
  @interface TeadsAdOpportunityTrackerView : UIView
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK16TeadsAdPlacement")
  @interface TeadsAdPlacement : NSObject
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK24TeadsAdPlacementSettings")
  @interface TeadsAdPlacementSettings : NSObject
  /// Prevent TeadsSDK to automatically handle/monitor crashes
  - (void)disableCrashMonitoring;
  /// By default, the Teads inApp SDK handles the audio session by setting its category to ambient.
  /// This means that all the audio played by other apps will simply mix with the ad sound.
  /// note:
  ///
  /// If you chose to handle the audio session by yourself you need to call <code>disableTeadsAudioSessionManagement</code>
  /// and implement   <a href="x-source-tag://TeadsSoundDelegate">TeadsSoundDelegate</a>
  - (void)disableTeadsAudioSessionManagement;
  /// Enable all TeadsSDK Log for debugging purpose
  - (void)enableDebug;
  - (void)disableLocation;
  /// When the ad playback is finished, we display an endscreen with light color (Dark color by default).
  - (void)enableLightEndScreen;
  - (void)disableMediaPreload;
  /// The user consent following the IAB specifications.
  /// note:
  /// <a href="https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md">GDPR Transparency and Consent Framework </a> IAB documentation
  /// \param subjectToGDPR <code>"1"</code> if the traffic or the publisher is in the EEA (European Economic Area),
  /// `“0” if it is not, null if it’s unknown.
  ///
  /// \param consent Which vendors and purposes did the user give consent for
  ///
  /// \param tcfVersion Transparency and Consent Framework version
  ///
  /// \param cmpSdkID Consent Manager unique ID
  ///
  - (void)userConsentWithSubjectToGDPR:(NSString * _Nonnull)subjectToGDPR consent:(NSString * _Nonnull)consent tcfVersion:(enum TCFVersion)tcfVersion cmpSdkID:(NSInteger)cmpSdkID;
  /// The US privacy CCPA user consent following IAB specifications
  /// \param consent The CCPA consent string
  ///
  - (void)setUsPrivacyWithConsent:(NSString * _Nonnull)consent;
  /// Prevent to automatically set UIDevice.current.isBatteryMonitoringEnabled
  - (void)disableBatteryMonitoring;
  /// Add extra informations to settings
  /// \param value extra value
  ///
  /// \param key extra key
  ///
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  /// Instance settings builder
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdPlacementSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK12TeadsAdRatio")
  @interface TeadsAdRatio : NSObject
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) TeadsAdRatio * _Nonnull zero;)
  + (TeadsAdRatio * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong, getter=default) TeadsAdRatio * _Nonnull default_;)
  + (TeadsAdRatio * _Nonnull)default SWIFT_WARN_UNUSED_RESULT;
  /// calculate the best height for your TeadsInReadAdView with the given width.
  /// \param width the width of your TeadsInReadAdView.
  ///
  - (CGFloat)calculateHeightForWidth:(CGFloat)width SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  @end
  
  @protocol TeadsMediatedAdViewDelegate;
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsAdRequestSettings")
  @interface TeadsAdRequestSettings : NSObject
  /// The Teads inApp Validation tool is the best way to ensure all basic features and prerequisites are correctly implemented. It is also useful during integration iterations
  /// note:
  /// follow <a href="https://support.teads.tv/support/solutions/articles/36000209100-5-validate-your-integration-with-the-validation-tool">validate your integration documentation</a>
  - (void)enableValidationMode;
  /// Set the publisher http page url that matches the content where Teads Ad will be loaded into.
  /// \param urlString publisher url page
  ///
  - (void)pageUrl:(NSString * _Nonnull)urlString;
  /// Add extra informations to settings
  /// \param value extra value
  ///
  /// \param key extra key
  ///
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  /// Instance settings builder
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdRequestSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  - (void)registerAdView:(UIView * _Nonnull)adView delegate:(id <TeadsMediatedAdViewDelegate> _Nullable)delegate;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK11TeadsAdView")
  @interface TeadsAdView : UIView
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK20TeadsAdapterSettings")
  @interface TeadsAdapterSettings : NSObject
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  /// \param build closure to tune settings
  ///
  - (nonnull instancetype)initWithBuild:(SWIFT_NOESCAPE void (^ _Nonnull)(TeadsAdapterSettings * _Nonnull))build OBJC_DESIGNATED_INITIALIZER;
  - (void)disableCrashMonitoring;
  - (void)disableTeadsAudioSessionManagement;
  - (void)disableLocation;
  - (void)enableLightEndScreen;
  - (void)disableMediaPreload;
  - (void)userConsentWithSubjectToGDPR:(NSString * _Nonnull)subjectToGDPR consent:(NSString * _Nonnull)consent tcfVersion:(enum TCFVersion)tcfVersion cmpSdkID:(NSInteger)cmpSdkID;
  - (void)setUsPrivacyWithConsent:(NSString * _Nonnull)consent;
  - (void)disableBatteryMonitoring;
  - (void)addExtras:(NSString * _Nonnull)value for:(NSString * _Nonnull)key;
  - (void)enableDebug;
  - (void)enableValidationMode;
  - (void)pageUrl:(NSString * _Nonnull)urlString;
  - (BOOL)subscribeAdResizeDelegate:(id <TeadsMediatedAdViewDelegate> _Nonnull)delegate forAdView:(UIView * _Nonnull)adView error:(NSError * _Nullable * _Nullable)error SWIFT_DEPRECATED_MSG("", "registerAdView:delegate:");
  - (void)registerAdView:(UIView * _Nonnull)adView delegate:(id <TeadsMediatedAdViewDelegate> _Nullable)delegate;
  @end
  
  
  @interface TeadsAdapterSettings (SWIFT_EXTENSION(TeadsSDK))
  /// Return a dictionary representation of the current TeadsAdSettings object.
  ///
  /// returns:
  /// A <code>[AnyHashable: Any]</code> representing the object.
  - (NSDictionary * _Nullable)toDictionaryAndReturnError:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
  /// Create an instance from <code>[AnyHashable: Any]</code>
  /// \param dictionary representation of TeadsAdSettings instance
  ///
  ///
  /// returns:
  /// A <code>TeadsAdapterSettings</code> object instance.
  + (TeadsAdapterSettings * _Nullable)instanceFrom:(NSDictionary * _Nonnull)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK13TeadsInReadAd")
  @interface TeadsInReadAd : TeadsAd
  - (void)registerContainerIn:(UIView * _Nonnull)view;
  @end
  
  
  
  @interface TeadsInReadAd (SWIFT_EXTENSION(TeadsSDK))
  /// adRatio to correctly display ad
  @property (nonatomic, readonly, strong) TeadsAdRatio * _Nonnull adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsInReadAdPlacement")
  @interface TeadsInReadAdPlacement : TeadsAdPlacement
  - (void)requestAdWithRequestSettings:(TeadsAdRequestSettings * _Nonnull)requestSettings;
  @end
  
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK30TeadsInReadAdPlacementDelegate_")
  @protocol TeadsInReadAdPlacementDelegate
  /// Called when the Teads SDK has received an ad for you to display
  /// \param ad The teadsAd object
  ///
  /// \param adRatio an object that will help you display the ad correctly
  ///
  - (void)didReceiveAdWithAd:(TeadsInReadAd * _Nonnull)ad adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  /// Called when the Teads SDK has not received an ad, the reason will be detailled in the parameter
  /// \param reason an object that contains the fail reason
  ///
  - (void)didFailToReceiveAdWithReason:(AdFailReason * _Nonnull)reason;
  /// Called when the Teads SDK has a tracker view to provide you. You have to place it where your ad slot is. It will be used to help monitor your inventory.
  /// \param trackerView the view that will monitor your inventory
  ///
  - (void)adOpportunityTrackerViewWithTrackerView:(TeadsAdOpportunityTrackerView * _Nonnull)trackerView;
  /// Called when the Teads SDK needs you to resize your adView the creative inform us of its new ratio
  /// When it called it is the right place to update your view ratio. A basic implementation may look litke this:
  /// <h1>Code</h1>
  /// \code
  /// func didUpdateRatio(ad: TeadsInReadAd, adRatio: TeadsAdRatio) {
  ///   yourViewHeight = adRatio.calculateHeight(for: yourViewWidth)
  /// }
  ///
  /// \endcode\param ad The teadsAd object
  ///
  /// \param adRatio an object that will help you display the ad correctly
  ///
  - (void)didUpdateRatioWithAd:(TeadsInReadAd * _Nonnull)ad adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK17TeadsInReadAdView")
  @interface TeadsInReadAdView : TeadsAdView
  - (void)bind:(TeadsInReadAd * _Nonnull)ad;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (void)layoutSubviews;
  @end
  
  
  
  
  @class VideoComponent;
  
  SWIFT_CLASS("_TtC8TeadsSDK14TeadsMediaView")
  @interface TeadsMediaView : UIView
  - (nonnull instancetype)initWithVideoComponent:(VideoComponent * _Nonnull)videoComponent OBJC_DESIGNATED_INITIALIZER;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
  - (void)layoutSubviews;
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK27TeadsMediatedAdViewDelegate_")
  @protocol TeadsMediatedAdViewDelegate
  /// Called when the ad ratio is udpated. (only for mediation)
  /// \param adView The adView in which the ad is being played.
  ///
  /// \param adRatio The ratio you should use to update your adView height.
  ///
  - (void)didUpdateRatio:(UIView * _Nonnull)adView adRatio:(TeadsAdRatio * _Nonnull)adRatio;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK13TeadsNativeAd")
  @interface TeadsNativeAd : TeadsAd
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable title;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable content;
  @property (nonatomic, readonly, strong) ImageComponent * _Nullable image;
  @property (nonatomic, readonly, strong) ImageComponent * _Nullable icon;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable sponsored;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable callToAction;
  @property (nonatomic, readonly, strong) VideoComponent * _Nullable video;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable rating;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable price;
  @property (nonatomic, readonly, strong) CommonComponent * _Nullable adChoices;
  /// register containerView
  /// note:
  /// this be called on adpater part or without interface builder
  /// \param view view containing UI elements defined in  <a href="x-source-tag://TeadsNativeAdView">TeadsNativeAdView</a>
  ///
  - (void)registerWithContainerView:(UIView * _Nonnull)containerView;
  @end
  
  
  SWIFT_CLASS("_TtC8TeadsSDK22TeadsNativeAdPlacement")
  @interface TeadsNativeAdPlacement : TeadsAdPlacement
  @end
  
  
  SWIFT_PROTOCOL("_TtP8TeadsSDK30TeadsNativeAdPlacementDelegate_")
  @protocol TeadsNativeAdPlacementDelegate
  /// Called when the Teads SDK has received an ad for you to display
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - adRatio: an object that will help you display the ad correctly
  - (void)didReceiveAdWithAd:(TeadsNativeAd * _Nonnull)ad;
  /// Called when the Teads SDK has not received an ad, the reason will be detailled in the parameter
  /// /// - parameters:
  /// - reason: an object that contains the fail reason
  - (void)didFailToReceiveAdWithReason:(AdFailReason * _Nonnull)reason;
  /// Called when the Teads SDK needs you to resize your adView the creative inform us of its new ratio
  /// /// - parameters:
  /// - ad: The teadsAd object
  /// - adRatio: an object that will help you display the ad correctly
  - (void)adOpportunityTrackerViewWithTrackerView:(TeadsAdOpportunityTrackerView * _Nonnull)trackerView;
  @end
  
  @class UILabel;
  @class UIImageView;
  @class UIButton;
  
  ///
  SWIFT_CLASS("_TtC8TeadsSDK17TeadsNativeAdView")
  @interface TeadsNativeAdView : TeadsAdView
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable titleLabel;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable contentLabel;
  @property (nonatomic, weak) IBOutlet TeadsMediaView * _Nullable mediaView;
  @property (nonatomic, weak) IBOutlet UIImageView * _Nullable iconImageView;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable advertiserLabel;
  @property (nonatomic, weak) IBOutlet UIButton * _Nullable callToActionButton;
  @property (nonatomic, weak) IBOutlet UIView * _Nullable ratingView;
  @property (nonatomic, weak) IBOutlet UILabel * _Nullable priceLabel;
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
  @end
  
  
  ///
  SWIFT_PROTOCOL("_TtP8TeadsSDK21TeadsPlaybackDelegate_")
  @protocol TeadsPlaybackDelegate
  @optional
  /// Called when the ad starts playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStartPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad stops playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStopPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad is paused
  /// \param ad The teadsAd object
  ///
  - (void)didPause:(TeadsAd * _Nonnull)ad;
  /// Called when the ad starts or resumes
  /// \param ad The teadsAd object
  ///
  - (void)didPlay:(TeadsAd * _Nonnull)ad;
  /// Called when the ad ended
  /// \param ad The teadsAd object
  ///
  - (void)didComplete:(TeadsAd * _Nonnull)ad;
  @end
  
  
  ///
  SWIFT_PROTOCOL("_TtP8TeadsSDK18TeadsSoundDelegate_") SWIFT_UNAVAILABLE_MSG("'TeadsSoundDelegate' has been renamed to '_TtP8TeadsSDK21TeadsPlaybackDelegate_': Use TeadsPlaybackDelegate instead")
  @protocol TeadsSoundDelegate
  /// Called when the ad starts playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStartPlayingAudio:(TeadsAd * _Nonnull)ad;
  /// Called when the ad stops playing audio
  /// \param ad The teadsAd object
  ///
  - (void)adStopPlayingAudio:(TeadsAd * _Nonnull)ad;
  @end
  
  
  
  
  @interface UIButton (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  @interface UIImageView (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  @interface UILabel (SWIFT_EXTENSION(TeadsSDK))
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  @interface UIView (SWIFT_EXTENSION(TeadsSDK))
  /// map your UIKit element to TeadsSDK logic,
  /// this ensures visibility measurement is monitored and click behaviors are well handled
  /// \param component object holding text, image or video depending on his subtype
  ///
  - (void)bindWithComponent:(CommonComponent * _Nullable)component;
  @end
  
  
  
  
  
  
  
  
  SWIFT_CLASS("_TtC8TeadsSDK14VideoComponent")
  @interface VideoComponent : CommonComponent
  @end
  
  #if __has_attribute(external_source_symbol)
  # pragma clang attribute pop
  #endif
  #pragma clang diagnostic pop
  #endif
  
  #endif
  