#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 6.0 effective-5.10 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)
#ifndef CHARTBOOSTSDK_SWIFT_H
#define CHARTBOOSTSDK_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"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnon-modular-include-in-framework-module"
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
#  define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
#  define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#pragma clang diagnostic pop
#endif

#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 !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
#  define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
#  define SWIFT_RUNTIME_NAME(X) 
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
#  define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
#  define SWIFT_COMPILE_NAME(X) 
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
#  define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
#  define SWIFT_METHOD_FAMILY(X) 
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
#  define SWIFT_NOESCAPE __attribute__((noescape))
# else
#  define SWIFT_NOESCAPE 
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
#  define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
#  define SWIFT_RELEASES_ARGUMENT 
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
#  define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
#  define SWIFT_WARN_UNUSED_RESULT 
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
#  define SWIFT_NORETURN __attribute__((noreturn))
# else
#  define SWIFT_NORETURN 
# endif
#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 __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 !defined(SWIFT_DEPRECATED_OBJC)
# 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
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction 
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
#  define SWIFT_EXTERN extern "C"
# else
#  define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT 
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
#  define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
#  define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL 
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import CoreFoundation;
@import Foundation;
@import ObjectiveC;
@import StoreKit;
@import UIKit;
@import WebKit;
#endif

#import <ChartboostSDK/ChartboostSDK.h>

#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"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"

#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="ChartboostSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif

#if defined(__OBJC__)
@class NSString;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("APIConstants")
@interface CHBAPIConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull methodPost;)
+ (NSString * _Nonnull)methodPost SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull methodGet;)
+ (NSString * _Nonnull)methodGet SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull methodPut;)
+ (NSString * _Nonnull)methodPut SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull methodDelete;)
+ (NSString * _Nonnull)methodDelete SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSInteger defaultTimeout;)
+ (NSInteger)defaultTimeout SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull apiVersion;)
+ (NSString * _Nonnull)apiVersion SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class NSURL;
@protocol CHBWebViewDelegate;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("AdConfiguration")
@interface CHBAdConfiguration : NSObject
@property (nonatomic, copy) NSURL * _Nonnull baseURL;
@property (nonatomic, copy) NSString * _Nonnull html;
@property (nonatomic, weak) id <CHBWebViewDelegate> _Nullable webViewDelegate;
@property (nonatomic) BOOL suppressIncrementalRendering;
- (nonnull instancetype)initWithHtml:(NSString * _Nonnull)html baseURL:(NSURL * _Nonnull)baseURL webViewDelegate:(id <CHBWebViewDelegate> _Nullable)webViewDelegate suppressIncrementalRendering:(BOOL)suppressIncrementalRendering OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@protocol CHBAdControllerDelegate;
@class CHBCacheError;
@class UIViewController;
@class UIView;
@class CHBShowError;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Manages ad loading and showing, keeping track of loading state, loaded and showing ads.
SWIFT_PROTOCOL_NAMED("AdController")
@protocol CHBAdController
/// The delegate that receives ad life-cycle event callbacks.
@property (nonatomic, strong) id <CHBAdControllerDelegate> _Nullable delegate;
/// True if an ad is loaded.
@property (nonatomic, readonly) BOOL isAdLoaded;
/// True if an ad is currently showing.
@property (nonatomic, readonly) BOOL isAdShowing;
/// Clears the loaded ad, if any.
- (void)clearLoadedAd;
/// Loads an ad from the server.
/// note:
/// Do not assume the completion will execute on a specific thread.
- (void)loadAdWithCompletion:(void (^ _Nonnull)(NSString * _Nullable, CHBCacheError * _Nullable))completion;
/// Loads an ad from the given OpenRTB bid response.
/// note:
/// Do not assume the completion will execute on a specific thread.
- (void)loadAdWithBidResponse:(NSString * _Nonnull)bidResponse completion:(void (^ _Nonnull)(NSString * _Nullable, CHBCacheError * _Nullable))completion;
/// Shows a loaded banner ad.
/// note:
/// Do not assume the completion will execute on a specific thread.
- (void)showBannerAdFrom:(UIViewController * _Nonnull)viewController completion:(void (^ _Nonnull)(UIView * _Nullable, NSString * _Nullable, CHBShowError * _Nullable, void (^ _Nullable)(void)))completion;
/// Shows a loaded fullscreen ad.
/// note:
/// Do not assume the completion will execute on a specific thread.
- (void)showFullscreenAdFrom:(UIViewController * _Nonnull)viewController completion:(void (^ _Nonnull)(NSString * _Nullable, CHBShowError * _Nullable))completion;
@end

@class CHBClickError;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Delegate to receive ad life-cycle events from an AdController.
/// note:
/// Do not assume delegate method calls will be made on a specific thread.
SWIFT_PROTOCOL_NAMED("AdControllerDelegate")
@protocol CHBAdControllerDelegate
/// An impression was tracked for the ad.
- (void)didTrackImpressionWithAdID:(NSString * _Nonnull)adID;
/// The ad was clicked.
- (void)didClickWithAdID:(NSString * _Nonnull)adID error:(CHBClickError * _Nullable)error;
/// The ad dismissed the click view.
- (void)didFinishHandlingClickWithAdID:(NSString * _Nonnull)adID;
/// The ad received a reward.
- (void)didRewardWithAdID:(NSString * _Nonnull)adID reward:(NSInteger)reward;
/// The ad was dismissed.
- (void)didDismissWithAdID:(NSString * _Nonnull)adID error:(NSError * _Nullable)error;
/// The ad expired.
- (void)didExpireWithAdID:(NSString * _Nonnull)adID;
@end

enum CHBAdUnitType : NSUInteger;
@class CHBMediation;
@protocol CHBLegacyAdControllerProtocol;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Factory to make AdController objects.
SWIFT_PROTOCOL_NAMED("AdControllerFactory")
@protocol CHBAdControllerFactory
- (id <CHBAdController> _Nonnull)makeAdControllerWithAdType:(enum CHBAdUnitType)adType adSize:(CGSize)adSize location:(NSString * _Nonnull)location mediation:(CHBMediation * _Nullable)mediation legacyAdController:(id <CHBLegacyAdControllerProtocol> _Nonnull)legacyAdController delegate:(id <CHBAdControllerDelegate> _Nonnull)delegate SWIFT_WARN_UNUSED_RESULT;
@end

@class CHBTrackingEventContext;
@class NSDate;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("AdFreezeInfoRepository")
@protocol CHBAdFreezeInfoRepository
@property (nonatomic, strong) CHBTrackingEventContext * _Nullable adShowStartEventContext;
@property (nonatomic) BOOL adDidShow;
@property (nonatomic, readonly, copy) NSDate * _Nullable appTerminationDate;
- (void)persistCurrentDateAsAppTerminationDate;
- (void)removeAppTerminationDate;
@end

@class CHBAdUnit;
@class CHBAdTraits;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("HTMLBuilder")
@protocol CHBHTMLBuilder
- (NSString * _Nullable)htmlWithAdUnit:(CHBAdUnit * _Nonnull)adUnit adTraits:(CHBAdTraits * _Nonnull)adTraits nativeVideo:(BOOL)nativeVideo SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nullable)htmlWebViewHTMLWithAdUnit:(CHBAdUnit * _Nonnull)adUnit SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("AdHTMLBuilder")
@interface CHBAdHTMLBuilder : NSObject <CHBHTMLBuilder>
- (NSString * _Nullable)htmlWithAdUnit:(CHBAdUnit * _Nonnull)adUnit adTraits:(CHBAdTraits * _Nonnull)adTraits nativeVideo:(BOOL)nativeVideo SWIFT_WARN_UNUSED_RESULT;
- (NSString * _Nullable)htmlWebViewHTMLWithAdUnit:(CHBAdUnit * _Nonnull)adUnit SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("AdNetworkIdentifierRepository")
@protocol CHBAdNetworkIdentifierRepository
- (NSArray<NSString *> * _Nonnull)getAdNetworkIdentifiers SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("AdNetworkIdentifierRepositoryFactory")
@interface CHBAdNetworkIdentifierRepositoryFactory : NSObject
+ (id <CHBAdNetworkIdentifierRepository> _Nonnull)makeAdNetworkIdentifierRepository SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ConfigResponseParser")
@protocol CHBConfigResponseParser
- (NSDictionary * _Nullable)parse:(NSDictionary * _Nullable)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("AdServerConfigResponseParser")
@interface CHBAdServerConfigResponseParser : NSObject <CHBConfigResponseParser>
- (NSDictionary * _Nullable)parse:(NSDictionary * _Nullable)dictionary error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("AdUnitIdentifiersExtractor")
@interface CHBAdUnitIdentifiersExtractor : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSUInteger, CHBAdUnitType, "AdUnitType", open) {
  CHBAdUnitTypeInterstitial = 0,
  CHBAdUnitTypeRewarded = 1,
  CHBAdUnitTypeBanner = 2,
};

@protocol CHBVideo;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacyVideoPlayerDelegate")
@protocol CHBLegacyVideoPlayerDelegate
- (void)didStartPlayingVideo:(id <CHBVideo> _Nonnull)video;
- (void)didFinishPlayingVideo:(id <CHBVideo> _Nonnull)video;
- (void)didFailToPlayVideo:(id <CHBVideo> _Nonnull)video error:(NSError * _Nullable)error;
- (void)didChangeVideoPlaybackTime:(id <CHBVideo> _Nonnull)video playbackTime:(NSTimeInterval)playbackTime;
- (void)volumeChangeTo:(CGFloat)playerVolume;
- (void)didBufferStart;
- (void)didBufferEnd;
@end

@class CHBWebView;
@class NSURLRequest;
enum CHBWebViewNavigationType : NSInteger;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacyWebViewDelegate")
@protocol CHBWebViewDelegate
- (BOOL)webView:(CHBWebView * _Nonnull)webView shouldStartLoadWithRequest:(NSURLRequest * _Nonnull)request navigationType:(enum CHBWebViewNavigationType)navigationType SWIFT_WARN_UNUSED_RESULT;
- (void)webViewDidStartLoad:(CHBWebView * _Nonnull)webView;
- (void)webViewDidStartRendering:(CHBWebView * _Nonnull)webView;
- (void)webViewDidFinishLoad:(CHBWebView * _Nonnull)webView;
- (void)webView:(CHBWebView * _Nonnull)webView didFailLoadWithError:(NSError * _Nonnull)error;
@end

@protocol CHBVideoPlayerDataSource;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("AdWebViewController")
@protocol CHBAdWebViewController <CHBLegacyVideoPlayerDelegate, CHBWebViewDelegate>
@property (nonatomic, weak) id <CHBVideoPlayerDataSource> _Nullable videoPlayerDataSource;
- (void)pause;
- (void)resume;
- (void)overlayDisplayed;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("AdWebViewControllerConfiguration")
@protocol CHBAdWebViewControllerConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<NSString *> * _Nonnull webViewRequestSchemeBlacklist;)
+ (NSArray<NSString *> * _Nonnull)webViewRequestSchemeBlacklist SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL bannerIgnoreFrameLoadInterruptedErrors;)
+ (BOOL)bannerIgnoreFrameLoadInterruptedErrors SWIFT_WARN_UNUSED_RESULT;
@end

@class UIWindow;
@protocol CHBApplicationStateObserver;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("Application")
@protocol CHBApplication
@property (nonatomic, readonly) enum UIApplicationState applicationState;
@property (nonatomic, readonly, strong) UIWindow * _Nullable keyWindow;
@property (nonatomic) BOOL statusBarHidden;
- (BOOL)canOpenURL:(NSURL * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
- (void)openURL:(NSURL * _Nonnull)url completionHandler:(void (^ _Nonnull)(BOOL))completionHandler;
- (void)addApplicationStateObserver:(id <CHBApplicationStateObserver> _Nonnull)observer;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ApplicationStateObserver")
@protocol CHBApplicationStateObserver
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ApplicationActivationObserver")
@protocol CHBApplicationActivationObserver <CHBApplicationStateObserver>
- (void)applicationDidBecomeActive;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ApplicationInactivationObserver")
@protocol CHBApplicationInactivationObserver <CHBApplicationStateObserver>
- (void)applicationWillBecomeInactive;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ApplicationTerminationObserver")
@protocol CHBApplicationTerminationObserver <CHBApplicationStateObserver>
- (void)applicationWillTerminate;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("AssetCacheManager")
@protocol CHBAssetCacheManager
- (void)reduceVideoCacheSizeIfNeeded;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSInteger, CHBAudioOutputType, "AudioOutputType", open) {
  CHBAudioOutputTypeSpeaker = 0,
  CHBAudioOutputTypeWiredHeadphones = 1,
  CHBAudioOutputTypeBluetooth = 2,
  CHBAudioOutputTypeOther = 3,
};

@class CHBError;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Protocol to track session-level events.
/// For ad-level events, use <code>BackendAdEventLogger</code> instead.
SWIFT_PROTOCOL_NAMED("BackendSessionEventLogger")
@protocol CHBBackendSessionEventLogger
/// Tracks the SDK initialization event.
/// \param error The error that occured during initialization, or <code>nil</code> if no error occured.
///
- (void)trackInitializationWithError:(CHBError * _Nullable)error;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Generates bid tokens.
SWIFT_PROTOCOL_NAMED("BidTokenGenerator")
@protocol CHBBidTokenGenerator
/// Generates a bid token with info needed by our servers to bid in an ad auction.
- (NSString * _Nullable)generateBidToken SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("BidderTokenConstants")
@interface CHBBidderTokenConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull ifv;)
+ (NSString * _Nonnull)ifv SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull atts;)
+ (NSString * _Nonnull)atts SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull package;)
+ (NSString * _Nonnull)package SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull tokenVersionKey;)
+ (NSString * _Nonnull)tokenVersionKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull omidPartnerName;)
+ (NSString * _Nonnull)omidPartnerName SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull omidPartnerVersion;)
+ (NSString * _Nonnull)omidPartnerVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull omidSDKVersion;)
+ (NSString * _Nonnull)omidSDKVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull tokenVersion;)
+ (NSString * _Nonnull)tokenVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull loadID;)
+ (NSString * _Nonnull)loadID SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Obj-C wrapper for the AdTraits class. Should be removed once all accesses to AdTraits are done in Swift.
SWIFT_CLASS("_TtC13ChartboostSDK11CHBAdTraits")
@interface CHBAdTraits : NSObject
@property (nonatomic, readonly) enum CHBAdUnitType adType;
@property (nonatomic, readonly, copy) NSString * _Nonnull location;
@property (nonatomic, readonly) CGSize size;
@property (nonatomic, readonly, strong) CHBMediation * _Nullable mediation;
@property (nonatomic, readonly) BOOL requiresCustomDisplayView;
@property (nonatomic, readonly) BOOL supportsImplicitCaching;
- (nonnull instancetype)initWithAdType:(enum CHBAdUnitType)adType location:(NSString * _Nullable)location size:(CGSize)size mediation:(CHBMediation * _Nullable)mediation OBJC_DESIGNATED_INITIALIZER;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@class CHBAsset;
@class NSNumber;
@class CHBSKANAttributionParameters;
@class CHBSKANOverlayConfiguration;
enum CHBRenderingEngine : NSInteger;
@class CHBAdUnitIdentifiers;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK9CHBAdUnit")
@interface CHBAdUnit : NSObject
@property (nonatomic, readonly, copy) NSDictionary<NSString *, CHBAsset *> * _Nullable assets;
@property (nonatomic, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable parameters;
@property (nonatomic, readonly, strong) CHBAsset * _Nullable templateAsset;
@property (nonatomic, readonly, copy) NSString * _Nullable adId;
@property (nonatomic, readonly, copy) NSString * _Nullable cgn;
@property (nonatomic, readonly, copy) NSString * _Nullable creative;
@property (nonatomic, readonly, copy) NSString * _Nullable impressionID;
@property (nonatomic, readonly, copy) NSString * _Nullable link;
@property (nonatomic, readonly, strong) NSNumber * _Nullable rewardAmount;
@property (nonatomic, readonly, copy) NSString * _Nullable rewardCurrency;
@property (nonatomic, readonly, copy) NSString * _Nullable to;
@property (nonatomic, readonly, copy) NSString * _Nullable iTunesId;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable events;
@property (nonatomic, readonly, copy) NSURL * _Nullable videoURL;
@property (nonatomic, readonly, strong) CHBSKANAttributionParameters * _Nullable storeKitRenderedAdParameters;
@property (nonatomic, readonly, strong) CHBSKANAttributionParameters * _Nullable viewThroughAdParameters;
@property (nonatomic, readonly) BOOL showLoading;
@property (nonatomic, readonly) BOOL hasFrames;
@property (nonatomic, readonly, copy) NSString * _Nullable creativeID;
@property (nonatomic, readonly, strong) CHBSKANOverlayConfiguration * _Nullable overlayConfiguration;
@property (nonatomic, readonly, strong) NSNumber * _Nullable mType;
@property (nonatomic, readonly, strong) NSNumber * _Nullable clkp;
@property (nonatomic, readonly) enum CHBRenderingEngine renderingEngine;
@property (nonatomic, readonly, copy) NSURL * _Nullable baseURL;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nonnull scripts;
@property (nonatomic, readonly, copy) NSString * _Nullable adm;
@property (nonatomic, readonly, strong) CHBAdUnitIdentifiers * _Nullable ids;
@property (nonatomic, readonly, copy) NSString * _Nullable templateURL;
- (BOOL)adUnitIsReady SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK20CHBAdUnitIdentifiers")
@interface CHBAdUnitIdentifiers : NSObject
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK8CHBAsset")
@interface CHBAsset : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable directory;
@property (nonatomic, readonly, copy) NSString * _Nullable filename;
@property (nonatomic, readonly, copy) NSString * _Nullable url;
- (nonnull instancetype)initWithFileName:(NSString * _Nullable)fileName directory:(NSString * _Nullable)directory url:(NSString * _Nullable)url OBJC_DESIGNATED_INITIALIZER;
- (NSURL * _Nullable)fullPath SWIFT_WARN_UNUSED_RESULT;
- (BOOL)assetIsReady SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

enum CHBClickType : NSUInteger;
@class CHBDisplayRequest;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK8CHBClick")
@interface CHBClick : NSObject
@property (nonatomic, strong) NSNumber * _Nullable playbackTime;
@property (nonatomic, strong) NSNumber * _Nullable totalTime;
@property (nonatomic, strong) NSNumber * _Nullable clickedX;
@property (nonatomic, strong) NSNumber * _Nullable clickedY;
@property (nonatomic) BOOL shouldDismiss;
@property (nonatomic) enum CHBClickType type;
@property (nonatomic, strong) CHBDisplayRequest * _Nullable displayRequest;
@property (nonatomic, copy) NSString * _Nullable url;
@property (nonatomic, copy) NSString * _Nullable userAgent;
@property (nonatomic) BOOL didSendApiClickRequest;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithUrl:(NSString * _Nullable)url type:(enum CHBClickType)type OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK16CHBTrackingEvent")
@interface CHBTrackingEvent : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull name;
@property (nonatomic, readonly, copy) NSString * _Nullable message;
@property (nonatomic, readonly, copy) NSString * _Nonnull type;
@property (nonatomic, readonly) NSTimeInterval timestamp;
@property (nonatomic, readonly) NSTimeInterval latency;
@property (nonatomic, readonly, strong) CHBAdTraits * _Nullable adTraits;
@property (nonatomic, readonly, strong) CHBAdUnitIdentifiers * _Nullable adUnitIDs;
@property (nonatomic, readonly) BOOL isDelayed;
@property (nonatomic, readonly, copy) NSString * _Nullable templateURL;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs referenceEvent:(CHBTrackingEvent * _Nullable)referenceEvent SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs referenceEvent:(CHBTrackingEvent * _Nullable)referenceEvent fallbackLatency:(NSTimeInterval)fallbackLatency SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs referenceEvent:(CHBTrackingEvent * _Nullable)referenceEvent timestamp:(NSTimeInterval)timestamp SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs referenceEvent:(CHBTrackingEvent * _Nullable)referenceEvent timestamp:(NSTimeInterval)timestamp templateURL:(NSString * _Nonnull)templateURL SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs referenceEvent:(CHBTrackingEvent * _Nullable)referenceEvent templateURL:(NSString * _Nonnull)templateURL SWIFT_WARN_UNUSED_RESULT;
+ (nonnull instancetype)eventWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message adTraits:(CHBAdTraits * _Nullable)adTraits adUnitIDs:(CHBAdUnitIdentifiers * _Nullable)adUnitIDs referenceEvent:(CHBTrackingEvent * _Nullable)referenceEvent fallbackLatency:(NSTimeInterval)fallbackLatency templateURL:(NSString * _Nullable)templateURL SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK16CHBCriticalEvent")
@interface CHBCriticalEvent : CHBTrackingEvent
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK15CHBDelayedEvent")
@interface CHBDelayedEvent : CHBTrackingEvent
@end

@protocol CHBDisplayViewProtocol;
@protocol CHBOverlayDisplayable;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK17CHBDisplayRequest")
@interface CHBDisplayRequest : NSObject
@property (nonatomic, strong) CHBAdUnit * _Nullable adUnit;
@property (nonatomic, readonly, strong) CHBAdTraits * _Nullable adTraits;
@property (nonatomic, strong) UIViewController * _Nullable presenterViewController;
@property (nonatomic, strong) id <CHBDisplayViewProtocol> _Nullable customDisplayView;
@property (nonatomic, strong) id _Nullable ad;
@property (nonatomic, strong) CHBTrackingEvent * _Nullable startEvent;
@property (nonatomic, strong) id <CHBVideo> _Nullable video;
@property (nonatomic) id _Nullable skAdImpression;
@property (nonatomic, readonly, strong) id <CHBOverlayDisplayable> _Nullable overlay;
- (nonnull instancetype)initWithAdUnit:(CHBAdUnit * _Nullable)adUnit adTraits:(CHBAdTraits * _Nullable)adTraits presenterViewController:(UIViewController * _Nullable)presenterViewController customDisplayView:(id <CHBDisplayViewProtocol> _Nullable)customDisplayView ad:(id _Nullable)ad video:(id <CHBVideo> _Nullable)video skAdImpression:(id _Nullable)skAdImpression startEvent:(CHBTrackingEvent * _Nullable)startEvent overlay:(id <CHBOverlayDisplayable> _Nullable)overlay OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

enum CHBNetworkStatus : NSInteger;
enum CHBDeviceType : NSInteger;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacyEnvironment")
@protocol CHBEnvironment
@property (nonatomic, readonly) double screenPixelWidth;
@property (nonatomic, readonly) double screenPixelHeight;
@property (nonatomic, readonly) double screenPointWidth;
@property (nonatomic, readonly) double screenPointHeight;
@property (nonatomic, readonly) double pixelRatio;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation;
@property (nonatomic, readonly) BOOL isPortrait;
@property (nonatomic, readonly) BOOL limitAdTracking;
@property (nonatomic, readonly, copy) NSString * _Nullable make;
@property (nonatomic, readonly, copy) NSString * _Nullable deviceModel;
@property (nonatomic, readonly, copy) NSString * _Nullable deviceModelName;
@property (nonatomic, readonly, copy) NSString * _Nullable osName;
@property (nonatomic, readonly, copy) NSString * _Nullable osVersion;
@property (nonatomic, readonly, copy) NSString * _Nonnull appBundle;
@property (nonatomic, readonly, copy) NSString * _Nonnull appVersion;
@property (nonatomic, readonly, copy) NSString * _Nullable currentUserAgent;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierName;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierISOCountryCode;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierMobileCountryCode;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierNetworkCode;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable radioAccessTechnologies;
@property (nonatomic, readonly, copy) NSString * _Nullable currentRadioAccessTechnology;
@property (nonatomic, readonly) enum CHBNetworkStatus connectionType;
@property (nonatomic, readonly, copy) NSString * _Nullable language;
@property (nonatomic, readonly, copy) NSString * _Nullable localeCountry;
@property (nonatomic, readonly, copy) NSString * _Nullable timeZone;
@property (nonatomic, readonly, copy) NSString * _Nullable ifa;
@property (nonatomic, readonly, copy) NSString * _Nullable ifv;
@property (nonatomic, readonly, copy) NSString * _Nullable chartboostID;
@property (nonatomic, readonly) enum CHBDeviceType deviceType;
@property (nonatomic, readonly) NSInteger userInterfaceIdiom;
@property (nonatomic, readonly, strong) NSNumber * _Nullable usesMetricSystem;
@property (nonatomic, readonly, copy) NSString * _Nullable currencyCode;
@property (nonatomic, readonly, copy) NSString * _Nullable calendarIdentifier;
@property (nonatomic, readonly, strong) NSNumber * _Nullable screenBrightness;
@property (nonatomic, readonly, strong) NSNumber * _Nullable numberOfScreens;
@property (nonatomic, readonly, strong) NSNumber * _Nullable screenMaxFramesPerSecond;
@property (nonatomic, readonly, strong) NSNumber * _Nullable screenCalibratedLatency;
@property (nonatomic, readonly, strong) NSNumber * _Nullable batteryLevel;
@property (nonatomic, readonly, strong) NSNumber * _Nullable batteryCharging;
@property (nonatomic, readonly, strong) NSNumber * _Nullable darkModeEnabled;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable audioOutputTypes;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable audioInputTypes;
@property (nonatomic, readonly, strong) NSNumber * _Nullable audioVolume;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable availableAdNetworkIdentifiers;
@property (nonatomic, readonly) NSTimeInterval currentTimestamp;
@property (nonatomic, readonly, strong) NSNumber * _Nullable trackingStatus;
@property (nonatomic, readonly, copy) NSDate * _Nullable lastLowMemoryWarningDate;
@property (nonatomic, readonly, strong) NSNumber * _Nullable textSize;
@property (nonatomic, readonly, strong) NSNumber * _Nullable boldTextEnabled;
@property (nonatomic, readonly, strong) NSNumber * _Nullable closedCaptioningEnabled;
@property (nonatomic, readonly, strong) NSNumber * _Nullable increasedContrastEnabled;
@property (nonatomic, readonly, strong) NSNumber * _Nullable videoAutoplayEnabled;
@end


/// Obj-C wrapper for the EnvironmentSnapshot type. Should be removed once Environment protocol is non-ObjC and can be conformed to by
/// EnvironmentSnapshot.
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK22CHBEnvironmentSnapshot")
@interface CHBEnvironmentSnapshot : NSObject <CHBEnvironment>
@property (nonatomic, readonly) double screenPixelWidth;
@property (nonatomic, readonly) double screenPixelHeight;
@property (nonatomic, readonly) double screenPointWidth;
@property (nonatomic, readonly) double screenPointHeight;
@property (nonatomic, readonly) double pixelRatio;
@property (nonatomic, readonly) UIInterfaceOrientationMask supportedInterfaceOrientations;
@property (nonatomic, readonly) UIInterfaceOrientation interfaceOrientation;
@property (nonatomic, readonly) BOOL isPortrait;
@property (nonatomic, readonly) BOOL limitAdTracking;
@property (nonatomic, readonly, copy) NSString * _Nullable make;
@property (nonatomic, readonly, copy) NSString * _Nullable deviceModel;
@property (nonatomic, readonly, copy) NSString * _Nullable deviceModelName;
@property (nonatomic, readonly, copy) NSString * _Nullable osName;
@property (nonatomic, readonly, copy) NSString * _Nullable osVersion;
@property (nonatomic, readonly, copy) NSString * _Nonnull appBundle;
@property (nonatomic, readonly, copy) NSString * _Nonnull appVersion;
@property (nonatomic, readonly, copy) NSString * _Nullable currentUserAgent;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierName;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierISOCountryCode;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierMobileCountryCode;
@property (nonatomic, readonly, copy) NSString * _Nullable carrierNetworkCode;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable radioAccessTechnologies;
@property (nonatomic, readonly, copy) NSString * _Nullable currentRadioAccessTechnology;
@property (nonatomic, readonly) enum CHBNetworkStatus connectionType;
@property (nonatomic, readonly, copy) NSString * _Nullable language;
@property (nonatomic, readonly, copy) NSString * _Nullable localeCountry;
@property (nonatomic, readonly, copy) NSString * _Nullable timeZone;
@property (nonatomic, readonly, copy) NSString * _Nullable ifa;
@property (nonatomic, readonly, copy) NSString * _Nullable ifv;
@property (nonatomic, readonly, copy) NSString * _Nullable chartboostID;
@property (nonatomic, readonly) enum CHBDeviceType deviceType;
@property (nonatomic, readonly) NSInteger userInterfaceIdiom;
@property (nonatomic, readonly, strong) NSNumber * _Nullable usesMetricSystem;
@property (nonatomic, readonly, copy) NSString * _Nullable currencyCode;
@property (nonatomic, readonly, copy) NSString * _Nullable calendarIdentifier;
@property (nonatomic, readonly, strong) NSNumber * _Nullable screenBrightness;
@property (nonatomic, readonly, strong) NSNumber * _Nullable numberOfScreens;
@property (nonatomic, readonly, strong) NSNumber * _Nullable screenMaxFramesPerSecond;
@property (nonatomic, readonly, strong) NSNumber * _Nullable screenCalibratedLatency;
@property (nonatomic, readonly, strong) NSNumber * _Nullable batteryLevel;
@property (nonatomic, readonly, strong) NSNumber * _Nullable batteryCharging;
@property (nonatomic, readonly, strong) NSNumber * _Nullable darkModeEnabled;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable audioOutputTypes;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable audioInputTypes;
@property (nonatomic, readonly, strong) NSNumber * _Nullable audioVolume;
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable availableAdNetworkIdentifiers;
@property (nonatomic, readonly) NSTimeInterval currentTimestamp;
@property (nonatomic, readonly, strong) NSNumber * _Nullable trackingStatus;
@property (nonatomic, readonly, copy) NSDate * _Nullable lastLowMemoryWarningDate;
@property (nonatomic, readonly, strong) NSNumber * _Nullable textSize;
@property (nonatomic, readonly, strong) NSNumber * _Nullable boldTextEnabled;
@property (nonatomic, readonly, strong) NSNumber * _Nullable closedCaptioningEnabled;
@property (nonatomic, readonly, strong) NSNumber * _Nullable increasedContrastEnabled;
@property (nonatomic, readonly, strong) NSNumber * _Nullable videoAutoplayEnabled;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK13CHBErrorEvent")
@interface CHBErrorEvent : CHBTrackingEvent
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ImpressionCounter")
@protocol CHBImpressionCounter
- (NSNumber * _Nullable)numberOfImpressionsForAdType:(enum CHBAdUnitType)adType SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Obj-C wrapper for the ImpressionCounterSnapshot type. Should be removed once ImpressionCounter protocol is non-ObjC and can be
/// conformed to by ImpressionCounterSnapshot.
SWIFT_CLASS("_TtC13ChartboostSDK28CHBImpressionCounterSnapshot")
@interface CHBImpressionCounterSnapshot : NSObject <CHBImpressionCounter>
- (NSNumber * _Nullable)numberOfImpressionsForAdType:(enum CHBAdUnitType)adType SWIFT_WARN_UNUSED_RESULT;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK12CHBInfoEvent")
@interface CHBInfoEvent : CHBTrackingEvent
@end



@interface CHBMediation (SWIFT_EXTENSION(ChartboostSDK))
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL("_TtP13ChartboostSDK26CHBViewControllerPresenter_")
@protocol CHBViewControllerPresenter
- (void)presentViewController:(UIViewController * _Nullable)presentedController from:(UIViewController * _Nullable)presentingController animated:(BOOL)animated presentationStyle:(UIModalPresentationStyle)presentationStyle completion:(void (^ _Nullable)(BOOL))completion;
- (void)dismissViewController:(UIViewController * _Nullable)presentedController animated:(BOOL)animated completion:(void (^ _Nullable)(void))completion;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK31CHBModalViewControllerPresenter")
@interface CHBModalViewControllerPresenter : NSObject <CHBViewControllerPresenter>
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)presentViewController:(UIViewController * _Nullable)presentedController from:(UIViewController * _Nullable)presentingController animated:(BOOL)animated presentationStyle:(UIModalPresentationStyle)presentationStyle completion:(void (^ _Nullable)(BOOL))completion;
- (void)dismissViewController:(UIViewController * _Nullable)presentedController animated:(BOOL)animated completion:(void (^ _Nullable)(void))completion;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Provides Obj-C access to the domain string, wrapped in a class because Swift global variables aren’t visible to Obj-C
SWIFT_CLASS("_TtC13ChartboostSDK15CHBParsingError")
@interface CHBParsingError : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class NSUUID;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK28CHBSKANAttributionParameters")
@interface CHBSKANAttributionParameters : NSObject
@property (nonatomic, readonly, copy) NSString * _Nullable adNetworkID;
@property (nonatomic, readonly, copy) NSString * _Nullable attributionSignature;
@property (nonatomic, readonly, strong) NSNumber * _Nullable campaignID;
@property (nonatomic, readonly, copy) NSUUID * _Nullable nonce;
@property (nonatomic, readonly, strong) NSNumber * _Nullable timestamp;
@property (nonatomic, readonly, strong) NSNumber * _Nullable advertiserAppStoreID;
@property (nonatomic, readonly, strong) NSNumber * _Nullable sourceAppStoreID;
@property (nonatomic, readonly, copy) NSString * _Nullable adNetworkVersion;
@property (nonatomic, readonly, copy) NSString * _Nullable productpageid;
@property (nonatomic, readonly, strong) NSNumber * _Nullable sourceidentifier;
- (nonnull instancetype)initWithAdNetworkID:(NSString * _Nullable)adNetworkID attributionSignature:(NSString * _Nullable)attributionSignature campaignID:(NSNumber * _Nullable)campaignID nonce:(NSUUID * _Nullable)nonce timestamp:(NSNumber * _Nullable)timestamp advertiserAppStoreID:(NSNumber * _Nullable)advertiserAppStoreID sourceAppStoreID:(NSNumber * _Nullable)sourceAppStoreID adNetworkVersion:(NSString * _Nullable)adNetworkVersion productpageid:(NSString * _Nullable)productpageid sourceidentifier:(NSNumber * _Nullable)sourceidentifier OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK27CHBSKANOverlayConfiguration")
@interface CHBSKANOverlayConfiguration : NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacySession")
@protocol CHBSession
@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
@property (nonatomic, readonly) NSInteger count;
@property (nonatomic, readonly, strong) NSNumber * _Nullable duration;
+ (void)resetSessionCount;
/// Starts the session timer by setting the internal start date.
/// This method should be called when the SDK successfully completes initialization.
/// The session duration will be calculated from this point forward.
/// note:
/// This method is idempotent. Calling it multiple times will only set the start date on the first call.
/// Subsequent calls have no effect, ensuring the session duration is always measured from the initial start time.
- (void)startSession;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Obj-C wrapper for the SessionSnapshot type. Should be removed once Session protocol is non-ObjC and can be conformed to by
/// SessionSnapshot.
SWIFT_CLASS("_TtC13ChartboostSDK18CHBSessionSnapshot")
@interface CHBSessionSnapshot : NSObject <CHBSession>
@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
@property (nonatomic, readonly) NSInteger count;
@property (nonatomic, readonly, strong) NSNumber * _Nullable duration;
+ (void)resetSessionCount;
- (void)startSession;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS("_TtC13ChartboostSDK23CHBTrackingEventContext")
@interface CHBTrackingEventContext : NSObject
@property (nonatomic, readonly, strong) CHBTrackingEvent * _Nonnull event;
@property (nonatomic, readonly, strong) CHBEnvironmentSnapshot * _Nonnull environment;
@property (nonatomic, readonly, strong) CHBSessionSnapshot * _Nonnull session;
@property (nonatomic, readonly, strong) CHBImpressionCounterSnapshot * _Nonnull impressionCounter;
- (nonnull instancetype)initWithEvent:(CHBTrackingEvent * _Nonnull)event environment:(CHBEnvironmentSnapshot * _Nonnull)environment session:(CHBSessionSnapshot * _Nonnull)session impressionCounter:(CHBImpressionCounterSnapshot * _Nonnull)impressionCounter OBJC_DESIGNATED_INITIALIZER;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


enum CHBCacheErrorCode : NSInteger;
@class NSCoder;

/// An error object passed on cache-related delegate methods.
SWIFT_CLASS_NAMED("CacheError")
@interface CHBCacheError : NSError
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedDescription;
+ (CHBCacheError * _Nonnull)errorWithCode:(enum CHBCacheErrorCode)code SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
+ (CHBCacheError * _Nonnull)errorWithCode:(enum CHBCacheErrorCode)code underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBCacheError * _Nonnull sessionNotStarted SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");)
+ (CHBCacheError * _Nonnull)sessionNotStarted SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

/// Error codes for failed cache operations.
typedef SWIFT_ENUM_NAMED(NSInteger, CHBCacheErrorCode, "CacheErrorCode", open) {
  CHBCacheErrorCodeInternalError = 0,
  CHBCacheErrorCodeInternetUnavailable = 1,
  CHBCacheErrorCodeNetworkFailure = 2,
  CHBCacheErrorCodeNoAdFound = 3,
  CHBCacheErrorCodeSessionNotStarted = 4,
  CHBCacheErrorCodeAssetDownloadFailure = 5,
  CHBCacheErrorCodePublisherDisabled = 6,
  CHBCacheErrorCodeServerError = 7,
  CHBCacheErrorCodeAssetUnavailable = 8,
  CHBCacheErrorCodeInvalidADM = 9,
  CHBCacheErrorCodeVastError = 10,
  CHBCacheErrorCodeWebViewFailed = 11,
};


/// Error type passed by the Chartboost Monetization SDK in its public methods to provide context
/// relative to the failure of a certain operation.
/// You may print a <code>ChartboostMonetizationError</code> directly on the console to read the information it
/// contains. Or, you may read the value of standard <code>NSError</code> properties like <code>localizedDescription</code>,
/// <code>localizedFailureReason</code>, and <code>localizedRecoverySuggestion</code>.
SWIFT_CLASS_NAMED("ChartboostMonetizationError")
@interface CHBError : NSError
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedDescription;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict SWIFT_UNAVAILABLE;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Error 101: Initialization has been disabled by the publisher.
/// Determined by the <code>publisherDisable</code> value in the <code>/config</code> response.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBError * _Nonnull initializationDisabled;)
+ (CHBError * _Nonnull)initializationDisabled SWIFT_WARN_UNUSED_RESULT;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// The underlying error is not disclosed for security reasons.
/// Error 102: Invalid/empty credentials were supplied.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBError * _Nonnull initializationInvalidCredentials;)
+ (CHBError * _Nonnull)initializationInvalidCredentials SWIFT_WARN_UNUSED_RESULT;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Error 103: No Application Context supplied (Android).
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBError * _Nonnull initializationNoContext;)
+ (CHBError * _Nonnull)initializationNoContext SWIFT_WARN_UNUSED_RESULT;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Error 104: Invalid/malformed app configuration received from the ad server.
+ (nonnull instancetype)initializationInvalidConfigurationWithUnderlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Error 105: An internal error happened during initialization.
+ (nonnull instancetype)initializationInternalErrorWithUnderlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Error 106: Ad serving for the operating system version is not supported.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBError * _Nonnull initializationOSVersionNotSupported;)
+ (CHBError * _Nonnull)initializationOSVersionNotSupported SWIFT_WARN_UNUSED_RESULT;
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Error 107: App is missing declared permissions in the Android manifest.
+ (nonnull instancetype)initializationPermissionsNotSetWithUnderlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
@end


@interface CHBError (SWIFT_EXTENSION(ChartboostSDK))
@end

/// Chartboost Monetization SDK error codes.
typedef SWIFT_ENUM_NAMED(NSInteger, CHBErrorCode, "Code", open) {
/// An unknown error has occurred.
  CHBErrorCodeInitializationUnknownError = 100,
/// Initialization has been disabled by the publisher.
/// Determined by the <code>publisherDisable</code> value in the <code>/config</code> response.
  CHBErrorCodeInitializationDisabled = 101,
/// Invalid/empty credentials were supplied.
  CHBErrorCodeInitializationInvalidCredentials = 102,
/// No Application Context supplied (Android).
  CHBErrorCodeInitializationNoContext = 103,
/// Invalid/malformed app configuration received from the ad server.
  CHBErrorCodeInitializationInvalidConfiguration = 104,
/// An internal error happened during initialization.
  CHBErrorCodeInitializationInternalError = 105,
/// Ad serving for the operating system version is not supported.
  CHBErrorCodeInitializationOSVersionNotSupported = 106,
/// App is missing declared permissions in the Android manifest.
  CHBErrorCodeInitializationPermissionsNotSet = 107,
/// An unknown error has occurred.
  CHBErrorCodeConnectivityUnknownError = 200,
/// No Internet connectivity was available.
  CHBErrorCodeConnectivityNoInternet = 201,
/// A networking error has occurred.
  CHBErrorCodeConnectivityNetworkError = 202,
/// Network request failed due to a server error with HTTP error code.
  CHBErrorCodeConnectivityServerError = 203,
/// Network request timed out.
  CHBErrorCodeConnectivityTimedOut = 204,
/// An internal error happened when making a network request.
  CHBErrorCodeConnectivityInternalError = 205,
/// An unknown error has occurred.
  CHBErrorCodeLoadUnknownError = 300,
/// Load has been disabled by the publisher.
/// Determined by the <code>publisherDisable</code> value in the <code>/config</code> response.
  CHBErrorCodeLoadDisabled = 301,
/// SDK initialization not started or still in progress.
  CHBErrorCodeLoadNotInitialized = 302,
/// Ad load already in progress.
  CHBErrorCodeLoadInProgress = 303,
/// Ad is already loaded.
  CHBErrorCodeLoadAlreadyLoaded = 304,
/// Placement is invalid or empty.
  CHBErrorCodeLoadInvalidPlacement = 305,
/// No View Controller provided to load the ad.
  CHBErrorCodeLoadNoContext = 306,
/// Too many ad requests have been made over a short amount of time.
  CHBErrorCodeLoadRateLimited = 307,
/// Ad request was invalid/malformed.
  CHBErrorCodeLoadInvalidRequest = 308,
/// Ad response was invalid/malformed and could not be parsed.
  CHBErrorCodeLoadInvalidResponse = 309,
/// Ad markup string is invalid or empty
  CHBErrorCodeLoadInvalidADM = 310,
/// An internal error happened during ad load.
  CHBErrorCodeLoadInternalError = 311,
/// Insufficient storage to load the ad.
  CHBErrorCodeLoadNoStorage = 312,
/// No ad available.
  CHBErrorCodeLoadNoAd = 313,
/// mraid.js is missing.
  CHBErrorCodeLoadNoMRAIDJS = 314,
/// Invalid HTML document or snippet.
  CHBErrorCodeLoadInvalidHTML = 315,
/// The WebView failed to load the creative.
  CHBErrorCodeLoadWebViewFailed = 316,
/// The WebView process crashed and its process was killed by the system.
  CHBErrorCodeLoadWebViewCrashed = 317,
/// Invalid asset URL.
  CHBErrorCodeLoadInvalidAssetURL = 318,
/// VAST error.
  CHBErrorCodeLoadVASTError = 319,
/// Asset is unavailable.
  CHBErrorCodeLoadAssetUnavailable = 320,
/// Video codec is unsupported.
  CHBErrorCodeLoadUnsupportedCodec = 321,
/// Operation has timed out.
  CHBErrorCodeLoadTimedOut = 322,
/// An unknown error has occurred.
  CHBErrorCodeShowUnknownError = 400,
/// No loaded ad to show.
  CHBErrorCodeShowNoAd = 401,
/// Ad has expired.
  CHBErrorCodeShowAdExpired = 402,
/// Ad has been invalidated.
  CHBErrorCodeShowAdInvalidated = 403,
/// No View Controller to show the ad in.
  CHBErrorCodeShowNoContext = 404,
/// A fullscreen ad is already showing.
  CHBErrorCodeShowFullscreenAlreadyShowing = 405,
/// Operation has timed out.
  CHBErrorCodeShowTimedOut = 406,
/// Asset is unavailable.
/// Cached asset might be evicted before show.
  CHBErrorCodeShowAssetUnavailable = 407,
/// Ad showing has been disabled by the server.
  CHBErrorCodeShowDisabled = 408,
/// SDK initialization not started or still in progress.
  CHBErrorCodeShowNotInitialized = 409,
/// An unknown error has occurred.
  CHBErrorCodeRenderUnknown = 500,
/// There was an error with the video player.
  CHBErrorCodeRenderVideoPlaybackError = 501,
/// Invalid or unrecognized clickthrough.
  CHBErrorCodeRenderInvalidClickthroughURL = 502,
/// Asset is unavailable.
  CHBErrorCodeRenderAssetUnavailable = 503,
/// An internal error happened during ad rendering.
  CHBErrorCodeRenderInternalError = 504,
/// MRAID requested unloading the ad.
  CHBErrorCodeRenderWebViewMRAIDUnload = 505,
/// Web content process terminated.
  CHBErrorCodeRenderWebViewTerminated = 506,
/// SKAN attribution parameters are missing for the store product view controller.
  CHBErrorCodeRenderMissingSKANParameters = 507,
/// An unknown error has occurred.
  CHBErrorCodeOtherUnknownError = 900,
};

enum CHBClickErrorCode : NSInteger;

/// An error object passed on click-related delegate methods.
SWIFT_CLASS_NAMED("ClickError")
@interface CHBClickError : NSError
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedDescription;
+ (CHBClickError * _Nonnull)errorWithCode:(enum CHBClickErrorCode)code SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
+ (CHBClickError * _Nonnull)errorWithCode:(enum CHBClickErrorCode)code underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

/// Error codes for failed click operations.
typedef SWIFT_ENUM_NAMED(NSInteger, CHBClickErrorCode, "ClickErrorCode", open) {
  CHBClickErrorCodeUriInvalid = 0,
  CHBClickErrorCodeUriUnrecognized = 1,
  CHBClickErrorCodeInternalError = 2,
};


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ClickManagerProtocol")
@protocol CHBClickManagerProtocol
- (void)clicked:(CHBClick * _Nonnull)click overrideOpener:(BOOL)overrideOpener;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Configuration for <code>ClickthroughHandler</code>.
SWIFT_PROTOCOL_NAMED("ClickthroughHandlerConfiguration")
@protocol CHBClickthroughHandlerConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval redirectTimeout;)
+ (NSTimeInterval)redirectTimeout SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ConfigApiClient")
@protocol CHBConfigApiClient
- (void)loadConfigWithCompletion:(void (^ _Nonnull)(NSDictionary<NSString *, id> * _Nullable, NSError * _Nullable))completion;
@end


@protocol CHBConfigUpdaterProtocol;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("ConfigUpdaterFactory")
@interface CHBConfigUpdaterFactory : NSObject
- (id <CHBConfigUpdaterProtocol> _Nonnull)makeConfigUpdaterWithApiClient:(id <CHBConfigApiClient> _Nonnull)apiClient SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@class CHBStartError;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ConfigUpdaterProtocol")
@protocol CHBConfigUpdaterProtocol
@property (nonatomic, readonly) BOOL needsToUpdate;
- (void)updateConfigWithCompletion:(void (^ _Nullable)(CHBStartError * _Nullable))completion;
- (void)clearData;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ConsentRepository")
@protocol CHBConsentRepository <NSObject>
@property (nonatomic, readonly, strong) NSNumber * _Nullable coppa;
@property (nonatomic, readonly, strong) NSNumber * _Nullable gdprConsent;
@property (nonatomic, readonly, copy) NSString * _Nullable gpp;
@property (nonatomic, readonly, copy) NSString * _Nullable gppSID;
@property (nonatomic, readonly, copy) NSString * _Nullable tcf;
@property (nonatomic, readonly, copy) NSString * _Nullable usPrivacy;
@end

@protocol CHBWebProxy;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("WebViewFactory")
@protocol CHBWebViewFactory
- (id <CHBWebProxy> _Nonnull)makeWebProxyWith:(CGRect)frame SWIFT_WARN_UNUSED_RESULT;
- (CHBWebView * _Nonnull)makeWebViewWith:(CGRect)frame suppressingIncrementalRendering:(BOOL)suppressingIncrementalRendering SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("DefaultWebViewFactory")
@interface CHBDefaultWebViewFactory : NSObject <CHBWebViewFactory>
- (id <CHBWebProxy> _Nonnull)makeWebProxyWith:(CGRect)frame SWIFT_WARN_UNUSED_RESULT;
- (CHBWebView * _Nonnull)makeWebViewWith:(CGRect)frame suppressingIncrementalRendering:(BOOL)suppressingIncrementalRendering SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@protocol CHBIdentifierProvider;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("DeviceIdentifierProviderFactory")
@interface CHBDeviceIdentifierProviderFactory : NSObject
- (id <CHBIdentifierProvider> _Nonnull)makeDeviceIdentifierProvider SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSInteger, CHBDeviceType, "DeviceType", open) {
  CHBDeviceTypeIPhone = 0,
  CHBDeviceTypeIPad = 1,
};

@class WKWebView;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("DisplayLifeCycleDelegate")
@protocol CHBDisplayLifeCycleDelegate
- (void)willDisplayRequest:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)didShowDisplayRequest:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)didRecordImpression:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)didFailToShowDisplayRequest:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)close:(CHBDisplayRequest * _Nonnull)displayRequest withError:(NSError * _Nullable)withError;
- (void)dismiss:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)didCompleteRewardedDisplayRequest:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)didStartRenderingContentForRequest:(CHBDisplayRequest * _Nonnull)displayRequest;
- (void)didFinishLoadingContentForRequest:(CHBDisplayRequest * _Nonnull)displayRequest success:(BOOL)success webView:(WKWebView * _Nullable)webView;
- (void)playVideo;
- (void)pauseVideo;
- (void)closeVideo;
- (void)setMuted:(BOOL)muted;
- (void)displayAppSheet;
- (void)handleClick:(CHBDisplayRequest * _Nonnull)displayRequest url:(NSURL * _Nonnull)url shouldDismiss:(BOOL)shouldDismiss overrideOpener:(BOOL)overrideOpener completion:(void (^ _Nonnull)(BOOL, NSString * _Nonnull))completion;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("DisplayViewProtocol")
@protocol CHBDisplayViewProtocol
@property (nonatomic, strong) id <CHBWebViewFactory> _Nullable webViewFactory;
@property (nonatomic, readonly) BOOL suppressWebViewIncrementalRendering;
@property (nonatomic, readonly, strong) UIWindow * _Nullable window;
- (void)load:(CHBAdConfiguration * _Nonnull)config;
- (void)unload;
- (void)didStartRenderingContent;
- (void)didFinishLoadingContentWithSuccess:(BOOL)success webView:(WKWebView * _Nullable)webView;
- (void)removeBackgroundView;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("EndpointConstants")
@interface CHBEndpointConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable install;)
+ (NSString * _Nullable)install SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable config;)
+ (NSString * _Nullable)config SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable interstitialShow;)
+ (NSString * _Nullable)interstitialShow SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable bannerShow;)
+ (NSString * _Nullable)bannerShow SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable rewardedShow;)
+ (NSString * _Nullable)rewardedShow SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable webPrefetch;)
+ (NSString * _Nullable)webPrefetch SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable videoComplete;)
+ (NSString * _Nullable)videoComplete SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable click;)
+ (NSString * _Nullable)click SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable defaultEventTrack;)
+ (NSString * _Nullable)defaultEventTrack SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable postInstallEventIAP;)
+ (NSString * _Nullable)postInstallEventIAP SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable rewardedGet;)
+ (NSString * _Nullable)rewardedGet SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable interstitialGet;)
+ (NSString * _Nullable)interstitialGet SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nullable bannerGet;)
+ (NSString * _Nullable)bannerGet SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull dummy;)
+ (NSString * _Nonnull)dummy SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@protocol CHBSDKSettings;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("EventBodyBuilder")
@interface CHBEventBodyBuilder : NSObject
- (nonnull instancetype)initWithContext:(CHBTrackingEventContext * _Nonnull)context settings:(id <CHBSDKSettings> _Nonnull)settings consents:(NSDictionary<NSString *, NSString *> * _Nonnull)consents OBJC_DESIGNATED_INITIALIZER;
- (NSDictionary<NSString *, id> * _Nullable)buildBodyDictionaryWithEventName:(NSString * _Nonnull)eventName SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

@protocol CHBTrackEventRepository;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("EventStoreFactory")
@interface CHBEventStoreFactory : NSObject
- (id <CHBTrackEventRepository> _Nonnull)makeTrackEventFileStoreRepository SWIFT_WARN_UNUSED_RESULT;
- (id <CHBAdFreezeInfoRepository> _Nonnull)makeAdFreezeInfoFileStoreRepository SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("EventTracker")
@protocol CHBEventTracker
- (void)track:(CHBTrackingEvent * _Nonnull)event;
- (void)trackWithEventContext:(CHBTrackingEventContext * _Nonnull)eventContext;
@end

@protocol CHBTrackerAPIClientProtocol;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("EventTrackerFactory")
@interface CHBEventTrackerFactory : NSObject
- (id <CHBEventTracker> _Nonnull)makeEventTrackerWithApiClient:(id <CHBTrackerAPIClientProtocol> _Nonnull)apiClient eventRepository:(id <CHBTrackEventRepository> _Nonnull)eventRepository SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("FailableQueueDispatcher")
@protocol CHBFailableQueueDispatcher
- (void)executeOnBackgroundQueue:(void (^ _Nonnull)(void))block;
- (void)executeWithDelay:(NSTimeInterval)delay onBackgroundQueue:(void (^ _Nonnull)(void))block;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSUInteger, CHBFriendlyObstructionType, "FriendlyObstructionType", open) {
  CHBFriendlyObstructionTypeMediaControls = 0,
  CHBFriendlyObstructionTypeCloseAd = 1,
  CHBFriendlyObstructionTypeNotVisible = 2,
  CHBFriendlyObstructionTypeOther = 3,
};


@protocol CHBMeasurementTrackerProtocol;
@protocol CHBVisibilityTracker;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("HTMLWebViewController")
@interface CHBHTMLWebViewController : NSObject <CHBAdWebViewController>
@property (nonatomic, weak) id <CHBVideoPlayerDataSource> _Nullable videoPlayerDataSource;
- (nonnull instancetype)initWithDisplayLifeCycle:(id <CHBDisplayLifeCycleDelegate> _Nonnull)displayLifeCycle displayRequest:(CHBDisplayRequest * _Nonnull)displayRequest clickManager:(id <CHBClickManagerProtocol> _Nonnull)clickManager measurementTracker:(id <CHBMeasurementTrackerProtocol> _Nonnull)measurementTracker viewableTracker:(id <CHBVisibilityTracker> _Nonnull)viewableTracker OBJC_DESIGNATED_INITIALIZER;
- (void)pause;
- (void)resume;
- (void)overlayDisplayed;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end




/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("WebViewOverlayDelegate")
@protocol CHBWebViewOverlayDelegate
- (void)webViewOverlayInfoIconClickedWith:(NSURL * _Nonnull)url;
@end


@interface CHBHTMLWebViewController (SWIFT_EXTENSION(ChartboostSDK)) <CHBWebViewOverlayDelegate>
- (void)webViewOverlayInfoIconClickedWith:(NSURL * _Nonnull)url;
@end

@class UIGestureRecognizer;

@interface CHBHTMLWebViewController (SWIFT_EXTENSION(ChartboostSDK)) <UIGestureRecognizerDelegate>
- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer * _Nonnull)otherGestureRecognizer SWIFT_WARN_UNUSED_RESULT;
@end



@interface CHBHTMLWebViewController (SWIFT_EXTENSION(ChartboostSDK))
- (BOOL)webView:(CHBWebView * _Nonnull)webView shouldStartLoadWithRequest:(NSURLRequest * _Nonnull)request navigationType:(enum CHBWebViewNavigationType)navigationType SWIFT_WARN_UNUSED_RESULT;
- (void)webViewDidStartLoad:(CHBWebView * _Nonnull)webView;
- (void)webViewDidStartRendering:(CHBWebView * _Nonnull)webView;
- (void)webViewDidFinishLoad:(CHBWebView * _Nonnull)webView;
- (void)webView:(CHBWebView * _Nonnull)webView didFailLoadWithError:(NSError * _Nonnull)error;
@end


@interface CHBHTMLWebViewController (SWIFT_EXTENSION(ChartboostSDK))
- (void)didStartPlayingVideo:(id <CHBVideo> _Nonnull)video;
- (void)didFinishPlayingVideo:(id <CHBVideo> _Nonnull)video;
- (void)didFailToPlayVideo:(id <CHBVideo> _Nonnull)video error:(NSError * _Nullable)error;
- (void)didChangeVideoPlaybackTime:(id <CHBVideo> _Nonnull)video playbackTime:(NSTimeInterval)playbackTime;
- (void)volumeChangeTo:(CGFloat)playerVolume;
- (void)didBufferStart;
- (void)didBufferEnd;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("HeaderConstants")
@interface CHBHeaderConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull reachabilityHeaderKey;)
+ (NSString * _Nonnull)reachabilityHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull clientHeaderKey;)
+ (NSString * _Nonnull)clientHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull apiHeaderKey;)
+ (NSString * _Nonnull)apiHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull testHeaderKey;)
+ (NSString * _Nonnull)testHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull dspHeaderKey;)
+ (NSString * _Nonnull)dspHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull acceptHeaderKey;)
+ (NSString * _Nonnull)acceptHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull contentTypeHeaderKey;)
+ (NSString * _Nonnull)contentTypeHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull appHeaderKey;)
+ (NSString * _Nonnull)appHeaderKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull signatureHeaderKey;)
+ (NSString * _Nonnull)signatureHeaderKey SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("IAPPaymentObserverConfiguration")
@protocol CHBIAPPaymentObserverConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL autoIAPTrackingEnabled;)
+ (BOOL)autoIAPTrackingEnabled SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("IdentifierProvider")
@protocol CHBIdentifierProvider
@property (nonatomic, readonly, copy) NSString * _Nullable ifa;
@property (nonatomic, readonly) BOOL isAdTrackingLimited;
@property (nonatomic, readonly, copy) NSString * _Nullable ifv;
@property (nonatomic, readonly, copy) NSString * _Nonnull chartboostID;
@property (nonatomic, readonly, strong) NSNumber * _Nullable trackingStatus;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ImpressionTracker")
@protocol CHBImpressionTracker
/// API for tracking impressions with the Old Rendering Pipeline.
- (void)trackImpression:(CHBDisplayRequest * _Nonnull)request;
/// API for tracking impressions with the New Rendering Pipeline.
- (void)trackImpressionFor:(enum CHBAdUnitType)adType;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Provides the initialization status of the SDK.
SWIFT_PROTOCOL_NAMED("InitializationStatusProvider")
@protocol CHBInitializationStatusProvider
/// <code>true</code> if the SDK is initialized, <code>false</code> otherwise.
@property (nonatomic, readonly) BOOL isInitialized;
/// <code>true</code> if the publisher has been disabled by backend.
@property (nonatomic, readonly) BOOL isPublisherDisabled;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacyAdControllerProtocol")
@protocol CHBLegacyAdControllerProtocol <NSObject>
@property (nonatomic, readonly) BOOL isAdCached;
@property (nonatomic, readonly) BOOL isAdShowing;
- (void)initialize;
- (void)cacheAd;
- (void)cacheAdWithBidResponse:(NSString * _Nonnull)bidResponse;
- (void)clearAdCache;
- (void)showAdFromViewController:(UIViewController * _Nonnull)viewController;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSUInteger, CHBClickType, "LegacyClickType", open) {
  CHBClickTypeCbClick = 0,
  CHBClickTypeMRAIDOpen = 1,
};



@class NSValue;
enum CHBVideoLoadedState : NSInteger;
@protocol CHBVideoPlayDelegate;
@class AVPlayerLayer;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacyVideo")
@protocol CHBVideo
@property (nonatomic, readonly, copy) NSURL * _Nonnull url;
@property (nonatomic, readonly) NSTimeInterval duration;
@property (nonatomic, readonly, copy) NSArray<NSValue *> * _Nonnull loadedTimeRanges;
@property (nonatomic, readonly) enum CHBVideoLoadedState loadedState;
@property (nonatomic) BOOL muted;
@property (nonatomic) CGFloat audioLevel;
@property (nonatomic, weak) id <CHBVideoPlayDelegate> _Nullable playDelegate;
- (void)play;
- (void)pause;
- (void)prepareToPlayOnLayer:(AVPlayerLayer * _Nonnull)layer;
- (BOOL)isPreparedToPlayOnLayer:(AVPlayerLayer * _Nonnull)layer SWIFT_WARN_UNUSED_RESULT;
- (id _Nonnull)addObserverForPlaybackTimeWithFrequency:(NSTimeInterval)frequency usingBlock:(void (^ _Nonnull)(NSTimeInterval))usingBlock SWIFT_WARN_UNUSED_RESULT;
- (void)removePlaybackTimeObserver:(id _Nonnull)observer;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("LegacyWebView")
@interface CHBWebView : UIView
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)destroy;
- (void)loadHtml:(NSURL * _Nonnull)html assetsURL:(NSURL * _Nonnull)assetsURL;
- (void)loadHtmlString:(NSString * _Nonnull)htmlString baseURL:(NSURL * _Nonnull)baseURL;
- (void)evaluateJavaScript:(NSString * _Nonnull)javascript completionHandler:(void (^ _Nullable)(id _Nullable, NSError * _Nullable))completionHandler;
- (void)stopLoading;
@property (nonatomic, readonly, strong) WKWebView * _Nullable nativeWebView;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@class WKWebViewConfiguration;
@class WKNavigationAction;
@class WKWindowFeatures;
@class WKFrameInfo;

@interface CHBWebView (SWIFT_EXTENSION(ChartboostSDK)) <WKUIDelegate>
- (WKWebView * _Nullable)webView:(WKWebView * _Nonnull)webView createWebViewWithConfiguration:(WKWebViewConfiguration * _Nonnull)configuration forNavigationAction:(WKNavigationAction * _Nonnull)navigationAction windowFeatures:(WKWindowFeatures * _Nonnull)windowFeatures SWIFT_WARN_UNUSED_RESULT;
- (void)webView:(WKWebView * _Nonnull)webView runJavaScriptAlertPanelWithMessage:(NSString * _Nonnull)message initiatedByFrame:(WKFrameInfo * _Nonnull)frame completionHandler:(void (^ _Nonnull)(void))completionHandler;
- (void)webView:(WKWebView * _Nonnull)webView runJavaScriptConfirmPanelWithMessage:(NSString * _Nonnull)message initiatedByFrame:(WKFrameInfo * _Nonnull)frame completionHandler:(void (^ _Nonnull)(BOOL))completionHandler;
- (void)webView:(WKWebView * _Nonnull)webView runJavaScriptTextInputPanelWithPrompt:(NSString * _Nonnull)prompt defaultText:(NSString * _Nullable)defaultText initiatedByFrame:(WKFrameInfo * _Nonnull)frame completionHandler:(void (^ _Nonnull)(NSString * _Nullable))completionHandler;
@end

@class WKNavigation;

@interface CHBWebView (SWIFT_EXTENSION(ChartboostSDK)) <WKNavigationDelegate>
- (void)webView:(WKWebView * _Nonnull)webView decidePolicyForNavigationAction:(WKNavigationAction * _Nonnull)navigationAction decisionHandler:(void (^ _Nonnull)(WKNavigationActionPolicy))decisionHandler;
- (void)webView:(WKWebView * _Nonnull)webView didStartProvisionalNavigation:(WKNavigation * _Null_unspecified)navigation;
- (void)webView:(WKWebView * _Nonnull)webView didFailProvisionalNavigation:(WKNavigation * _Null_unspecified)navigation withError:(NSError * _Nonnull)error;
- (void)webView:(WKWebView * _Nonnull)webView didCommitNavigation:(WKNavigation * _Null_unspecified)navigation;
- (void)webView:(WKWebView * _Nonnull)webView didFinishNavigation:(WKNavigation * _Null_unspecified)navigation;
- (void)webView:(WKWebView * _Nonnull)webView didFailNavigation:(WKNavigation * _Null_unspecified)navigation withError:(NSError * _Nonnull)error;
- (void)webViewWebContentProcessDidTerminate:(WKWebView * _Nonnull)webView;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("LegacyWebViewConfiguration")
@protocol CHBLegacyWebViewConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL redirectOpenToNativeBrowser;)
+ (BOOL)redirectOpenToNativeBrowser SWIFT_WARN_UNUSED_RESULT;
@end


@class NSURLResponse;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("LoadAdResponseParser")
@interface CHBLoadAdResponseParser : NSObject
+ (CHBAdUnit * _Nullable)adUnitFromDictionary:(NSDictionary<NSString *, id> * _Nonnull)dictionary response:(NSURLResponse * _Nonnull)response adTraits:(CHBAdTraits * _Nonnull)adTraits error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
+ (CHBAdUnit * _Nullable)adUnitFromOpenRTBResponse:(NSDictionary<NSString *, id> * _Nonnull)response adTraits:(CHBAdTraits * _Nonnull)adTraits SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("MeasurementManagerProtocol")
@protocol CHBMeasurementManagerProtocol
@property (nonatomic, readonly, copy) NSString * _Nonnull omidJSResource;
@property (nonatomic, readonly, copy) NSString * _Nonnull omidPartnerName;
@property (nonatomic, readonly, copy) NSString * _Nonnull omidVersionString;
@property (nonatomic, readonly, copy) NSString * _Nonnull omidSDKVersion;
@property (nonatomic, readonly, copy) NSString * _Nonnull omidSDKVersionCached;
@property (nonatomic, readonly) BOOL isActive;
@property (nonatomic, readonly) BOOL isActiveCached;
- (void)activateMeasurement;
- (NSString * _Nonnull)injectJSWithHtml:(NSString * _Nonnull)html SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("MeasurementTrackerProtocol")
@protocol CHBMeasurementTrackerProtocol
- (void)clicked;
- (void)setupSessionWithWebView:(WKWebView * _Nonnull)webView verificationsScripts:(NSArray<NSDictionary<NSString *, id> *> * _Nonnull)verificationsScripts;
- (void)startSession;
- (void)stopSession;
- (void)signalLoadAdEventWithSkipOffset:(NSNumber * _Nullable)skipOffset;
- (void)signalImpressionAdEvent;
- (void)startWithDuration:(CGFloat)duration mediaPlayerVolume:(CGFloat)mediaPlayerVolume;
- (void)measureQuartileChangeWithPlayBackTime:(NSTimeInterval)playBackTime totalDuration:(NSTimeInterval)totalDuration;
- (void)complete;
- (void)pause;
- (void)resume;
- (void)skipped;
- (void)bufferStart;
- (void)bufferFinish;
- (void)volumeChangeToPlayerVolume:(CGFloat)playerVolume;
- (void)addFriendlyObstruction:(UIView * _Nonnull)obstruction type:(enum CHBFriendlyObstructionType)type reason:(NSString * _Nullable)reason;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// The concrete implementation of <code>AdControllerFactory</code>.
SWIFT_CLASS_NAMED("MonetizationAdControllerFactory")
@interface CHBMonetizationAdControllerFactory : NSObject <CHBAdControllerFactory>
- (id <CHBAdController> _Nonnull)makeAdControllerWithAdType:(enum CHBAdUnitType)adType adSize:(CGSize)adSize location:(NSString * _Nonnull)location mediation:(CHBMediation * _Nullable)mediation legacyAdController:(id <CHBLegacyAdControllerProtocol> _Nonnull)legacyAdController delegate:(id <CHBAdControllerDelegate> _Nonnull)delegate SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("MonetizationBackendEventLogger") SWIFT_AVAILABILITY(ios,introduced=13)
@interface CHBMonetizationBackendEventLogger : NSObject <CHBBackendSessionEventLogger>
/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// The Obj-C implementation is only needed for session trackers, which do not have any fields
/// populated.
/// This can be removed when <code>CHBSDKStarter</code> has been migrated to Swift, and we can use the
/// <code>sessionEventLogger</code> in the dependencies container instead.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)trackInitializationWithError:(CHBError * _Nullable)error;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// The concrete implementation of <code>BidTokenGenerator</code>.
SWIFT_CLASS_NAMED("MonetizationBidTokenGenerator")
@interface CHBMonetizationBidTokenGenerator : NSObject <CHBBidTokenGenerator>
/// Generates a bid token with info needed by our servers to bid in an ad auction.
- (NSString * _Nullable)generateBidToken SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("MonetizationConsentRepository")
@interface CHBMonetizationConsentRepository : NSObject <CHBConsentRepository>
@property (nonatomic, readonly, strong) NSNumber * _Nullable coppa;
@property (nonatomic, readonly, strong) NSNumber * _Nullable gdprConsent;
@property (nonatomic, readonly, copy) NSString * _Nullable gpp;
/// GPP section IDs as a string.
/// The string can be comma-separated (e.g., “2,6,7”) or underscore-separated (e.g., “2_6_7”).
@property (nonatomic, readonly, copy) NSString * _Nullable gppSID;
@property (nonatomic, readonly, copy) NSString * _Nullable tcf;
@property (nonatomic, readonly, copy) NSString * _Nullable usPrivacy;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// The concrete implementation of <code>NetworkInfo</code>.
SWIFT_CLASS_NAMED("MonetizationNetworkInfo")
@interface CHBMonetizationNetworkInfo : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBMonetizationNetworkInfo * _Nonnull shared;)
+ (CHBMonetizationNetworkInfo * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
- (void)startObservingNetworkStatus;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


@interface NSError (SWIFT_EXTENSION(ChartboostSDK))
/// IMPORTANT: For 64-bit and iPhone OS applications, there is a linker bug that prevents -ObjC from loading objects files from static
/// libraries that contain only categories and no classes. The workaround is to use the -all_load or -force_load flags. -all_load
/// forces the linker to load all object files from every archive it sees, even those without Objective-C code. -force_load is available
/// in Xcode 3.2 and later. It allows finer grain control of archive loading. Each -force_load option must be followed by a path to an
/// archive, and every object file in that archive will be loaded.
/// The Solution applied here is to include this trackDescription method inside of a file that already contains other classes so it
/// gets linked.
- (NSString * _Nonnull)trackDescription SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Network reachability status.
typedef SWIFT_ENUM_NAMED(NSInteger, CHBNetworkStatus, "NetworkStatus", open) {
  CHBNetworkStatusUnknown = -1,
/// The network is not reachable.
  CHBNetworkStatusNotReachable = 0,
/// The network is reachable via WiFi.
  CHBNetworkStatusReachableViaWiFi = 1,
/// The network is reachable via WWAN (Wireless Wide Area Network, typically cellular).
  CHBNetworkStatusReachableViaWWAN = 2,
};

@protocol CHBOcurrenceLimitEventThrottlerConfiguration;
@protocol CHBOmSdkProtocol;
@protocol CHBOpenMeasurementManagerConfiguration;
@protocol CHBRenderingPipelineConfiguration;
@protocol CHBSessionEventTrackersConfiguration;
@protocol CHBSnapshotTakerConfiguration;
@protocol CHBThrottlingEventTrackerConfiguration;
@protocol CHBTrackEventRepositoryConfiguration;
@protocol CHBViewControllerPresenterConfiguration;
@protocol CHBVisibilityTrackerConfiguration;
@protocol CHBPaymentObserver;
@protocol CHBQueueDispatcher;
@protocol CHBSnapshotTaker;
@protocol CHBUserAgentFetcher;
@protocol CHBUserDefaultsProtocol;
@protocol CHBVideoStore;
@class CHBWKWebViewFactory;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Holds references to Obj-C foundational objects to be used as dependencies for the creation of other objects.
SWIFT_PROTOCOL_NAMED("ObjCDependenciesContainer")
@protocol CHBObjCDependenciesContainer
@property (nonatomic, readonly, strong) id <CHBApplication> _Nonnull application;
@property (nonatomic, readonly, strong) id <CHBAssetCacheManager> _Nonnull assetCacheManager;
@property (nonatomic, readonly, strong) id <CHBBidTokenGenerator> _Nonnull bidTokenGenerator;
@property (nonatomic, readonly, strong) id <CHBEnvironment> _Nonnull currentEnvironment;
@property (nonatomic, readonly, strong) id <CHBSession> _Nonnull currentSession;
@property (nonatomic, readonly, strong) id <CHBEventTracker> _Nonnull eventTracker;
@property (nonatomic, readonly, strong) id <CHBImpressionCounter, CHBImpressionTracker> _Nonnull impressionTracker;
@property (nonatomic, readonly, strong) id <CHBInitializationStatusProvider> _Nonnull initializationStatusProvider;
@property (nonatomic, readonly, strong) id <CHBViewControllerPresenter> _Nonnull legacyViewControllerPresenter;
@property (nonatomic, readonly, strong) id <CHBMeasurementManagerProtocol> _Nonnull measurementManager;
@property (nonatomic, readonly) Class <CHBAdWebViewControllerConfiguration, CHBClickthroughHandlerConfiguration, CHBIAPPaymentObserverConfiguration, CHBLegacyWebViewConfiguration, CHBOcurrenceLimitEventThrottlerConfiguration, CHBOmSdkProtocol, CHBOpenMeasurementManagerConfiguration, CHBRenderingPipelineConfiguration, CHBSessionEventTrackersConfiguration, CHBSnapshotTakerConfiguration, CHBThrottlingEventTrackerConfiguration, CHBTrackEventRepositoryConfiguration, CHBViewControllerPresenterConfiguration, CHBVisibilityTrackerConfiguration> _Nonnull objcConfiguration;
@property (nonatomic, readonly, strong) id <CHBPaymentObserver> _Nonnull paymentObserver;
@property (nonatomic, readonly, strong) id <CHBQueueDispatcher> _Nonnull queueDispatcher;
@property (nonatomic, readonly, strong) id <CHBSDKSettings> _Nonnull sdkSettings;
@property (nonatomic, readonly, strong) id <CHBSnapshotTaker> _Nonnull snapshotTaker;
@property (nonatomic, readonly, strong) id <CHBUserAgentFetcher> _Nonnull userAgentFetcher;
@property (nonatomic, readonly, strong) id <CHBUserDefaultsProtocol> _Nonnull userDefaults;
@property (nonatomic, readonly, strong) id <CHBUserDefaultsProtocol> _Nonnull userDefaultsLegacy;
@property (nonatomic, readonly, strong) id <CHBVideoStore> _Nonnull videoStore;
@property (nonatomic, readonly, strong) CHBWKWebViewFactory * _Nonnull wkWebViewFactory;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// A type that holds a dependencies container.
/// Used to access the Obj-C dependencies container from the Swift dependencies container.
SWIFT_PROTOCOL_NAMED("ObjCDependenciesContainerProvider")
@protocol CHBObjCDependenciesContainerProvider
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) id <CHBObjCDependenciesContainer> _Nonnull dependenciesContainer;)
+ (id <CHBObjCDependenciesContainer> _Nonnull)dependenciesContainer SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("ObjCLogLevelWrapper")
@interface CHBObjCLogLevelWrapper : NSObject
+ (void)setLoggingLevel:(CBLoggingLevel)loggingLevel;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("OcurrenceLimitEventThrottlerConfiguration")
@protocol CHBOcurrenceLimitEventThrottlerConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class) NSInteger eventLimit;)
+ (NSInteger)eventLimit SWIFT_WARN_UNUSED_RESULT;
+ (void)setEventLimit:(NSInteger)newValue;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class) NSTimeInterval windowDuration;)
+ (NSTimeInterval)windowDuration SWIFT_WARN_UNUSED_RESULT;
+ (void)setWindowDuration:(NSTimeInterval)newValue;
@end

@class CHBOpenMeasurementVerificationModel;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("OmSdkProtocol")
@protocol CHBOmSdkProtocol
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL omSdkEnabled;)
+ (BOOL)omSdkEnabled SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL omSdkVerificationEnabled;)
+ (BOOL)omSdkVerificationEnabled SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<CHBOpenMeasurementVerificationModel *> * _Nullable omSdkVerification;)
+ (NSArray<CHBOpenMeasurementVerificationModel *> * _Nullable)omSdkVerification SWIFT_WARN_UNUSED_RESULT;
@end

@class CHBOpenMeasurementVerificationResource;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("OpenMeasurementManagerConfiguration")
@protocol CHBOpenMeasurementManagerConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL isOMEnabled;)
+ (BOOL)isOMEnabled SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<CHBOpenMeasurementVerificationResource *> * _Nonnull omVerificationResources;)
+ (NSArray<CHBOpenMeasurementVerificationResource *> * _Nonnull)omVerificationResources SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("OpenMeasurementManagerFactory")
@interface CHBOpenMeasurementManagerFactory : NSObject
- (id <CHBMeasurementManagerProtocol> _Nonnull)makeManager SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("OpenMeasurementTrackerFactoryProtocol")
@protocol CHBOpenMeasurementTrackerFactoryProtocol
- (id <CHBMeasurementTrackerProtocol> _Nullable)makeTrackerWith:(CHBAdUnit * _Nonnull)adUnit SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("OpenMeasurementTrackerFactory")
@interface CHBOpenMeasurementTrackerFactory : NSObject <CHBOpenMeasurementTrackerFactoryProtocol>
- (id <CHBMeasurementTrackerProtocol> _Nullable)makeTrackerWith:(CHBAdUnit * _Nonnull)adUnit SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("OpenMeasurementVerificationModel")
@interface CHBOpenMeasurementVerificationModel : NSObject
- (nonnull instancetype)initWithUrl:(NSString * _Nullable)url vendor:(NSString * _Nullable)vendor params:(NSString * _Nullable)params OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// An internal model that contains the info required to create an <code>OMIDChartboostVerificationScriptResource</code>.
SWIFT_CLASS_NAMED("OpenMeasurementVerificationResource")
@interface CHBOpenMeasurementVerificationResource : NSObject
- (nonnull instancetype)initWithUrl:(NSURL * _Nonnull)url vendor:(NSString * _Nullable)vendor parameters:(NSString * _Nullable)parameters OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// IAB values defined in https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list–connection-types-
typedef SWIFT_ENUM_NAMED(NSUInteger, CHBOpenRTBConnectionType, "OpenRTBConnectionType", open) {
/// Unknown connection type.
  CHBOpenRTBConnectionTypeUnknown = 0,
/// Ethernet network connection.
  CHBOpenRTBConnectionTypeEthernet = 1,
/// WiFi network connection.
  CHBOpenRTBConnectionTypeWifi = 2,
/// Cellular network connection of unknown generation.
  CHBOpenRTBConnectionTypeCellularUnknown = 3,
/// 2G cellular network connection.
  CHBOpenRTBConnectionTypeCellular2G = 4,
/// 3G cellular network connection.
  CHBOpenRTBConnectionTypeCellular3G = 5,
/// 4G cellular network connection.
  CHBOpenRTBConnectionTypeCellular4G = 6,
/// 5G cellular network connection.
  CHBOpenRTBConnectionTypeCellular5G = 7,
};


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("OpenRTBConnectionTypeParser")
@interface CHBOpenRTBConnectionTypeParser : NSObject
+ (enum CHBOpenRTBConnectionType)parseNetworkStatus:(enum CHBNetworkStatus)networkStatus radioAccessTechnology:(NSString * _Nullable)radioAccessTechnology SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("Opener")
@protocol CHBURLOpener
@property (nonatomic) BOOL isHandlingClick;
@property (nonatomic, readonly) BOOL canBeClosedBeforeHand;
@property (nonatomic, copy) NSString * _Nullable iTunesId;
@property (nonatomic, readonly, copy) NSURL * _Nullable url;
- (void)openURL:(NSURL * _Nullable)url from:(UIViewController * _Nullable)viewController viewerPresentation:(void (^ _Nullable)(BOOL))viewerPresentation viewerDismissal:(void (^ _Nullable)(BOOL))viewerDismissal;
- (void)closeOpener;
- (void)loadOpener;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("OverlayDisplayable")
@protocol CHBOverlayDisplayable
- (void)presentOverlayWithWindow:(UIWindow * _Nonnull)window overlayPresented:(void (^ _Nullable)(NSError * _Nullable))overlayPresented overlayDismissed:(void (^ _Nullable)(void))overlayDismissed;
- (void)dismissOverlay;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("OverlayDisplayableFactory") SWIFT_AVAILABILITY(ios,introduced=14.3)
@interface CHBOverlayDisplayableFactory : NSObject
- (id <CHBOverlayDisplayable> _Nullable)makeOverlayDisplayableWithAdUnit:(CHBAdUnit * _Nonnull)adUnit SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("ParamConstants")
@interface CHBParamConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull containerAd;)
+ (NSString * _Nonnull)containerAd SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull containerApp;)
+ (NSString * _Nonnull)containerApp SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull containerDevice;)
+ (NSString * _Nonnull)containerDevice SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull containerSDK;)
+ (NSString * _Nonnull)containerSDK SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull cache;)
+ (NSString * _Nonnull)cache SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull raw;)
+ (NSString * _Nonnull)raw SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull identity;)
+ (NSString * _Nonnull)identity SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull limitAdTrackingOSLevel;)
+ (NSString * _Nonnull)limitAdTrackingOSLevel SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull dataUseConsent;)
+ (NSString * _Nonnull)dataUseConsent SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull privacy;)
+ (NSString * _Nonnull)privacy SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull model;)
+ (NSString * _Nonnull)model SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull make;)
+ (NSString * _Nonnull)make SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull ui;)
+ (NSString * _Nonnull)ui SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull os;)
+ (NSString * _Nonnull)os SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull country;)
+ (NSString * _Nonnull)country SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull language;)
+ (NSString * _Nonnull)language SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdk;)
+ (NSString * _Nonnull)sdk SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull mediation;)
+ (NSString * _Nonnull)mediation SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull mediationVersion;)
+ (NSString * _Nonnull)mediationVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull adapterVersion;)
+ (NSString * _Nonnull)adapterVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull timestamp;)
+ (NSString * _Nonnull)timestamp SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull timezone;)
+ (NSString * _Nonnull)timezone SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull retina;)
+ (NSString * _Nonnull)retina SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull deviceType;)
+ (NSString * _Nonnull)deviceType SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull deviceFamily;)
+ (NSString * _Nonnull)deviceFamily SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull deviceDimension;)
+ (NSString * _Nonnull)deviceDimension SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull deviceScale;)
+ (NSString * _Nonnull)deviceScale SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull deviceWidth;)
+ (NSString * _Nonnull)deviceWidth SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull deviceHeight;)
+ (NSString * _Nonnull)deviceHeight SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull applicationWidth;)
+ (NSString * _Nonnull)applicationWidth SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull applicationHeight;)
+ (NSString * _Nonnull)applicationHeight SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull screenPointWidth;)
+ (NSString * _Nonnull)screenPointWidth SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull screenPointHeight;)
+ (NSString * _Nonnull)screenPointHeight SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull isPortrait;)
+ (NSString * _Nonnull)isPortrait SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull session;)
+ (NSString * _Nonnull)session SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull commitHash;)
+ (NSString * _Nonnull)commitHash SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull configVariant;)
+ (NSString * _Nonnull)configVariant SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull bundleID;)
+ (NSString * _Nonnull)bundleID SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull testMode;)
+ (NSString * _Nonnull)testMode SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull carrier;)
+ (NSString * _Nonnull)carrier SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull localVideos;)
+ (NSString * _Nonnull)localVideos SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull adUnits;)
+ (NSString * _Nonnull)adUnits SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull cacheAssets;)
+ (NSString * _Nonnull)cacheAssets SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull location;)
+ (NSString * _Nonnull)location SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull cached;)
+ (NSString * _Nonnull)cached SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull reinstall;)
+ (NSString * _Nonnull)reinstall SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull userAgent;)
+ (NSString * _Nonnull)userAgent SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull freeStorage;)
+ (NSString * _Nonnull)freeStorage SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull totalStorage;)
+ (NSString * _Nonnull)totalStorage SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sessionDuration;)
+ (NSString * _Nonnull)sessionDuration SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull usesMetricSystem;)
+ (NSString * _Nonnull)usesMetricSystem SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull currencyCode;)
+ (NSString * _Nonnull)currencyCode SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull calendarType;)
+ (NSString * _Nonnull)calendarType SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull screenBrightness;)
+ (NSString * _Nonnull)screenBrightness SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull screenMaxFramesSec;)
+ (NSString * _Nonnull)screenMaxFramesSec SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull batteryLevel;)
+ (NSString * _Nonnull)batteryLevel SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull darkMode;)
+ (NSString * _Nonnull)darkMode SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull keyboardLanguages;)
+ (NSString * _Nonnull)keyboardLanguages SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull audioOutputTypes;)
+ (NSString * _Nonnull)audioOutputTypes SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull audioInputTypes;)
+ (NSString * _Nonnull)audioInputTypes SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull audioVolume;)
+ (NSString * _Nonnull)audioVolume SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull textSize;)
+ (NSString * _Nonnull)textSize SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull boldText;)
+ (NSString * _Nonnull)boldText SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull closedCaption;)
+ (NSString * _Nonnull)closedCaption SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull increasedContrast;)
+ (NSString * _Nonnull)increasedContrast SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull videoAutoplay;)
+ (NSString * _Nonnull)videoAutoplay SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull screenCalibratedLatency;)
+ (NSString * _Nonnull)screenCalibratedLatency SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull batteryCharging;)
+ (NSString * _Nonnull)batteryCharging SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull skAvailableNetworkIds;)
+ (NSString * _Nonnull)skAvailableNetworkIds SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull numScreens;)
+ (NSString * _Nonnull)numScreens SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull trackingStatus;)
+ (NSString * _Nonnull)trackingStatus SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull impDepth;)
+ (NSString * _Nonnull)impDepth SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull connectionType;)
+ (NSString * _Nonnull)connectionType SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull omidPartnerName;)
+ (NSString * _Nonnull)omidPartnerName SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull omidPartnerVersion;)
+ (NSString * _Nonnull)omidPartnerVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull bundle;)
+ (NSString * _Nonnull)bundle SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sessionID;)
+ (NSString * _Nonnull)sessionID SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull retryCount;)
+ (NSString * _Nonnull)retryCount SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull amount;)
+ (NSString * _Nonnull)amount SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull app;)
+ (NSString * _Nonnull)app SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull configCertificationProvidersMainKey;)
+ (NSString * _Nonnull)configCertificationProvidersMainKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull consent;)
+ (NSString * _Nonnull)consent SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull gpp;)
+ (NSString * _Nonnull)gpp SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull gppSID;)
+ (NSString * _Nonnull)gppSID SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSInteger, CHBParsingErrorType, "ParsingErrorType", open) {
  CHBParsingErrorTypeForbidden = 0,
  CHBParsingErrorTypeResponseMissing = 1,
  CHBParsingErrorTypeUnknown = 2,
};


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("SnapshotTaker")
@protocol CHBSnapshotTaker
/// Takes the snapshot on the main thread, useful to prevent the access to UIKit info from a background thread.
- (void)takeEnvironmentSnapshotWithCompletion:(void (^ _Nonnull)(CHBEnvironmentSnapshot * _Nonnull))completion;
- (CHBImpressionCounterSnapshot * _Nonnull)takeImpressionCounterSnapshot SWIFT_WARN_UNUSED_RESULT;
- (CHBSessionSnapshot * _Nonnull)takeSessionSnapshot SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("SnapshotPropertyCensor")
@protocol CHBSnapshotPropertyCensor
- (BOOL)isEnabled:(NSString * _Nonnull)property SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("PartialSnapshotTaker")
@interface CHBPartialSnapshotTaker : NSObject <CHBSnapshotPropertyCensor, CHBSnapshotTaker>
- (BOOL)isEnabled:(NSString * _Nonnull)field SWIFT_WARN_UNUSED_RESULT;
- (void)takeEnvironmentSnapshotWithCompletion:(void (^ _Nonnull)(CHBEnvironmentSnapshot * _Nonnull))completion;
- (CHBImpressionCounterSnapshot * _Nonnull)takeImpressionCounterSnapshot SWIFT_WARN_UNUSED_RESULT;
- (CHBSessionSnapshot * _Nonnull)takeSessionSnapshot SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("PathConstants")
@interface CHBPathConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull templates;)
+ (NSString * _Nonnull)templates SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull videos;)
+ (NSString * _Nonnull)videos SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull images;)
+ (NSString * _Nonnull)images SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull prefetchCache;)
+ (NSString * _Nonnull)prefetchCache SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull chartboostLibrary;)
+ (NSString * _Nonnull)chartboostLibrary SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull preCachedVideos;)
+ (NSString * _Nonnull)preCachedVideos SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("PaymentObserver")
@protocol CHBPaymentObserver
- (void)startObservingTransactions;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("PaymentObserverApiClient")
@protocol CHBPaymentObserverApiClient
- (void)sendInAppPurchaseTrack:(NSDictionary<NSString *, id> * _Nonnull)event;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Tracks the visibility of an inputted view and invokes the block when the specified visibility conditions
/// for the view have been met.
SWIFT_PROTOCOL_NAMED("VisibilityTracker")
@protocol CHBVisibilityTracker
/// Indicates if a tracking operation is ongoing.
/// <code>true</code> after startTracking() is called, <code>false</code> after the operation finishes due to the view becoming visible
/// or due to the stopTracking() method getting called.
@property (nonatomic, readonly) BOOL isTracking;
/// Starts tracking the visibility of the <code>view</code>.
/// If the tracker is already in the process of tracking a view, this method will do nothing.
/// \param view The view to track.
///
/// \param completion Completion block that is invoked when the tracked view has met the minimum visibility conditions.
///
- (void)startTracking:(UIView * _Nonnull)view completion:(void (^ _Nonnull)(void))completion;
/// Stops tracking the <code>view</code>.
- (void)stopTracking;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("PixelByTimeVisibilityTracker")
@interface CHBPixelByTimeVisibilityTracker : NSObject <CHBVisibilityTracker>
/// Indicates if a tracking operation is ongoing.
@property (nonatomic, readonly) BOOL isTracking;
/// Starts tracking the visibility of the <code>view</code>.
/// If the tracker is already in the process of tracking a view, this method will do nothing.
/// \param view The view to track.
///
/// \param completion Completion block that is invoked when the tracked view has met the minimum visibility conditions.
///
- (void)startTracking:(UIView * _Nonnull)view completion:(void (^ _Nonnull)(void))completion;
/// Stops tracking the <code>view</code>.
- (void)stopTracking;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

@protocol SKProductsRequestDelegate;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ProductsRequest")
@protocol CHBProductsRequest
- (void)start;
- (nonnull instancetype)initWithProductIdentifiers:(NSSet<NSString *> * _Nonnull)productIdentifiers;
@property (nonatomic, strong) id <SKProductsRequestDelegate> _Nullable delegate;
@end

@protocol CHBOperation;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("QueueDispatcher")
@protocol CHBQueueDispatcher
- (void)executeOnMainQueue:(void (^ _Nonnull)(void))block;
- (void)executeAsyncOnMainQueue:(void (^ _Nonnull)(void))block;
- (void)executeOnBackgroundQueue:(void (^ _Nonnull)(void))block;
- (void)executeWithDelay:(NSTimeInterval)delay onMainQueue:(void (^ _Nonnull)(void))block;
- (void)executeWithDelay:(NSTimeInterval)delay onBackgroundQueue:(void (^ _Nonnull)(void))block;
- (id <CHBOperation> _Nonnull)executeOperationWithDelay:(NSTimeInterval)delay onMainQueue:(void (^ _Nonnull)(void))block SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("QueueDispatcherFactory")
@interface CHBQueueDispatcherFactory : NSObject
+ (id <CHBQueueDispatcher> _Nonnull)makeQueueDispatcher SWIFT_WARN_UNUSED_RESULT;
+ (id <CHBFailableQueueDispatcher> _Nonnull)makeFailableQueueDispatcher SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("QueueOperation")
@protocol CHBOperation
- (void)cancel;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSInteger, CHBRenderingEngine, "RenderingEngine", open) {
  CHBRenderingEngineHtml = 0,
  CHBRenderingEngineMraid = 1,
  CHBRenderingEngineVast = 2,
};


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Configuration for the rendering pipeline.
SWIFT_PROTOCOL_NAMED("RenderingPipelineConfiguration")
@protocol CHBRenderingPipelineConfiguration
/// <code>true</code> if New Rendering Pipeline is enabled for waterfall, or <code>false</code> if not.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL isNewRenderingPipelineWaterfallEnabled;)
+ (BOOL)isNewRenderingPipelineWaterfallEnabled SWIFT_WARN_UNUSED_RESULT;
/// The endpoints for New Rendering Pipeline.
/// This is a mapping of the ad format type (e.g. <code>banner</code>, <code>interstitial</code>, etc) to the URL
/// string.
/// If the URL string for a given format is empty, that means that loads for that ad format
/// have been disabled by the server for this session.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSDictionary<NSString *, NSString *> * _Nullable newRenderingPipelineWaterfallEndpoints;)
+ (NSDictionary<NSString *, NSString *> * _Nullable)newRenderingPipelineWaterfallEndpoints SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ResolverProtocol")
@protocol CHBResolverProtocol
- (void)resolveWithAdUnit:(CHBAdUnit * _Nonnull)adUnit url:(NSURL * _Nullable)url completion:(void (^ _Nonnull)(id <CHBURLOpener> _Nullable, NSError * _Nullable))completion;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("Resolver")
@interface CHBResolver : NSObject <CHBResolverProtocol>
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)resolveWithAdUnit:(CHBAdUnit * _Nonnull)adUnit url:(NSURL * _Nullable)url completion:(void (^ _Nonnull)(id <CHBURLOpener> _Nullable, NSError * _Nullable))completion;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("SDKConstants")
@interface CHBSDKConstants : NSObject
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkVersion;)
+ (NSString * _Nonnull)sdkVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkName;)
+ (NSString * _Nonnull)sdkName SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull sdkUserAgent;)
+ (NSString * _Nonnull)sdkUserAgent SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull minimumOSVersion;)
+ (NSString * _Nonnull)minimumOSVersion SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull certificationProvidersMainKey;)
+ (NSString * _Nonnull)certificationProvidersMainKey SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull defaultLocation;)
+ (NSString * _Nonnull)defaultLocation SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull chartboostNetworkIdentifier;)
+ (NSString * _Nonnull)chartboostNetworkIdentifier SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("SDKSettings")
@protocol CHBSDKSettings
@property (nonatomic, readonly, copy) NSString * _Nullable appId;
@property (nonatomic, readonly, copy) NSString * _Nonnull appSignature;
@property (nonatomic, readonly, copy) NSString * _Nonnull chartboostID;
@property (nonatomic, readonly, copy) NSString * _Nonnull sdkUserAgent;
@property (nonatomic, readonly, copy) NSString * _Nonnull apiVersion;
@property (nonatomic, readonly, copy) NSString * _Nonnull sdkName;
@property (nonatomic, readonly, copy) NSString * _Nonnull sdkVersion;
@property (nonatomic, readonly) BOOL isSandboxed;
@property (nonatomic, readonly) BOOL useDummyAPI;
@property (nonatomic, readonly, copy) NSString * _Nullable debugUserProvidedJSON;
- (void)setDSPCode:(NSString * _Nullable)dspCode creatives:(NSArray<NSNumber *> * _Nullable)creatives;
@property (nonatomic, readonly, copy) NSDictionary * _Nullable dspSettings;
@property (nonatomic, copy) NSString * _Nullable baseURL;
@property (nonatomic, copy) NSString * _Nullable configPath;
@property (nonatomic, readonly) BOOL isOSVersionSupported;
@end


@interface SKProductsRequest (SWIFT_EXTENSION(ChartboostSDK)) <CHBProductsRequest>
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// The event trackers provided in SDK config for the entire app session.
SWIFT_PROTOCOL_NAMED("SessionEventTrackersConfiguration")
@protocol CHBSessionEventTrackersConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<NSDictionary<NSString *, NSString *> *> * _Nonnull objCSessionEventTrackers;)
+ (NSArray<NSDictionary<NSString *, NSString *> *> * _Nonnull)objCSessionEventTrackers SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("SharedApplication")
@interface CHBSharedApplication : NSObject <CHBApplication>
@property (nonatomic) BOOL statusBarHidden;
- (void)openURL:(NSURL * _Nonnull)url completionHandler:(void (^ _Nonnull)(BOOL))completionHandler;
- (BOOL)canOpenURL:(NSURL * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly) enum UIApplicationState applicationState;
@property (nonatomic, readonly, strong) UIWindow * _Nullable keyWindow;
- (void)addApplicationStateObserver:(id <CHBApplicationStateObserver> _Nonnull)observer;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

enum CHBShowErrorCode : NSInteger;

/// An error object passed on show-related delegate methods.
SWIFT_CLASS_NAMED("ShowError")
@interface CHBShowError : NSError
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedDescription;
@property (nonatomic, readonly) BOOL spendsAdUnit SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
+ (CHBShowError * _Nonnull)errorWithCode:(enum CHBShowErrorCode)code SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
+ (CHBShowError * _Nonnull)errorWithCode:(enum CHBShowErrorCode)code spendsAdUnit:(BOOL)spendsAdUnit SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
+ (CHBShowError * _Nonnull)errorWithCode:(enum CHBShowErrorCode)code underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBShowError * _Nonnull sessionNotStarted SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");)
+ (CHBShowError * _Nonnull)sessionNotStarted SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

/// Error codes for failed show operations.
typedef SWIFT_ENUM_NAMED(NSInteger, CHBShowErrorCode, "ShowErrorCode", open) {
  CHBShowErrorCodeInternalError = 0,
  CHBShowErrorCodeSessionNotStarted = 1,
  CHBShowErrorCodeInternetUnavailable = 2,
  CHBShowErrorCodePresentationFailure = 3,
  CHBShowErrorCodeNoCachedAd = 4,
  CHBShowErrorCodeNoViewController = 5,
  CHBShowErrorCodeNoAdInstance = 6,
  CHBShowErrorCodeAssetsFailure = 7,
  CHBShowErrorCodeAdAlreadyVisible = 8,
  CHBShowErrorCodePublisherDisabled = 9,
};




/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("SnapshotTakerConfiguration")
@protocol CHBSnapshotTakerConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, copy) NSArray<NSString *> * _Nonnull environmentDisabledFields;)
+ (NSArray<NSString *> * _Nonnull)environmentDisabledFields SWIFT_WARN_UNUSED_RESULT;
+ (void)setEnvironmentDisabledFields:(NSArray<NSString *> * _Nonnull)newValue;
@end

enum CHBStartErrorCode : NSInteger;

/// An error object passed on SDK start completion callbacks.
SWIFT_CLASS_NAMED("StartError")
@interface CHBStartError : NSError
@property (nonatomic, readonly, copy) NSString * _Nullable startDescription;
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedDescription;
+ (CHBStartError * _Nonnull)errorWithCode:(enum CHBStartErrorCode)code SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
+ (CHBStartError * _Nonnull)errorWithCode:(enum CHBStartErrorCode)code underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBStartError * _Nonnull invalidCredentials SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");)
+ (CHBStartError * _Nonnull)invalidCredentials SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBStartError * _Nonnull osVersionNotSupported SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");)
+ (CHBStartError * _Nonnull)osVersionNotSupported SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) CHBStartError * _Nonnull publisherDisabled SWIFT_DEPRECATED_MSG("Do not use. This will be removed in 10.0.0 SDK release.");)
+ (CHBStartError * _Nonnull)publisherDisabled SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)initWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)dict OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

/// Error codes for failed start operations.
typedef SWIFT_ENUM_NAMED(NSInteger, CHBStartErrorCode, "StartErrorCode", open) {
  CHBStartErrorCodeInvalidCredentials = 0,
  CHBStartErrorCodeNetworkFailure = 1,
  CHBStartErrorCodeServerError = 2,
  CHBStartErrorCodeInternalError = 3,
  CHBStartErrorCodeInvalidConfiguration = 4,
  CHBStartErrorCodePublisherDisabled = 5,
  CHBStartErrorCodeUnsupportedOSVersion = 6,
};

@class SKPaymentQueue;
@class SKPaymentTransaction;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("StoreKitPaymentObserver")
@interface CHBStoreKitPaymentObserver : NSObject <CHBPaymentObserver, SKPaymentTransactionObserver>
- (nonnull instancetype)initWithApiClient:(id <CHBPaymentObserverApiClient> _Nonnull)apiClient productsRequestType:(Class <CHBProductsRequest> _Nonnull)productsRequestType queue:(SKPaymentQueue * _Nonnull)queue OBJC_DESIGNATED_INITIALIZER;
- (void)startObservingTransactions;
- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue updatedTransactions:(NSArray<SKPaymentTransaction *> * _Nonnull)transactions;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("ThrottlingEventTrackerConfiguration")
@protocol CHBThrottlingEventTrackerConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL trackingEnabled;)
+ (BOOL)trackingEnabled SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL trackingPersistenceEnabled;)
+ (BOOL)trackingPersistenceEnabled SWIFT_WARN_UNUSED_RESULT;
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSArray<NSString *> * _Nullable blacklist;)
+ (NSArray<NSString *> * _Nullable)blacklist SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("TrackEventRepository")
@protocol CHBTrackEventRepository
- (void)persistTrackEvent:(CHBTrackingEventContext * _Nonnull)context;
- (void)removeTrackEvents:(NSArray<CHBTrackingEventContext *> * _Nonnull)contexts;
@property (nonatomic, readonly, copy) NSArray<CHBTrackingEventContext *> * _Nonnull persistedTrackEvents;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("TrackEventRepositoryConfiguration")
@protocol CHBTrackEventRepositoryConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSInteger maxEventsInFile;)
+ (NSInteger)maxEventsInFile SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("TrackerAPIClientProtocol")
@protocol CHBTrackerAPIClientProtocol
- (void)sendEvents:(NSArray<CHBTrackingEventContext *> * _Nullable)events completion:(void (^ _Nonnull)(NSArray<CHBTrackingEventContext *> * _Nullable, BOOL))completion;
@end




@interface UIView (SWIFT_EXTENSION(ChartboostSDK))
/// Indicates if the view is visible.
/// To be considered visible, a view must:
/// <ul>
///   <li>
///     Not be hidden, or a descendent of a hidden view.
///   </li>
///   <li>
///     Intersect the frame of its parent window, even if that intersection has zero area.
///   </li>
/// </ul>
/// note:
/// This property does not check whether any part of the view is obscured by another view.
@property (nonatomic, readonly) BOOL cb_isVisible;
@end



SWIFT_AVAILABILITY(ios,introduced=13.0)
@interface UIWindowScene (SWIFT_EXTENSION(ChartboostSDK))
/// This is a best-effort approach for obtaining a connected <code>UIWindowScene</code> on iOS 13+.
/// Modern iOS supports multi-window scenarios on iPad, as well as newer technologies such as
/// CarPlay which uses <code>CPTemplateApplicationScene</code> + <code>CPWindow</code> instead of <code>UIWindowScene</code> +
/// <code>UIWindow</code>.
/// note:
/// <code>UIApplication.connectedScenes</code> must be used from main thread only, so does this helper.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIWindowScene * _Nullable chb_firstConnectedWindowScene;)
+ (UIWindowScene * _Nullable)chb_firstConnectedWindowScene SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("UserAgentRepository")
@protocol CHBUserAgentRepository
@property (nonatomic, copy) NSString * _Nullable userAgent;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("UserAgentDefaultsRepository")
@interface CHBUserAgentDefaultsRepository : NSObject <CHBUserAgentRepository>
@property (nonatomic, copy) NSString * _Nullable userAgent;
- (nonnull instancetype)initWithUserDefaults:(id <CHBUserDefaultsProtocol> _Nonnull)userDefaults environment:(id <CHBEnvironment> _Nonnull)environment OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("UserAgentFetcher")
@protocol CHBUserAgentFetcher
@property (nonatomic, readonly, copy) NSString * _Nullable userAgent;
- (void)updateUserAgentWithWebView:(CHBWebView * _Nullable)webView completion:(void (^ _Nullable)(void))completion;
- (void)resetUserAgent;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("UserDefaultsProtocol")
@protocol CHBUserDefaultsProtocol
- (id _Nullable)objectForKey:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
- (id _Nonnull)objectForKey:(NSString * _Nonnull)key default:(id _Nonnull)defaultValue SWIFT_WARN_UNUSED_RESULT;
- (void)set:(id _Nullable)value forKey:(NSString * _Nonnull)key;
- (void)removeAllObjectsInNamespace;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("VideoPlayDelegate")
@protocol CHBVideoPlayDelegate
- (void)didStartPlayingVideo:(id <CHBVideo> _Nonnull)video error:(NSError * _Nullable)error;
- (void)didFinishPlayingVideo:(id <CHBVideo> _Nonnull)video error:(NSError * _Nullable)error;
- (void)didBufferStart;
- (void)didBufferEnd;
@end

@class AVURLAsset;

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("VideoLoadDelegate")
@protocol CHBVideoLoadDelegate <CHBVideoPlayDelegate>
- (void)didFinishLoadingVideo:(id <CHBVideo> _Nonnull)video asset:(AVURLAsset * _Nonnull)asset error:(NSError * _Nullable)error;
@end

/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSInteger, CHBVideoLoadedState, "VideoLoadedState", open) {
  CHBVideoLoadedStateZero = 0,
  CHBVideoLoadedStateQuartile1 = 1,
  CHBVideoLoadedStateQuartile2 = 2,
  CHBVideoLoadedStateQuartile3 = 3,
  CHBVideoLoadedStateQuartile4 = 4,
  CHBVideoLoadedStateFull = 5,
};



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("VideoPlayerDataSource")
@protocol CHBVideoPlayerDataSource
- (NSTimeInterval)videoDuration SWIFT_WARN_UNUSED_RESULT;
- (CGFloat)audioLevel SWIFT_WARN_UNUSED_RESULT;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Manages video loading, caching, and persistence.
SWIFT_PROTOCOL_NAMED("VideoStore")
@protocol CHBVideoStore
/// <code>true</code> if a video is loaded (in memory or disk), loading, or queued to load, <code>false</code> otherwise.
- (BOOL)hasVideoForURL:(NSURL * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
/// Adds the URL to the video load queue, unless it’s already loaded/loading/queued.
- (void)loadVideoForURL:(NSURL * _Nonnull)url;
/// Returns a video object ready to be displayed on a player.
/// A video will be returned almost instantly regardless of its loading state.
- (void)prepareVideoForPlayingWithURL:(NSURL * _Nonnull)url completion:(void (^ _Nonnull)(id <CHBVideo> _Nullable))completion;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Configuration for <code>ViewControllerPresenter</code>.
SWIFT_PROTOCOL_NAMED("ViewControllerPresenterConfiguration")
@protocol CHBViewControllerPresenterConfiguration
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval viewControllerPresentationTimeout;)
+ (NSTimeInterval)viewControllerPresentationTimeout SWIFT_WARN_UNUSED_RESULT;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
/// Configuration settings for VisibilityTracker.
SWIFT_PROTOCOL_NAMED("VisibilityTrackerConfiguration")
@protocol CHBVisibilityTrackerConfiguration
/// The minimum amount of time (in seconds) the <code>view</code> is required to be visible on screen. Values less than 0 will be set to 0.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval minimumVisibleSeconds;)
+ (NSTimeInterval)minimumVisibleSeconds SWIFT_WARN_UNUSED_RESULT;
/// The minimum number of device independent pixels the <code>view</code> is required to be visible on screen. Values less than 0 will be set to 0.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) CGFloat minimumVisiblePoints;)
+ (CGFloat)minimumVisiblePoints SWIFT_WARN_UNUSED_RESULT;
/// The amount of time (in seconds) to continuously check for visibility.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSTimeInterval pollInterval;)
+ (NSTimeInterval)pollInterval SWIFT_WARN_UNUSED_RESULT;
/// The maximum depth to traverse the view hiearchy when checking for visibility.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) NSUInteger traversalLimit;)
+ (NSUInteger)traversalLimit SWIFT_WARN_UNUSED_RESULT;
@end



/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_CLASS_NAMED("WKWebViewFactory")
@interface CHBWKWebViewFactory : NSObject
- (WKWebView * _Nonnull)webViewWith:(CGRect)frame suppressingIncrementalRendering:(BOOL)suppressingIncrementalRendering SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
SWIFT_PROTOCOL_NAMED("WebProxy")
@protocol CHBWebProxy
@property (nonatomic, readonly, strong) CHBWebView * _Nullable webview;
- (void)load:(CHBAdConfiguration * _Nonnull)config;
- (void)unLoad;
- (void)loadContentsInWebView;
@end


/// <em>WARNING: DO NOT USE. THIS IS AN INTERNAL API AND IT MIGHT CHANGE AT ANY POINT WITHOUT PREVIOUS NOTICE.</em>
typedef SWIFT_ENUM_NAMED(NSInteger, CHBWebViewNavigationType, "WebViewNavigationType", open) {
  CHBWebViewNavigationTypeLinkActivated = 0,
  CHBWebViewNavigationTypeFormSubmitted = 1,
  CHBWebViewNavigationTypeBackForward = 2,
  CHBWebViewNavigationTypeReload = 3,
  CHBWebViewNavigationTypeFormResubmitted = 4,
  CHBWebViewNavigationTypeOther = -1,
};


#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif

#else
#error unsupported Swift architecture
#endif
