///
///
import { ECDHKeyFormat } from 'crypto';
import { EciesCurveType } from './asymmetricModels';
/** Generates Ephemeral Keypair and sharedSecret - used for ECC curves and some others supported by Node crypto curveType */
export declare function generateEphemPublicKeyAndSharedSecretType1(publicKey: NodeJS.ArrayBufferView, curveType: EciesCurveType, keyFormat: ECDHKeyFormat): {
ephemPublicKey: string;
sharedSecret: Buffer;
};
/** Generates sharedSecret using ephemPublicKey */
export declare function generateSharedSecretType1(publicKey: NodeJS.ArrayBufferView, secretKey: NodeJS.ArrayBufferView, curveType: EciesCurveType): Buffer;
/** Generated Ephemeral PublicKey and SharedSecret
* The ed25519PublicKey parameter must be 32 byte encoded as a Uint8Array */
export declare function generateEphemPublicKeyAndSharedSecretEd25519(ed25519PublicKey: Uint8Array): {
ephemPublicKey: string;
sharedSecret: Uint8Array;
};
/** Generates sharedSecret using ephemeral PublicKey and ed25519 SecretKey
* The ed25519PublicKey parameter must be 32 byte encoded as a Uint8Array */
export declare function generateSharedSecretEd25519(ephemPublicKey: Uint8Array, ed25519SecretKey: Uint8Array): Uint8Array;