#if swift(>=4.0)
@objcMembers public class TrustDefenderConfig: ElectrodeObject, Bridgeable {

    private static let tag = String(describing: type(of: self))

    public let trustDefenderOrgId: String
    public let trustDefenderTimeOut: Int64?
    public let trustDefenderDisableWebView: Bool?
    public let trustDefenderLocationServiceWithPrompt: Bool?

    public init(trustDefenderOrgId: String, trustDefenderTimeOut: Int64?, trustDefenderDisableWebView: Bool?, trustDefenderLocationServiceWithPrompt: Bool?) {
        self.trustDefenderOrgId = trustDefenderOrgId
        self.trustDefenderTimeOut = trustDefenderTimeOut
        self.trustDefenderDisableWebView = trustDefenderDisableWebView
        self.trustDefenderLocationServiceWithPrompt = trustDefenderLocationServiceWithPrompt
        super.init()
    }

    public override init() {
        self.trustDefenderOrgId = String()
        self.trustDefenderTimeOut = nil
        self.trustDefenderDisableWebView = nil
        self.trustDefenderLocationServiceWithPrompt = nil
        super.init()
    }

    required public init(dictionary:[AnyHashable:Any]) {
        

        if let trustDefenderOrgId = dictionary["trustDefenderOrgId"] as? String  {
                  self.trustDefenderOrgId = trustDefenderOrgId
        } else {
            assertionFailure("\(TrustDefenderConfig.tag) missing one or more required properties [trustDefenderOrgId] ")
            self.trustDefenderOrgId = dictionary["trustDefenderOrgId"] as! String
        }

         


        if let trustDefenderTimeOut = dictionary["trustDefenderTimeOut"] as? Int64 {
            self.trustDefenderTimeOut = trustDefenderTimeOut
        } else {
            self.trustDefenderTimeOut = nil
        }
        

        if let trustDefenderDisableWebView = dictionary["trustDefenderDisableWebView"] as? Bool {
            self.trustDefenderDisableWebView = trustDefenderDisableWebView
        } else {
            self.trustDefenderDisableWebView = nil
        }
        

        if let trustDefenderLocationServiceWithPrompt = dictionary["trustDefenderLocationServiceWithPrompt"] as? Bool {
            self.trustDefenderLocationServiceWithPrompt = trustDefenderLocationServiceWithPrompt
        } else {
            self.trustDefenderLocationServiceWithPrompt = nil
        }
        
        super.init(dictionary: dictionary)
    }

    public func toDictionary() -> NSDictionary {

         var dict = [:] as [AnyHashable : Any]

         dict["trustDefenderOrgId"] =  self.trustDefenderOrgId

        if let nonNullTrustDefenderTimeOut = self.trustDefenderTimeOut {
                dict["trustDefenderTimeOut"] = nonNullTrustDefenderTimeOut
        }
        if let nonNullTrustDefenderDisableWebView = self.trustDefenderDisableWebView {
                dict["trustDefenderDisableWebView"] = nonNullTrustDefenderDisableWebView
        }
        if let nonNullTrustDefenderLocationServiceWithPrompt = self.trustDefenderLocationServiceWithPrompt {
                dict["trustDefenderLocationServiceWithPrompt"] = nonNullTrustDefenderLocationServiceWithPrompt
        }
        return dict as NSDictionary
    }
}
#else

public class TrustDefenderConfig: ElectrodeObject, Bridgeable {

    private static let tag = String(describing: type(of: self))

    public let trustDefenderOrgId: String
    public let trustDefenderTimeOut: Int64?
    public let trustDefenderDisableWebView: Bool?
    public let trustDefenderLocationServiceWithPrompt: Bool?

    public init(trustDefenderOrgId: String, trustDefenderTimeOut: Int64?, trustDefenderDisableWebView: Bool?, trustDefenderLocationServiceWithPrompt: Bool?) {
        self.trustDefenderOrgId = trustDefenderOrgId
        self.trustDefenderTimeOut = trustDefenderTimeOut
        self.trustDefenderDisableWebView = trustDefenderDisableWebView
        self.trustDefenderLocationServiceWithPrompt = trustDefenderLocationServiceWithPrompt
        super.init()
    }

    public override init() {
        self.trustDefenderOrgId = String()
        self.trustDefenderTimeOut = nil
        self.trustDefenderDisableWebView = nil
        self.trustDefenderLocationServiceWithPrompt = nil
        super.init()
    }

    required public init(dictionary:[AnyHashable:Any]) {
        

        if let trustDefenderOrgId = dictionary["trustDefenderOrgId"] as? String  {
                  self.trustDefenderOrgId = trustDefenderOrgId
        } else {
            assertionFailure("\(TrustDefenderConfig.tag) missing one or more required properties [trustDefenderOrgId] ")
            self.trustDefenderOrgId = dictionary["trustDefenderOrgId"] as! String
        }

         


        if let trustDefenderTimeOut = dictionary["trustDefenderTimeOut"] as? Int64 {
            self.trustDefenderTimeOut = trustDefenderTimeOut
        } else {
            self.trustDefenderTimeOut = nil
        }
        

        if let trustDefenderDisableWebView = dictionary["trustDefenderDisableWebView"] as? Bool {
            self.trustDefenderDisableWebView = trustDefenderDisableWebView
        } else {
            self.trustDefenderDisableWebView = nil
        }
        

        if let trustDefenderLocationServiceWithPrompt = dictionary["trustDefenderLocationServiceWithPrompt"] as? Bool {
            self.trustDefenderLocationServiceWithPrompt = trustDefenderLocationServiceWithPrompt
        } else {
            self.trustDefenderLocationServiceWithPrompt = nil
        }
        
        super.init(dictionary: dictionary)
    }

    public func toDictionary() -> NSDictionary {

         var dict = [:] as [AnyHashable : Any]

         dict["trustDefenderOrgId"] =  self.trustDefenderOrgId

        if let nonNullTrustDefenderTimeOut = self.trustDefenderTimeOut {
                dict["trustDefenderTimeOut"] = nonNullTrustDefenderTimeOut
        }
        if let nonNullTrustDefenderDisableWebView = self.trustDefenderDisableWebView {
                dict["trustDefenderDisableWebView"] = nonNullTrustDefenderDisableWebView
        }
        if let nonNullTrustDefenderLocationServiceWithPrompt = self.trustDefenderLocationServiceWithPrompt {
                dict["trustDefenderLocationServiceWithPrompt"] = nonNullTrustDefenderLocationServiceWithPrompt
        }
        return dict as NSDictionary
    }
}
#endif
