 
     :returns: a new instance of `A0JWT` that holds the decode token
     */
-    open class func decode(jwt jwtValue: String) throws -> _JWT {
+    public class func decode(jwt jwtValue: String) throws -> _JWT {
         let jwt = try DecodedJWT(jwt: jwtValue)
         return _JWT(jwt: jwt)
     }


/// Decodes a JWT
@objc(A0JWT)
open class _JWT: NSObject {

    var jwt: JWT


    }

    /// token header part
    public var header: [String: Any] {
        return self.jwt.header
    }

    /// token body part or claims
    public var body: [String: Any] {
        return self.jwt.body
    }

    /// token signature part
    public var signature: String? {
        return self.jwt.signature
    }

    /// value of the `exp` claim
    public var expiresAt: Date? {
        return self.jwt.expiresAt as Date?
    }

    /// value of the `expired` field
    public var expired: Bool {
        return self.jwt.expired
    }

