/**
 * @module JSON Object Signing and Encryption (JOSE)
 */
const JWA = require('./jose/JWA')
const JWK = require('./jose/JWK')
const KeyChain = require('./keys/KeyChain')
const KeyPair = require('./keys/KeyPair')
const PEM = require('./keys/PEM')
const EncryptedJWK = require('./keys/EncryptedJWK')
const RSAKeyPair = require('./keys/RSAKeyPair')
const RSAPrivateKey = require('./keys/RSAPrivateKey')
const RSAPublicKey = require('./keys/RSAPublicKey')
const ECKeyPair = require('./keys/ECKeyPair')
const ECPrivateKey = require('./keys/ECPrivateKey')
const ECPublicKey = require('./keys/ECPublicKey')

/**
 * Export
 */
module.exports = { 
  JWA,
  JWK,
  KeyChain,
  KeyPair,
  PEM,
  EncryptedJWK,
  RSAKeyPair,
  RSAPrivateKey,
  RSAPublicKey,
  ECKeyPair,
  ECPrivateKey,
  ECPublicKey
}

/**
 * @module JSON Object Signing and Encryption (JOSE)
 */
const JWA = require('./jose/JWA')
const JWK = require('./jose/JWK')
const JWKSet = require('./jose/JWKSet')
const JWT = require('./jose/JWT')
const JWS = require('./jose/JWS')


/**
 * Export
 */
module.exports = {
  JWA,
  JWK,
  JWKSet,
  JWT,
  JWS
}

update exported modules