
import { PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY } from '../../constants/provider'
import { multiplexProviderFunction } from '../provider/multiplex-provider-function'

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


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

const generateKeyPair: GenerateKeyPair = generateKeyPairFunction

async function generateKeyPairFunction (extract?: any): Promise<AsymmetricKeyPair[]> {
  return multiplexProviderFunction(PROVIDER_TYPE_ASYMMETRIC_CRYPTOGRAPHY, 'generateKeyPair', [...arguments], extract)
}

export {
  generateKeyPair
}