text: #if 0
  #elif defined(__arm64__) && __arm64__
  // Generated by Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
  #ifndef SUPPORTIODEMO_SWIFT_H
  #define SUPPORTIODEMO_SWIFT_H
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wgcc-compat"
  
  #if !defined(__has_include)
  # define __has_include(x) 0
  #endif
  #if !defined(__has_attribute)
  # define __has_attribute(x) 0
  #endif
  #if !defined(__has_feature)
  # define __has_feature(x) 0
  #endif
  #if !defined(__has_warning)
  # define __has_warning(x) 0
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <Foundation/Foundation.h>
  #include <stdint.h>
  #include <stddef.h>
  #include <stdbool.h>
  
  #if !defined(SWIFT_TYPEDEFS)
  # define SWIFT_TYPEDEFS 1
  # if __has_include(<uchar.h>)
  #  include <uchar.h>
  # elif !defined(__cplusplus)
  typedef uint_least16_t char16_t;
  typedef uint_least32_t char32_t;
  # endif
  typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
  typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
  typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
  typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
  typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
  typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
  typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
  typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
  typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
  typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
  typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
  typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
  #endif
  
  #if !defined(SWIFT_PASTE)
  # define SWIFT_PASTE_HELPER(x, y) x##y
  # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  #endif
  #if !defined(SWIFT_METATYPE)
  # define SWIFT_METATYPE(X) Class
  #endif
  #if !defined(SWIFT_CLASS_PROPERTY)
  # if __has_feature(objc_class_property)
  #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  # else
  #  define SWIFT_CLASS_PROPERTY(...)
  # endif
  #endif
  
  #if __has_attribute(objc_runtime_name)
  # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  #else
  # define SWIFT_RUNTIME_NAME(X)
  #endif
  #if __has_attribute(swift_name)
  # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  #else
  # define SWIFT_COMPILE_NAME(X)
  #endif
  #if __has_attribute(objc_method_family)
  # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  #else
  # define SWIFT_METHOD_FAMILY(X)
  #endif
  #if __has_attribute(noescape)
  # define SWIFT_NOESCAPE __attribute__((noescape))
  #else
  # define SWIFT_NOESCAPE
  #endif
  #if __has_attribute(ns_consumed)
  # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
  #else
  # define SWIFT_RELEASES_ARGUMENT
  #endif
  #if __has_attribute(warn_unused_result)
  # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  #else
  # define SWIFT_WARN_UNUSED_RESULT
  #endif
  #if __has_attribute(noreturn)
  # define SWIFT_NORETURN __attribute__((noreturn))
  #else
  # define SWIFT_NORETURN
  #endif
  #if !defined(SWIFT_CLASS_EXTRA)
  # define SWIFT_CLASS_EXTRA
  #endif
  #if !defined(SWIFT_PROTOCOL_EXTRA)
  # define SWIFT_PROTOCOL_EXTRA
  #endif
  #if !defined(SWIFT_ENUM_EXTRA)
  # define SWIFT_ENUM_EXTRA
  #endif
  #if !defined(SWIFT_CLASS)
  # if __has_attribute(objc_subclassing_restricted)
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # else
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # endif
  #endif
  #if !defined(SWIFT_RESILIENT_CLASS)
  # if __has_attribute(objc_class_stub)
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # else
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # endif
  #endif
  
  #if !defined(SWIFT_PROTOCOL)
  # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  #endif
  
  #if !defined(SWIFT_EXTENSION)
  # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  #endif
  
  #if !defined(OBJC_DESIGNATED_INITIALIZER)
  # if __has_attribute(objc_designated_initializer)
  #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  # else
  #  define OBJC_DESIGNATED_INITIALIZER
  # endif
  #endif
  #if !defined(SWIFT_ENUM_ATTR)
  # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  # else
  #  define SWIFT_ENUM_ATTR(_extensibility)
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  # endif
  #endif
  #if !defined(SWIFT_UNAVAILABLE)
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  #endif
  #if !defined(SWIFT_UNAVAILABLE_MSG)
  # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  #endif
  #if !defined(SWIFT_AVAILABILITY)
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  #endif
  #if !defined(SWIFT_WEAK_IMPORT)
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
  #endif
  #if !defined(SWIFT_DEPRECATED)
  # define SWIFT_DEPRECATED __attribute__((deprecated))
  #endif
  #if !defined(SWIFT_DEPRECATED_MSG)
  # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  #endif
  #if __has_feature(attribute_diagnose_if_objc)
  # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  #else
  # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  #endif
  #if !defined(IBSegueAction)
  # define IBSegueAction
  #endif
  #if __has_feature(modules)
  #if __has_warning("-Watimport-in-framework-header")
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
  #endif
  @import Foundation;
  @import ObjectiveC;
  @import UIKit;
  #endif
  
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  #if __has_warning("-Wpragma-clang-attribute")
  # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  #endif
  #pragma clang diagnostic ignored "-Wunknown-pragmas"
  #pragma clang diagnostic ignored "-Wnullability"
  
  #if __has_attribute(external_source_symbol)
  # pragma push_macro("any")
  # undef any
  # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SupportIODemo",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  # pragma pop_macro("any")
  #endif
  
  @class AcquireIOConfig;
  
  SWIFT_CLASS("_TtC13SupportIODemo9AcquireIO")
  @interface AcquireIO : NSObject
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) AcquireIO * _Nonnull support;)
  + (AcquireIO * _Nonnull)support SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  /// This is init method for initilize AcquireIO chat
  /// Calling setAccount method you must pass one accountUID parameter.
  /// @param accountUID This is your account unique id
  /// @param optionDictionary is a dict for additional detail.
  - (void)setAccount:(NSString * _Nonnull)accountUID withOptions:(AcquireIOConfig * _Nullable)optionDictionary;
  @end
  
  
  @class UIViewController;
  enum AcquireIOAPNSTokenType : NSInteger;
  enum AcquireIOPushMessageStatus : NSInteger;
  enum AcquireIOConnectionStatus : NSInteger;
  
  @interface AcquireIO (SWIFT_EXTENSION(SupportIODemo))
  /// Start a connection session with acquire server. After calling startSession, the AcquireIODelegate delegate will receive either didChangeConnectionStatus: or onError:.
  /// <em>setAccount: should be called first.</em>
  /// @Available Available in SDK version 1.0 or later
  - (void)showSupport:(UIViewController * _Nonnull)viewController;
  /// Start a connection session with acquire server. After calling startSession, the AcquireIODelegate delegate will receive either didChangeConnectionStatus: or onError:.
  /// <em>setAccount: should be called first.</em>
  - (void)startSession;
  /// Set APNS token for the application. This APNS token will be used to register
  /// @param apnsToken The APNS token for the application.
  /// @param type  The type of APNS token. Debug builds should use
  /// AcquireIOAPNSTokenTypeSandbox. Alternatively, you can supply
  /// AcquireIOAPNSTokenTypeProd to have the type automatically
  /// detected based on your provisioning profile.
  /// @available Available in SDK version 1.0 or later
  - (void)setAPNSToken:(NSData * _Nonnull)apnsToken type:(enum AcquireIOAPNSTokenType)type;
  - (enum AcquireIOPushMessageStatus)appDidReceiveMessageWithMessage:(NSDictionary * _Nonnull)message SWIFT_WARN_UNUSED_RESULT;
  /// Set Visitor Info
  /// Update configuration after init method calles.
  /// *  Set an visitor identifier for your visitor.
  /// *
  /// * This is part of additional visitor configuration. The user identifier will be passed through to the admin dashboard as “User ID” under customer info.
  /// *  @param visitorIdentifier A string to identify your visitor.
  /// *
  /// *  @available Available in SDK version 1.0 or later
  - (void)setVisitorIdentifierWithVisitorIdentifier:(NSString * _Nonnull)visitorIdentifier;
  /// Set the name, phone and email of the app visitor.
  /// *
  /// * This is part of additional visitor configuration. If this is provided through the api, user will not be prompted to re-enter this information again.
  /// * Pass nil values for both name and email to clear out old existing values.
  /// *
  /// *   @param name The name of the user.
  /// *   @param phone The phone of the user.
  /// *   @param email The email address of the user.
  /// *   @param department The department of the user.
  /// *
  /// *   @available Available in SDK version 1.0 or later
  - (void)setVisitor:(NSString * _Nullable)name phone:(NSString * _Nullable)phone email:(NSString * _Nullable)email department:(NSString * _Nullable)department;
  /// Set the extra detail of the app visitor.
  /// *
  /// * This is part of additional visitor configuration. If this is provided through the api, user will not be prompted to re-enter this information again.
  /// * Pass nil values for data to clear out old existing values.
  /// *
  /// *   @param fields array of field. field dictionary format: {“l”:“FIELD_LABEL”,“n”:“FIELD_KEY”,“v”:“FIELD_VALUE”}.
  /// *
  /// *   @available Available in SDK version 1.0 or later
  - (void)setVisitorExtraField:(NSArray<NSDictionary<NSString *, id> *> * _Nonnull)fields;
  /// If your visitor is identified (i.e., visitor has already logged in your app and you have a email address of visitor), call the following method  before setAccount: an identified user.
  /// @note This must be called before setAccount: takes place and must pass same email in setVisitor:.
  /// parameter <code>visitorHash</code> A HMAC digest of the visitor email.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (void)setVisitorHash:(NSString * _Nonnull)visitorHash;
  /// AcquireIO session connection status
  /// @return AcquireIOConnectionStatus Enum value.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (enum AcquireIOConnectionStatus)getConnectionStatus SWIFT_WARN_UNUSED_RESULT;
  /// If you have set visitor hash (HMAC digest) and visitor just logged out from account and need to manage user integrity with agent, call method logoutVisitor to remove all acquire data from app related to visitorHash.
  /// @note This should be called when visit logged out.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (void)logoutVisitor;
  - (void)onErrorWithError:(NSError * _Nonnull)error;
  /// Total available agent count
  /// @available Available in SDK version 1.0 or later
  - (NSInteger)getAvailableAgentCount SWIFT_WARN_UNUSED_RESULT;
  @end
  
  /// Status for the acquire.io app support notification environment
  typedef SWIFT_ENUM(NSInteger, AcquireIOAPNSTokenType, open) {
  /// Unknown token type.
    AcquireIOAPNSTokenTypeUnknown = 0,
  /// Sandbox token type.
    AcquireIOAPNSTokenTypeSandbox = 1,
  /// Production token type.
    AcquireIOAPNSTokenTypeProd = 2,
  };
  
  /// Status for the agent.
  typedef SWIFT_ENUM(NSInteger, AcquireIOAgentStatus, open) {
  /// Online status for agent.
    AcquireIOAgentStatusOnline = 0,
  /// Offline status for agent.
    AcquireIOAgentStatusOffline = 1,
  /// Invisible status for agent.
    AcquireIOAgentStatusInvisible = 2,
  };
  
  
  SWIFT_CLASS("_TtC13SupportIODemo15AcquireIOConfig")
  @interface AcquireIOConfig : NSObject
  /// Return an instance of AcquireIOConfig
  /// Call any method of AcquireIOConfig instance you need to use shared <code>config</code> object. For example you want to setDict for setting
  /// Objective-c : Config setting then you call as [AcquireIOConfig config] setDict:NSDictionary
  /// Swift : Config setting then you call as AcquireIOConfig.config.setDict([String:Any])
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) AcquireIOConfig * _Nonnull config;)
  + (AcquireIOConfig * _Nonnull)config SWIFT_WARN_UNUSED_RESULT;
  /// This is init key for initilize AcquireIO chat with system button bottom right
  /// Set image name should be put in Assets.xcassets of app.
  /// Initialize dictionary key: ButtonImageName
  @property (nonatomic, copy) NSString * _Nonnull buttonImageName;
  /// Initilize AcquireIO chat with custom server, Websocket server ip or url to connect support socket server
  /// This is optional, if not set default AcquireIO socket server will connect
  /// Initialize dictionary key: WebSocketServer
  @property (nonatomic, copy) NSString * _Nonnull webSocketServer;
  /// if your added in ThemeOptions key in AcquireIOConfig
  /// then set useDefaultTheme YES to load default theme setting instead of your
  /// ThemeOptions theme setting
  /// if not set key in config ThemeOptions in your AcquireIOConfig then always load theme default setting
  /// Initialize dictionary key: UseDefaultTheme
  @property (nonatomic) BOOL useDefaultTheme;
  /// Default theme option like color before session start, after session start theme color will be change according to your acquire setting. See more to know about theme customization https://goo.gl/FvrtXf
  /// Initialize dictionary key: ThemeOptions
  @property (nonatomic, copy) NSDictionary<NSString *, id> * _Nonnull themeOptions;
  /// Show avatar of agent or visitor in main chat messages screen and available support agents list
  /// Initialize dictionary key: ShowAvatar
  @property (nonatomic) BOOL showAvatar;
  /// show list of threads.
  /// Initialize dictionary key: ShowThreadList
  @property (nonatomic) BOOL showThreadList;
  /// Show chat button in right bottom on user’s screen and its just hide button but chat functionality will not affect by this option.
  /// Initialize dictionary key: ShowChatButton
  @property (nonatomic) BOOL showChatButton;
  /// Show video button in top tab list on visitor’s main chat messages screen and its just hide button but video functionality will not affect by this option.
  /// Initialize dictionary key: ShowVideoButton
  @property (nonatomic) BOOL showVideoButton;
  /// Show audio button in top tab list on visitor’s main chat messages screen and its just hide button but audio functionality will not affect by this option.
  /// Initialize dictionary key: ShowAudioButton
  @property (nonatomic) BOOL showAudioButton;
  /// Show in-app notifiction when app state is active state.
  /// Initialize dictionary key: ShowLocalNotificationInApp
  @property (nonatomic) BOOL showLocalNotificationInApp;
  /// Session will be auto connect to server and start and no need to invoke any additional method for start session. If you set @“SessionConnectAndStartAuto”: @NO then you must call [[AcquireIO support] startSession] method to start connection with server.
  /// Initialize dictionary key: SessionConnectAndStartAuto
  @property (nonatomic) BOOL sessionConnectAndStartAuto;
  /// Forcefully remove video call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: RemoveVideoCallDisconnectButton
  @property (nonatomic) BOOL removeVideoCallDisconnectButton;
  /// Forcefully remove audio call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: RemoveAudioCallDisconnectButton
  @property (nonatomic) BOOL removeAudioCallDisconnectButton;
  /// if yes then user want be able to upload any attachment in chat.
  /// This is optional, if not set default is @NO
  @property (nonatomic) BOOL disableAttachment;
  /// Forcefully remove audio call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: removeCallViewResizeButton
  @property (nonatomic) BOOL removeCallViewResizeButton;
  /// <ul>
  ///   <li>
  ///     if yes/true then user want be able to start new chat with agents.
  ///   </li>
  ///   <li>
  ///     if No/false, User can start new chat with agnets.
  ///   </li>
  ///   <li>
  ///     This is optional, if not set default @NO/false
  ///   </li>
  ///   <li>
  ///     Initialize dictionary key: isHideNewChat
  ///   </li>
  /// </ul>
  @property (nonatomic) BOOL isHideNewChat;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  /// if your app require changes in UI and supported functions to reset default setting with simple dictionary
  /// @param dict NSDictionary or [String: Any] of option for support view
  /// Set dictionary key values format: setDict
  - (void)setDict:(NSDictionary<NSString *, id> * _Nonnull)dict;
  @end
  
  /// Status for Socket
  typedef SWIFT_ENUM(NSInteger, AcquireIOConnectionStatus, open) {
  /// App support session connection status not connected.
    AcquireIOConnectionStatusNotConnected = 0,
  /// App support session connection status disconnected.
    AcquireIOConnectionStatusDisconnected = 1,
  /// App support session connection status connecting.
    AcquireIOConnectionStatusConnecting = 2,
  /// App support session connection status connected.
    AcquireIOConnectionStatusConnected = 3,
  /// App support session connection status started.
    AcquireIOConnectionStatusSessionStarted = 4,
  };
  
  typedef SWIFT_ENUM(NSInteger, AcquireIOInteractionEventType, open) {
    AcquireIOInteractionEventTypeAudioCallStarted = 0,
    AcquireIOInteractionEventTypeVideoCallStarted = 1,
    AcquireIOInteractionEventTypeAudioCallAnswered = 2,
    AcquireIOInteractionEventTypeVideoCallAnswered = 3,
    AcquireIOInteractionEventTypeCallDeclined = 4,
    AcquireIOInteractionEventTypeCallAutoDeclined = 5,
    AcquireIOInteractionEventTypeCallerViewMinimize = 6,
    AcquireIOInteractionEventTypeCallerViewMaximize = 7,
    AcquireIOInteractionEventTypeCallerViewCameraSwitchToFront = 8,
    AcquireIOInteractionEventTypeCallerViewCameraSwitchToBack = 9,
    AcquireIOInteractionEventTypeCallSpeakerOn = 10,
    AcquireIOInteractionEventTypeCallSpeakerOff = 11,
    AcquireIOInteractionEventTypeCallMute = 12,
    AcquireIOInteractionEventTypeCallUnmute = 13,
    AcquireIOInteractionEventTypeCallVideoOn = 14,
    AcquireIOInteractionEventTypeCallVideoOff = 15,
    AcquireIOInteractionEventTypeCallDisconnected = 16,
    AcquireIOInteractionEventTypeConversationStart = 17,
    AcquireIOInteractionEventTypeConversationEnd = 18,
    AcquireIOInteractionEventTypeConversationFeedbackSubmit = 19,
  };
  
  /// Status for the acquire.io app support notification message
  typedef SWIFT_ENUM(NSInteger, AcquireIOPushMessageStatus, open) {
  /// Unknown status.
    AcquireIOPushMessageStatusUnknown = 0,
  /// New downstream message received by the app.
    AcquireIOPushMessageStatusNew = 1,
  };
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  @interface UIViewController (SWIFT_EXTENSION(SupportIODemo))
  - (void)awakeFromNib;
  @end
  
  
  #if __has_attribute(external_source_symbol)
  # pragma clang attribute pop
  #endif
  #pragma clang diagnostic pop
  #endif
  
  #elif defined(__x86_64__) && __x86_64__
  // Generated by Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
  #ifndef SUPPORTIODEMO_SWIFT_H
  #define SUPPORTIODEMO_SWIFT_H
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wgcc-compat"
  
  #if !defined(__has_include)
  # define __has_include(x) 0
  #endif
  #if !defined(__has_attribute)
  # define __has_attribute(x) 0
  #endif
  #if !defined(__has_feature)
  # define __has_feature(x) 0
  #endif
  #if !defined(__has_warning)
  # define __has_warning(x) 0
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <Foundation/Foundation.h>
  #include <stdint.h>
  #include <stddef.h>
  #include <stdbool.h>
  
  #if !defined(SWIFT_TYPEDEFS)
  # define SWIFT_TYPEDEFS 1
  # if __has_include(<uchar.h>)
  #  include <uchar.h>
  # elif !defined(__cplusplus)
  typedef uint_least16_t char16_t;
  typedef uint_least32_t char32_t;
  # endif
  typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
  typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
  typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
  typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
  typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
  typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
  typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
  typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
  typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
  typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
  typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
  typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
  #endif
  
  #if !defined(SWIFT_PASTE)
  # define SWIFT_PASTE_HELPER(x, y) x##y
  # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  #endif
  #if !defined(SWIFT_METATYPE)
  # define SWIFT_METATYPE(X) Class
  #endif
  #if !defined(SWIFT_CLASS_PROPERTY)
  # if __has_feature(objc_class_property)
  #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  # else
  #  define SWIFT_CLASS_PROPERTY(...)
  # endif
  #endif
  
  #if __has_attribute(objc_runtime_name)
  # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  #else
  # define SWIFT_RUNTIME_NAME(X)
  #endif
  #if __has_attribute(swift_name)
  # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  #else
  # define SWIFT_COMPILE_NAME(X)
  #endif
  #if __has_attribute(objc_method_family)
  # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  #else
  # define SWIFT_METHOD_FAMILY(X)
  #endif
  #if __has_attribute(noescape)
  # define SWIFT_NOESCAPE __attribute__((noescape))
  #else
  # define SWIFT_NOESCAPE
  #endif
  #if __has_attribute(ns_consumed)
  # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
  #else
  # define SWIFT_RELEASES_ARGUMENT
  #endif
  #if __has_attribute(warn_unused_result)
  # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  #else
  # define SWIFT_WARN_UNUSED_RESULT
  #endif
  #if __has_attribute(noreturn)
  # define SWIFT_NORETURN __attribute__((noreturn))
  #else
  # define SWIFT_NORETURN
  #endif
  #if !defined(SWIFT_CLASS_EXTRA)
  # define SWIFT_CLASS_EXTRA
  #endif
  #if !defined(SWIFT_PROTOCOL_EXTRA)
  # define SWIFT_PROTOCOL_EXTRA
  #endif
  #if !defined(SWIFT_ENUM_EXTRA)
  # define SWIFT_ENUM_EXTRA
  #endif
  #if !defined(SWIFT_CLASS)
  # if __has_attribute(objc_subclassing_restricted)
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # else
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # endif
  #endif
  #if !defined(SWIFT_RESILIENT_CLASS)
  # if __has_attribute(objc_class_stub)
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # else
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # endif
  #endif
  
  #if !defined(SWIFT_PROTOCOL)
  # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  #endif
  
  #if !defined(SWIFT_EXTENSION)
  # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  #endif
  
  #if !defined(OBJC_DESIGNATED_INITIALIZER)
  # if __has_attribute(objc_designated_initializer)
  #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  # else
  #  define OBJC_DESIGNATED_INITIALIZER
  # endif
  #endif
  #if !defined(SWIFT_ENUM_ATTR)
  # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  # else
  #  define SWIFT_ENUM_ATTR(_extensibility)
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  # endif
  #endif
  #if !defined(SWIFT_UNAVAILABLE)
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  #endif
  #if !defined(SWIFT_UNAVAILABLE_MSG)
  # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  #endif
  #if !defined(SWIFT_AVAILABILITY)
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  #endif
  #if !defined(SWIFT_WEAK_IMPORT)
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
  #endif
  #if !defined(SWIFT_DEPRECATED)
  # define SWIFT_DEPRECATED __attribute__((deprecated))
  #endif
  #if !defined(SWIFT_DEPRECATED_MSG)
  # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  #endif
  #if __has_feature(attribute_diagnose_if_objc)
  # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  #else
  # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  #endif
  #if !defined(IBSegueAction)
  # define IBSegueAction
  #endif
  #if __has_feature(modules)
  #if __has_warning("-Watimport-in-framework-header")
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
  #endif
  @import Foundation;
  @import ObjectiveC;
  @import UIKit;
  #endif
  
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  #if __has_warning("-Wpragma-clang-attribute")
  # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  #endif
  #pragma clang diagnostic ignored "-Wunknown-pragmas"
  #pragma clang diagnostic ignored "-Wnullability"
  
  #if __has_attribute(external_source_symbol)
  # pragma push_macro("any")
  # undef any
  # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SupportIODemo",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  # pragma pop_macro("any")
  #endif
  
  @class AcquireIOConfig;
  
  SWIFT_CLASS("_TtC13SupportIODemo9AcquireIO")
  @interface AcquireIO : NSObject
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) AcquireIO * _Nonnull support;)
  + (AcquireIO * _Nonnull)support SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  /// This is init method for initilize AcquireIO chat
  /// Calling setAccount method you must pass one accountUID parameter.
  /// @param accountUID This is your account unique id
  /// @param optionDictionary is a dict for additional detail.
  - (void)setAccount:(NSString * _Nonnull)accountUID withOptions:(AcquireIOConfig * _Nullable)optionDictionary;
  @end
  
  
  @class UIViewController;
  enum AcquireIOAPNSTokenType : NSInteger;
  enum AcquireIOPushMessageStatus : NSInteger;
  enum AcquireIOConnectionStatus : NSInteger;
  
  @interface AcquireIO (SWIFT_EXTENSION(SupportIODemo))
  /// Start a connection session with acquire server. After calling startSession, the AcquireIODelegate delegate will receive either didChangeConnectionStatus: or onError:.
  /// <em>setAccount: should be called first.</em>
  /// @Available Available in SDK version 1.0 or later
  - (void)showSupport:(UIViewController * _Nonnull)viewController;
  /// Start a connection session with acquire server. After calling startSession, the AcquireIODelegate delegate will receive either didChangeConnectionStatus: or onError:.
  /// <em>setAccount: should be called first.</em>
  - (void)startSession;
  /// Set APNS token for the application. This APNS token will be used to register
  /// @param apnsToken The APNS token for the application.
  /// @param type  The type of APNS token. Debug builds should use
  /// AcquireIOAPNSTokenTypeSandbox. Alternatively, you can supply
  /// AcquireIOAPNSTokenTypeProd to have the type automatically
  /// detected based on your provisioning profile.
  /// @available Available in SDK version 1.0 or later
  - (void)setAPNSToken:(NSData * _Nonnull)apnsToken type:(enum AcquireIOAPNSTokenType)type;
  - (enum AcquireIOPushMessageStatus)appDidReceiveMessageWithMessage:(NSDictionary * _Nonnull)message SWIFT_WARN_UNUSED_RESULT;
  /// Set Visitor Info
  /// Update configuration after init method calles.
  /// *  Set an visitor identifier for your visitor.
  /// *
  /// * This is part of additional visitor configuration. The user identifier will be passed through to the admin dashboard as “User ID” under customer info.
  /// *  @param visitorIdentifier A string to identify your visitor.
  /// *
  /// *  @available Available in SDK version 1.0 or later
  - (void)setVisitorIdentifierWithVisitorIdentifier:(NSString * _Nonnull)visitorIdentifier;
  /// Set the name, phone and email of the app visitor.
  /// *
  /// * This is part of additional visitor configuration. If this is provided through the api, user will not be prompted to re-enter this information again.
  /// * Pass nil values for both name and email to clear out old existing values.
  /// *
  /// *   @param name The name of the user.
  /// *   @param phone The phone of the user.
  /// *   @param email The email address of the user.
  /// *   @param department The department of the user.
  /// *
  /// *   @available Available in SDK version 1.0 or later
  - (void)setVisitor:(NSString * _Nullable)name phone:(NSString * _Nullable)phone email:(NSString * _Nullable)email department:(NSString * _Nullable)department;
  /// Set the extra detail of the app visitor.
  /// *
  /// * This is part of additional visitor configuration. If this is provided through the api, user will not be prompted to re-enter this information again.
  /// * Pass nil values for data to clear out old existing values.
  /// *
  /// *   @param fields array of field. field dictionary format: {“l”:“FIELD_LABEL”,“n”:“FIELD_KEY”,“v”:“FIELD_VALUE”}.
  /// *
  /// *   @available Available in SDK version 1.0 or later
  - (void)setVisitorExtraField:(NSArray<NSDictionary<NSString *, id> *> * _Nonnull)fields;
  /// If your visitor is identified (i.e., visitor has already logged in your app and you have a email address of visitor), call the following method  before setAccount: an identified user.
  /// @note This must be called before setAccount: takes place and must pass same email in setVisitor:.
  /// parameter <code>visitorHash</code> A HMAC digest of the visitor email.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (void)setVisitorHash:(NSString * _Nonnull)visitorHash;
  /// AcquireIO session connection status
  /// @return AcquireIOConnectionStatus Enum value.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (enum AcquireIOConnectionStatus)getConnectionStatus SWIFT_WARN_UNUSED_RESULT;
  /// If you have set visitor hash (HMAC digest) and visitor just logged out from account and need to manage user integrity with agent, call method logoutVisitor to remove all acquire data from app related to visitorHash.
  /// @note This should be called when visit logged out.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (void)logoutVisitor;
  - (void)onErrorWithError:(NSError * _Nonnull)error;
  /// Total available agent count
  /// @available Available in SDK version 1.0 or later
  - (NSInteger)getAvailableAgentCount SWIFT_WARN_UNUSED_RESULT;
  @end
  
  /// Status for the acquire.io app support notification environment
  typedef SWIFT_ENUM(NSInteger, AcquireIOAPNSTokenType, open) {
  /// Unknown token type.
    AcquireIOAPNSTokenTypeUnknown = 0,
  /// Sandbox token type.
    AcquireIOAPNSTokenTypeSandbox = 1,
  /// Production token type.
    AcquireIOAPNSTokenTypeProd = 2,
  };
  
  /// Status for the agent.
  typedef SWIFT_ENUM(NSInteger, AcquireIOAgentStatus, open) {
  /// Online status for agent.
    AcquireIOAgentStatusOnline = 0,
  /// Offline status for agent.
    AcquireIOAgentStatusOffline = 1,
  /// Invisible status for agent.
    AcquireIOAgentStatusInvisible = 2,
  };
  
  
  SWIFT_CLASS("_TtC13SupportIODemo15AcquireIOConfig")
  @interface AcquireIOConfig : NSObject
  /// Return an instance of AcquireIOConfig
  /// Call any method of AcquireIOConfig instance you need to use shared <code>config</code> object. For example you want to setDict for setting
  /// Objective-c : Config setting then you call as [AcquireIOConfig config] setDict:NSDictionary
  /// Swift : Config setting then you call as AcquireIOConfig.config.setDict([String:Any])
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) AcquireIOConfig * _Nonnull config;)
  + (AcquireIOConfig * _Nonnull)config SWIFT_WARN_UNUSED_RESULT;
  /// This is init key for initilize AcquireIO chat with system button bottom right
  /// Set image name should be put in Assets.xcassets of app.
  /// Initialize dictionary key: ButtonImageName
  @property (nonatomic, copy) NSString * _Nonnull buttonImageName;
  /// Initilize AcquireIO chat with custom server, Websocket server ip or url to connect support socket server
  /// This is optional, if not set default AcquireIO socket server will connect
  /// Initialize dictionary key: WebSocketServer
  @property (nonatomic, copy) NSString * _Nonnull webSocketServer;
  /// if your added in ThemeOptions key in AcquireIOConfig
  /// then set useDefaultTheme YES to load default theme setting instead of your
  /// ThemeOptions theme setting
  /// if not set key in config ThemeOptions in your AcquireIOConfig then always load theme default setting
  /// Initialize dictionary key: UseDefaultTheme
  @property (nonatomic) BOOL useDefaultTheme;
  /// Default theme option like color before session start, after session start theme color will be change according to your acquire setting. See more to know about theme customization https://goo.gl/FvrtXf
  /// Initialize dictionary key: ThemeOptions
  @property (nonatomic, copy) NSDictionary<NSString *, id> * _Nonnull themeOptions;
  /// Show avatar of agent or visitor in main chat messages screen and available support agents list
  /// Initialize dictionary key: ShowAvatar
  @property (nonatomic) BOOL showAvatar;
  /// show list of threads.
  /// Initialize dictionary key: ShowThreadList
  @property (nonatomic) BOOL showThreadList;
  /// Show chat button in right bottom on user’s screen and its just hide button but chat functionality will not affect by this option.
  /// Initialize dictionary key: ShowChatButton
  @property (nonatomic) BOOL showChatButton;
  /// Show video button in top tab list on visitor’s main chat messages screen and its just hide button but video functionality will not affect by this option.
  /// Initialize dictionary key: ShowVideoButton
  @property (nonatomic) BOOL showVideoButton;
  /// Show audio button in top tab list on visitor’s main chat messages screen and its just hide button but audio functionality will not affect by this option.
  /// Initialize dictionary key: ShowAudioButton
  @property (nonatomic) BOOL showAudioButton;
  /// Show in-app notifiction when app state is active state.
  /// Initialize dictionary key: ShowLocalNotificationInApp
  @property (nonatomic) BOOL showLocalNotificationInApp;
  /// Session will be auto connect to server and start and no need to invoke any additional method for start session. If you set @“SessionConnectAndStartAuto”: @NO then you must call [[AcquireIO support] startSession] method to start connection with server.
  /// Initialize dictionary key: SessionConnectAndStartAuto
  @property (nonatomic) BOOL sessionConnectAndStartAuto;
  /// Forcefully remove video call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: RemoveVideoCallDisconnectButton
  @property (nonatomic) BOOL removeVideoCallDisconnectButton;
  /// Forcefully remove audio call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: RemoveAudioCallDisconnectButton
  @property (nonatomic) BOOL removeAudioCallDisconnectButton;
  /// if yes then user want be able to upload any attachment in chat.
  /// This is optional, if not set default is @NO
  @property (nonatomic) BOOL disableAttachment;
  /// Forcefully remove audio call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: removeCallViewResizeButton
  @property (nonatomic) BOOL removeCallViewResizeButton;
  /// <ul>
  ///   <li>
  ///     if yes/true then user want be able to start new chat with agents.
  ///   </li>
  ///   <li>
  ///     if No/false, User can start new chat with agnets.
  ///   </li>
  ///   <li>
  ///     This is optional, if not set default @NO/false
  ///   </li>
  ///   <li>
  ///     Initialize dictionary key: isHideNewChat
  ///   </li>
  /// </ul>
  @property (nonatomic) BOOL isHideNewChat;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  /// if your app require changes in UI and supported functions to reset default setting with simple dictionary
  /// @param dict NSDictionary or [String: Any] of option for support view
  /// Set dictionary key values format: setDict
  - (void)setDict:(NSDictionary<NSString *, id> * _Nonnull)dict;
  @end
  
  /// Status for Socket
  typedef SWIFT_ENUM(NSInteger, AcquireIOConnectionStatus, open) {
  /// App support session connection status not connected.
    AcquireIOConnectionStatusNotConnected = 0,
  /// App support session connection status disconnected.
    AcquireIOConnectionStatusDisconnected = 1,
  /// App support session connection status connecting.
    AcquireIOConnectionStatusConnecting = 2,
  /// App support session connection status connected.
    AcquireIOConnectionStatusConnected = 3,
  /// App support session connection status started.
    AcquireIOConnectionStatusSessionStarted = 4,
  };
  
  typedef SWIFT_ENUM(NSInteger, AcquireIOInteractionEventType, open) {
    AcquireIOInteractionEventTypeAudioCallStarted = 0,
    AcquireIOInteractionEventTypeVideoCallStarted = 1,
    AcquireIOInteractionEventTypeAudioCallAnswered = 2,
    AcquireIOInteractionEventTypeVideoCallAnswered = 3,
    AcquireIOInteractionEventTypeCallDeclined = 4,
    AcquireIOInteractionEventTypeCallAutoDeclined = 5,
    AcquireIOInteractionEventTypeCallerViewMinimize = 6,
    AcquireIOInteractionEventTypeCallerViewMaximize = 7,
    AcquireIOInteractionEventTypeCallerViewCameraSwitchToFront = 8,
    AcquireIOInteractionEventTypeCallerViewCameraSwitchToBack = 9,
    AcquireIOInteractionEventTypeCallSpeakerOn = 10,
    AcquireIOInteractionEventTypeCallSpeakerOff = 11,
    AcquireIOInteractionEventTypeCallMute = 12,
    AcquireIOInteractionEventTypeCallUnmute = 13,
    AcquireIOInteractionEventTypeCallVideoOn = 14,
    AcquireIOInteractionEventTypeCallVideoOff = 15,
    AcquireIOInteractionEventTypeCallDisconnected = 16,
    AcquireIOInteractionEventTypeConversationStart = 17,
    AcquireIOInteractionEventTypeConversationEnd = 18,
    AcquireIOInteractionEventTypeConversationFeedbackSubmit = 19,
  };
  
  /// Status for the acquire.io app support notification message
  typedef SWIFT_ENUM(NSInteger, AcquireIOPushMessageStatus, open) {
  /// Unknown status.
    AcquireIOPushMessageStatusUnknown = 0,
  /// New downstream message received by the app.
    AcquireIOPushMessageStatusNew = 1,
  };
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  @interface UIViewController (SWIFT_EXTENSION(SupportIODemo))
  - (void)awakeFromNib;
  @end
  
  
  #if __has_attribute(external_source_symbol)
  # pragma clang attribute pop
  #endif
  #pragma clang diagnostic pop
  #endif
  
  #elif defined(__i386__) && __i386__
  // Generated by Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
  #ifndef SUPPORTIODEMO_SWIFT_H
  #define SUPPORTIODEMO_SWIFT_H
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wgcc-compat"
  
  #if !defined(__has_include)
  # define __has_include(x) 0
  #endif
  #if !defined(__has_attribute)
  # define __has_attribute(x) 0
  #endif
  #if !defined(__has_feature)
  # define __has_feature(x) 0
  #endif
  #if !defined(__has_warning)
  # define __has_warning(x) 0
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <Foundation/Foundation.h>
  #include <stdint.h>
  #include <stddef.h>
  #include <stdbool.h>
  
  #if !defined(SWIFT_TYPEDEFS)
  # define SWIFT_TYPEDEFS 1
  # if __has_include(<uchar.h>)
  #  include <uchar.h>
  # elif !defined(__cplusplus)
  typedef uint_least16_t char16_t;
  typedef uint_least32_t char32_t;
  # endif
  typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
  typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
  typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
  typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
  typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
  typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
  typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
  typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
  typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
  typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
  typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
  typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
  #endif
  
  #if !defined(SWIFT_PASTE)
  # define SWIFT_PASTE_HELPER(x, y) x##y
  # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  #endif
  #if !defined(SWIFT_METATYPE)
  # define SWIFT_METATYPE(X) Class
  #endif
  #if !defined(SWIFT_CLASS_PROPERTY)
  # if __has_feature(objc_class_property)
  #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  # else
  #  define SWIFT_CLASS_PROPERTY(...)
  # endif
  #endif
  
  #if __has_attribute(objc_runtime_name)
  # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  #else
  # define SWIFT_RUNTIME_NAME(X)
  #endif
  #if __has_attribute(swift_name)
  # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  #else
  # define SWIFT_COMPILE_NAME(X)
  #endif
  #if __has_attribute(objc_method_family)
  # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  #else
  # define SWIFT_METHOD_FAMILY(X)
  #endif
  #if __has_attribute(noescape)
  # define SWIFT_NOESCAPE __attribute__((noescape))
  #else
  # define SWIFT_NOESCAPE
  #endif
  #if __has_attribute(ns_consumed)
  # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
  #else
  # define SWIFT_RELEASES_ARGUMENT
  #endif
  #if __has_attribute(warn_unused_result)
  # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  #else
  # define SWIFT_WARN_UNUSED_RESULT
  #endif
  #if __has_attribute(noreturn)
  # define SWIFT_NORETURN __attribute__((noreturn))
  #else
  # define SWIFT_NORETURN
  #endif
  #if !defined(SWIFT_CLASS_EXTRA)
  # define SWIFT_CLASS_EXTRA
  #endif
  #if !defined(SWIFT_PROTOCOL_EXTRA)
  # define SWIFT_PROTOCOL_EXTRA
  #endif
  #if !defined(SWIFT_ENUM_EXTRA)
  # define SWIFT_ENUM_EXTRA
  #endif
  #if !defined(SWIFT_CLASS)
  # if __has_attribute(objc_subclassing_restricted)
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # else
  #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  # endif
  #endif
  #if !defined(SWIFT_RESILIENT_CLASS)
  # if __has_attribute(objc_class_stub)
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # else
  #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
  #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
  # endif
  #endif
  
  #if !defined(SWIFT_PROTOCOL)
  # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  #endif
  
  #if !defined(SWIFT_EXTENSION)
  # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  #endif
  
  #if !defined(OBJC_DESIGNATED_INITIALIZER)
  # if __has_attribute(objc_designated_initializer)
  #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  # else
  #  define OBJC_DESIGNATED_INITIALIZER
  # endif
  #endif
  #if !defined(SWIFT_ENUM_ATTR)
  # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  # else
  #  define SWIFT_ENUM_ATTR(_extensibility)
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  # endif
  #endif
  #if !defined(SWIFT_UNAVAILABLE)
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  #endif
  #if !defined(SWIFT_UNAVAILABLE_MSG)
  # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  #endif
  #if !defined(SWIFT_AVAILABILITY)
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  #endif
  #if !defined(SWIFT_WEAK_IMPORT)
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
  #endif
  #if !defined(SWIFT_DEPRECATED)
  # define SWIFT_DEPRECATED __attribute__((deprecated))
  #endif
  #if !defined(SWIFT_DEPRECATED_MSG)
  # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  #endif
  #if __has_feature(attribute_diagnose_if_objc)
  # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  #else
  # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  #endif
  #if !defined(IBSegueAction)
  # define IBSegueAction
  #endif
  #if __has_feature(modules)
  #if __has_warning("-Watimport-in-framework-header")
  #pragma clang diagnostic ignored "-Watimport-in-framework-header"
  #endif
  @import Foundation;
  @import ObjectiveC;
  @import UIKit;
  #endif
  
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  #if __has_warning("-Wpragma-clang-attribute")
  # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  #endif
  #pragma clang diagnostic ignored "-Wunknown-pragmas"
  #pragma clang diagnostic ignored "-Wnullability"
  
  #if __has_attribute(external_source_symbol)
  # pragma push_macro("any")
  # undef any
  # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="SupportIODemo",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  # pragma pop_macro("any")
  #endif
  
  @class AcquireIOConfig;
  
  SWIFT_CLASS("_TtC13SupportIODemo9AcquireIO")
  @interface AcquireIO : NSObject
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) AcquireIO * _Nonnull support;)
  + (AcquireIO * _Nonnull)support SWIFT_WARN_UNUSED_RESULT;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  /// This is init method for initilize AcquireIO chat
  /// Calling setAccount method you must pass one accountUID parameter.
  /// @param accountUID This is your account unique id
  /// @param optionDictionary is a dict for additional detail.
  - (void)setAccount:(NSString * _Nonnull)accountUID withOptions:(AcquireIOConfig * _Nullable)optionDictionary;
  @end
  
  
  @class UIViewController;
  enum AcquireIOAPNSTokenType : NSInteger;
  enum AcquireIOPushMessageStatus : NSInteger;
  enum AcquireIOConnectionStatus : NSInteger;
  
  @interface AcquireIO (SWIFT_EXTENSION(SupportIODemo))
  /// Start a connection session with acquire server. After calling startSession, the AcquireIODelegate delegate will receive either didChangeConnectionStatus: or onError:.
  /// <em>setAccount: should be called first.</em>
  /// @Available Available in SDK version 1.0 or later
  - (void)showSupport:(UIViewController * _Nonnull)viewController;
  /// Start a connection session with acquire server. After calling startSession, the AcquireIODelegate delegate will receive either didChangeConnectionStatus: or onError:.
  /// <em>setAccount: should be called first.</em>
  - (void)startSession;
  /// Set APNS token for the application. This APNS token will be used to register
  /// @param apnsToken The APNS token for the application.
  /// @param type  The type of APNS token. Debug builds should use
  /// AcquireIOAPNSTokenTypeSandbox. Alternatively, you can supply
  /// AcquireIOAPNSTokenTypeProd to have the type automatically
  /// detected based on your provisioning profile.
  /// @available Available in SDK version 1.0 or later
  - (void)setAPNSToken:(NSData * _Nonnull)apnsToken type:(enum AcquireIOAPNSTokenType)type;
  - (enum AcquireIOPushMessageStatus)appDidReceiveMessageWithMessage:(NSDictionary * _Nonnull)message SWIFT_WARN_UNUSED_RESULT;
  /// Set Visitor Info
  /// Update configuration after init method calles.
  /// *  Set an visitor identifier for your visitor.
  /// *
  /// * This is part of additional visitor configuration. The user identifier will be passed through to the admin dashboard as “User ID” under customer info.
  /// *  @param visitorIdentifier A string to identify your visitor.
  /// *
  /// *  @available Available in SDK version 1.0 or later
  - (void)setVisitorIdentifierWithVisitorIdentifier:(NSString * _Nonnull)visitorIdentifier;
  /// Set the name, phone and email of the app visitor.
  /// *
  /// * This is part of additional visitor configuration. If this is provided through the api, user will not be prompted to re-enter this information again.
  /// * Pass nil values for both name and email to clear out old existing values.
  /// *
  /// *   @param name The name of the user.
  /// *   @param phone The phone of the user.
  /// *   @param email The email address of the user.
  /// *   @param department The department of the user.
  /// *
  /// *   @available Available in SDK version 1.0 or later
  - (void)setVisitor:(NSString * _Nullable)name phone:(NSString * _Nullable)phone email:(NSString * _Nullable)email department:(NSString * _Nullable)department;
  /// Set the extra detail of the app visitor.
  /// *
  /// * This is part of additional visitor configuration. If this is provided through the api, user will not be prompted to re-enter this information again.
  /// * Pass nil values for data to clear out old existing values.
  /// *
  /// *   @param fields array of field. field dictionary format: {“l”:“FIELD_LABEL”,“n”:“FIELD_KEY”,“v”:“FIELD_VALUE”}.
  /// *
  /// *   @available Available in SDK version 1.0 or later
  - (void)setVisitorExtraField:(NSArray<NSDictionary<NSString *, id> *> * _Nonnull)fields;
  /// If your visitor is identified (i.e., visitor has already logged in your app and you have a email address of visitor), call the following method  before setAccount: an identified user.
  /// @note This must be called before setAccount: takes place and must pass same email in setVisitor:.
  /// parameter <code>visitorHash</code> A HMAC digest of the visitor email.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (void)setVisitorHash:(NSString * _Nonnull)visitorHash;
  /// AcquireIO session connection status
  /// @return AcquireIOConnectionStatus Enum value.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (enum AcquireIOConnectionStatus)getConnectionStatus SWIFT_WARN_UNUSED_RESULT;
  /// If you have set visitor hash (HMAC digest) and visitor just logged out from account and need to manage user integrity with agent, call method logoutVisitor to remove all acquire data from app related to visitorHash.
  /// @note This should be called when visit logged out.
  /// <ul>
  ///   <li>
  ///     @available Available in SDK version 1.0 or later
  ///   </li>
  /// </ul>
  - (void)logoutVisitor;
  - (void)onErrorWithError:(NSError * _Nonnull)error;
  /// Total available agent count
  /// @available Available in SDK version 1.0 or later
  - (NSInteger)getAvailableAgentCount SWIFT_WARN_UNUSED_RESULT;
  @end
  
  /// Status for the acquire.io app support notification environment
  typedef SWIFT_ENUM(NSInteger, AcquireIOAPNSTokenType, open) {
  /// Unknown token type.
    AcquireIOAPNSTokenTypeUnknown = 0,
  /// Sandbox token type.
    AcquireIOAPNSTokenTypeSandbox = 1,
  /// Production token type.
    AcquireIOAPNSTokenTypeProd = 2,
  };
  
  /// Status for the agent.
  typedef SWIFT_ENUM(NSInteger, AcquireIOAgentStatus, open) {
  /// Online status for agent.
    AcquireIOAgentStatusOnline = 0,
  /// Offline status for agent.
    AcquireIOAgentStatusOffline = 1,
  /// Invisible status for agent.
    AcquireIOAgentStatusInvisible = 2,
  };
  
  
  SWIFT_CLASS("_TtC13SupportIODemo15AcquireIOConfig")
  @interface AcquireIOConfig : NSObject
  /// Return an instance of AcquireIOConfig
  /// Call any method of AcquireIOConfig instance you need to use shared <code>config</code> object. For example you want to setDict for setting
  /// Objective-c : Config setting then you call as [AcquireIOConfig config] setDict:NSDictionary
  /// Swift : Config setting then you call as AcquireIOConfig.config.setDict([String:Any])
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) AcquireIOConfig * _Nonnull config;)
  + (AcquireIOConfig * _Nonnull)config SWIFT_WARN_UNUSED_RESULT;
  /// This is init key for initilize AcquireIO chat with system button bottom right
  /// Set image name should be put in Assets.xcassets of app.
  /// Initialize dictionary key: ButtonImageName
  @property (nonatomic, copy) NSString * _Nonnull buttonImageName;
  /// Initilize AcquireIO chat with custom server, Websocket server ip or url to connect support socket server
  /// This is optional, if not set default AcquireIO socket server will connect
  /// Initialize dictionary key: WebSocketServer
  @property (nonatomic, copy) NSString * _Nonnull webSocketServer;
  /// if your added in ThemeOptions key in AcquireIOConfig
  /// then set useDefaultTheme YES to load default theme setting instead of your
  /// ThemeOptions theme setting
  /// if not set key in config ThemeOptions in your AcquireIOConfig then always load theme default setting
  /// Initialize dictionary key: UseDefaultTheme
  @property (nonatomic) BOOL useDefaultTheme;
  /// Default theme option like color before session start, after session start theme color will be change according to your acquire setting. See more to know about theme customization https://goo.gl/FvrtXf
  /// Initialize dictionary key: ThemeOptions
  @property (nonatomic, copy) NSDictionary<NSString *, id> * _Nonnull themeOptions;
  /// Show avatar of agent or visitor in main chat messages screen and available support agents list
  /// Initialize dictionary key: ShowAvatar
  @property (nonatomic) BOOL showAvatar;
  /// show list of threads.
  /// Initialize dictionary key: ShowThreadList
  @property (nonatomic) BOOL showThreadList;
  /// Show chat button in right bottom on user’s screen and its just hide button but chat functionality will not affect by this option.
  /// Initialize dictionary key: ShowChatButton
  @property (nonatomic) BOOL showChatButton;
  /// Show video button in top tab list on visitor’s main chat messages screen and its just hide button but video functionality will not affect by this option.
  /// Initialize dictionary key: ShowVideoButton
  @property (nonatomic) BOOL showVideoButton;
  /// Show audio button in top tab list on visitor’s main chat messages screen and its just hide button but audio functionality will not affect by this option.
  /// Initialize dictionary key: ShowAudioButton
  @property (nonatomic) BOOL showAudioButton;
  /// Show in-app notifiction when app state is active state.
  /// Initialize dictionary key: ShowLocalNotificationInApp
  @property (nonatomic) BOOL showLocalNotificationInApp;
  /// Session will be auto connect to server and start and no need to invoke any additional method for start session. If you set @“SessionConnectAndStartAuto”: @NO then you must call [[AcquireIO support] startSession] method to start connection with server.
  /// Initialize dictionary key: SessionConnectAndStartAuto
  @property (nonatomic) BOOL sessionConnectAndStartAuto;
  /// Forcefully remove video call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: RemoveVideoCallDisconnectButton
  @property (nonatomic) BOOL removeVideoCallDisconnectButton;
  /// Forcefully remove audio call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: RemoveAudioCallDisconnectButton
  @property (nonatomic) BOOL removeAudioCallDisconnectButton;
  /// if yes then user want be able to upload any attachment in chat.
  /// This is optional, if not set default is @NO
  @property (nonatomic) BOOL disableAttachment;
  /// Forcefully remove audio call disconnect button to prevent visitor to disconnect with agent.
  /// This is optional, if not set default @NO
  /// Initialize dictionary key: removeCallViewResizeButton
  @property (nonatomic) BOOL removeCallViewResizeButton;
  /// <ul>
  ///   <li>
  ///     if yes/true then user want be able to start new chat with agents.
  ///   </li>
  ///   <li>
  ///     if No/false, User can start new chat with agnets.
  ///   </li>
  ///   <li>
  ///     This is optional, if not set default @NO/false
  ///   </li>
  ///   <li>
  ///     Initialize dictionary key: isHideNewChat
  ///   </li>
  /// </ul>
  @property (nonatomic) BOOL isHideNewChat;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
  /// if your app require changes in UI and supported functions to reset default setting with simple dictionary
  /// @param dict NSDictionary or [String: Any] of option for support view
  /// Set dictionary key values format: setDict
  - (void)setDict:(NSDictionary<NSString *, id> * _Nonnull)dict;
  @end
  
  /// Status for Socket
  typedef SWIFT_ENUM(NSInteger, AcquireIOConnectionStatus, open) {
  /// App support session connection status not connected.
    AcquireIOConnectionStatusNotConnected = 0,
  /// App support session connection status disconnected.
    AcquireIOConnectionStatusDisconnected = 1,
  /// App support session connection status connecting.
    AcquireIOConnectionStatusConnecting = 2,
  /// App support session connection status connected.
    AcquireIOConnectionStatusConnected = 3,
  /// App support session connection status started.
    AcquireIOConnectionStatusSessionStarted = 4,
  };
  
  typedef SWIFT_ENUM(NSInteger, AcquireIOInteractionEventType, open) {
    AcquireIOInteractionEventTypeAudioCallStarted = 0,
    AcquireIOInteractionEventTypeVideoCallStarted = 1,
    AcquireIOInteractionEventTypeAudioCallAnswered = 2,
    AcquireIOInteractionEventTypeVideoCallAnswered = 3,
    AcquireIOInteractionEventTypeCallDeclined = 4,
    AcquireIOInteractionEventTypeCallAutoDeclined = 5,
    AcquireIOInteractionEventTypeCallerViewMinimize = 6,
    AcquireIOInteractionEventTypeCallerViewMaximize = 7,
    AcquireIOInteractionEventTypeCallerViewCameraSwitchToFront = 8,
    AcquireIOInteractionEventTypeCallerViewCameraSwitchToBack = 9,
    AcquireIOInteractionEventTypeCallSpeakerOn = 10,
    AcquireIOInteractionEventTypeCallSpeakerOff = 11,
    AcquireIOInteractionEventTypeCallMute = 12,
    AcquireIOInteractionEventTypeCallUnmute = 13,
    AcquireIOInteractionEventTypeCallVideoOn = 14,
    AcquireIOInteractionEventTypeCallVideoOff = 15,
    AcquireIOInteractionEventTypeCallDisconnected = 16,
    AcquireIOInteractionEventTypeConversationStart = 17,
    AcquireIOInteractionEventTypeConversationEnd = 18,
    AcquireIOInteractionEventTypeConversationFeedbackSubmit = 19,
  };
  
  /// Status for the acquire.io app support notification message
  typedef SWIFT_ENUM(NSInteger, AcquireIOPushMessageStatus, open) {
  /// Unknown status.
    AcquireIOPushMessageStatusUnknown = 0,
  /// New downstream message received by the app.
    AcquireIOPushMessageStatusNew = 1,
  };
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  @interface UIViewController (SWIFT_EXTENSION(SupportIODemo))
  - (void)awakeFromNib;
  @end
  
  
  #if __has_attribute(external_source_symbol)
  # pragma clang attribute pop
  #endif
  #pragma clang diagnostic pop
  #endif
  
  #endif
  