text: // Generated by Apple Swift version 4.0 effective-3.2 (swiftlang-900.0.65 clang-900.0.37)
  #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_attribute(external_source_symbol)
  # define SWIFT_STRINGIFY(str) #str
  # define SWIFT_MODULE_NAMESPACE_PUSH(module_name) _Pragma(SWIFT_STRINGIFY(clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in=module_name, generated_declaration))), apply_to=any(function, enum, objc_interface, objc_category, objc_protocol))))
  # define SWIFT_MODULE_NAMESPACE_POP _Pragma("clang attribute pop")
  #else
  # define SWIFT_MODULE_NAMESPACE_PUSH(module_name)
  # define SWIFT_MODULE_NAMESPACE_POP
  #endif
  
  #if __has_include(<swift/objc-prologue.h>)
  # include <swift/objc-prologue.h>
  #endif
  
  #pragma clang diagnostic ignored "-Wauto-import"
  #include <objc/NSObject.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) || __cplusplus < 201103L
  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(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_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 __attribute__((enum_extensibility(open)))
  # else
  #  define SWIFT_ENUM_ATTR
  # endif
  #endif
  #if !defined(SWIFT_ENUM)
  # define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
  # if __has_feature(generalized_swift_name)
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR SWIFT_ENUM_EXTRA _name : _type
  # else
  #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
  # 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_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 __has_feature(modules)
  @import ObjectiveC;
  @import CocoaAsyncSocket;
  @import Security;
  @import Foundation;
  #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"
  
  SWIFT_MODULE_NAMESPACE_PUSH("CocoaMQTT")
  @class CocoaMQTTWill;
  @protocol CocoaMQTTDelegate;
  @class CocoaMQTTMessage;
  
  /// Main CocoaMQTT Class
  /// Notice: GCDAsyncSocket need delegate to extend NSObject
  SWIFT_CLASS("_TtC9CocoaMQTT9CocoaMQTT")
  @interface CocoaMQTT : NSObject
  @property (nonatomic, copy) NSString * _Nonnull host;
  @property (nonatomic) uint16_t port;
  @property (nonatomic, copy) NSString * _Nonnull clientID;
  @property (nonatomic, copy) NSString * _Nullable username;
  @property (nonatomic, copy) NSString * _Nullable password;
  @property (nonatomic) BOOL secureMQTT;
  @property (nonatomic) BOOL cleanSession;
  @property (nonatomic) uint16_t keepAlive;
  @property (nonatomic, strong) CocoaMQTTWill * _Nullable willMessage;
  @property (nonatomic, weak) id <CocoaMQTTDelegate> _Nullable delegate;
  @property (nonatomic) BOOL backgroundOnSocket;
  @property (nonatomic) BOOL enableSSL;
  @property (nonatomic, copy) NSDictionary<NSString *, NSObject *> * _Nullable sslSettings;
  @property (nonatomic, copy) NSDictionary<NSNumber *, CocoaMQTTMessage *> * _Nonnull messages;
  @property (nonatomic, copy) NSDictionary<NSNumber *, NSString *> * _Nonnull subscriptions;
  - (nonnull instancetype)initWithClientID:(NSString * _Nonnull)clientID host:(NSString * _Nonnull)host port:(uint16_t)port OBJC_DESIGNATED_INITIALIZER;
  - (BOOL)connect;
  - (uint16_t)publish:(CocoaMQTTMessage * _Nonnull)message;
  - (uint16_t)unsubscribe:(NSString * _Nonnull)topic;
  - (void)ping;
  - (void)disconnect;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  @end
  
  @class GCDAsyncSocket;
  
  @interface CocoaMQTT (SWIFT_EXTENSION(CocoaMQTT)) <GCDAsyncSocketDelegate>
  - (void)socket:(GCDAsyncSocket * _Nonnull)sock didConnectToHost:(NSString * _Nonnull)host port:(uint16_t)port;
  - (void)socket:(GCDAsyncSocket * _Nonnull)sock didReceiveTrust:(SecTrustRef _Nonnull)trust completionHandler:(void (^ _Nonnull)(BOOL))completionHandler;
  - (void)socketDidSecure:(GCDAsyncSocket * _Nonnull)sock;
  - (void)socket:(GCDAsyncSocket * _Nonnull)sock didWriteDataWithTag:(NSInteger)tag;
  - (void)socket:(GCDAsyncSocket * _Nonnull)sock didReadData:(NSData * _Nonnull)data withTag:(NSInteger)tag;
  - (void)socketDidDisconnect:(GCDAsyncSocket * _Nonnull)sock withError:(NSError * _Nullable)err;
  @end
  
  
  
  /// Conn Ack
  typedef SWIFT_ENUM(uint8_t, CocoaMQTTConnAck) {
    CocoaMQTTConnAckAccept = 0,
    CocoaMQTTConnAckUnacceptableProtocolVersion = 1,
    CocoaMQTTConnAckIdentifierRejected = 2,
    CocoaMQTTConnAckServerUnavailable = 3,
    CocoaMQTTConnAckBadUsernameOrPassword = 4,
    CocoaMQTTConnAckNotAuthorized = 5,
    CocoaMQTTConnAckReserved = 6,
  };
  
  
  /// MQTT Delegate
  SWIFT_PROTOCOL("_TtP9CocoaMQTT17CocoaMQTTDelegate_")
  @protocol CocoaMQTTDelegate
  /// MQTT connected with server
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didConnect:(NSString * _Nonnull)host port:(NSInteger)port;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didConnectAck:(enum CocoaMQTTConnAck)ack;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didPublishMessage:(CocoaMQTTMessage * _Nonnull)message id:(uint16_t)id;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didPublishAck:(uint16_t)id;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didReceiveMessage:(CocoaMQTTMessage * _Nonnull)message id:(uint16_t)id;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didSubscribeTopic:(NSString * _Nonnull)topic;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didUnsubscribeTopic:(NSString * _Nonnull)topic;
  - (void)mqttDidPing:(CocoaMQTT * _Nonnull)mqtt;
  - (void)mqttDidReceivePong:(CocoaMQTT * _Nonnull)mqtt;
  - (void)mqttDidDisconnect:(CocoaMQTT * _Nonnull)mqtt withError:(NSError * _Nullable)err;
  @optional
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didReceive:(SecTrustRef _Nonnull)trust completionHandler:(void (^ _Nonnull)(BOOL))completionHandler;
  - (void)mqtt:(CocoaMQTT * _Nonnull)mqtt didPublishComplete:(uint16_t)id;
  @end
  
  
  /// MQTT Message
  SWIFT_CLASS("_TtC9CocoaMQTT16CocoaMQTTMessage")
  @interface CocoaMQTTMessage : NSObject
  @property (nonatomic, copy) NSString * _Nonnull topic;
  @property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull payload;
  @property (nonatomic) BOOL retained;
  @property (nonatomic, readonly, copy) NSString * _Nullable string;
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  @end
  
  
  /// MQTT Will Message
  SWIFT_CLASS("_TtC9CocoaMQTT13CocoaMQTTWill")
  @interface CocoaMQTTWill : CocoaMQTTMessage
  - (nonnull instancetype)initWithTopic:(NSString * _Nonnull)topic message:(NSString * _Nonnull)message OBJC_DESIGNATED_INITIALIZER;
  @end
  
  SWIFT_MODULE_NAMESPACE_POP
  #pragma clang diagnostic pop
  