
import { AsymmetricCryptographyMultiplexer } from '../../data-structures/asymmetric-cryptography'

import { PREPARE_PROVIDER_FOR_USE } from './PREPARE_PROVIDER_FOR_USE'

import { verifyKeyFormat } from './verify-key-format'
import { generateKeyPair } from './generate-key-pair'
import { signMessage } from './sign-message'
import { verifyMessage } from './verify-message'

function getMultiplexer (): AsymmetricCryptographyMultiplexer {
  return {
    PREPARE_PROVIDER_FOR_USE,
    verifyKeyFormat,
    generateKeyPair,
    signMessage,
    verifyMessage
  }
}

export {
  getMultiplexer
}