import { EDHOC, EdhocCryptoManager, EdhocKeyType } from './edhoc';
export declare class DefaultEdhocCryptoManager implements EdhocCryptoManager {
    private keys;
    private keyIdentifier;
    constructor();
    addKey(keyID: Buffer, key: Buffer): void;
    importKey(edhoc: EDHOC, keyType: EdhocKeyType, key: Buffer): Promise<Buffer>;
    destroyKey(edhoc: EDHOC, keyID: Buffer): boolean;
    makeKeyPair(edhoc: EDHOC, keyID: Buffer, _privateKeySize: number, _publicKeySize: number): {
        privateKey: Buffer;
        publicKey: Buffer;
    };
    keyAgreement(edhoc: EDHOC, keyID: Buffer, publicKey: Buffer, _privateKeySize: number): Buffer;
    sign(edhoc: EDHOC, keyID: Buffer, input: Buffer, _signatureSize: number): Buffer;
    verify(edhoc: EDHOC, keyID: Buffer, input: Buffer, signature: Buffer): Promise<boolean>;
    extract(edhoc: EDHOC, keyID: Buffer, salt: Buffer, _keySize: number): Buffer;
    expand(edhoc: EDHOC, keyID: Buffer, info: Buffer, keySize: number): Buffer;
    encrypt(edhoc: EDHOC, keyID: Buffer, nonce: Buffer, aad: Buffer, plaintext: Buffer, _size: number): Buffer;
    decrypt(edhoc: EDHOC, keyID: Buffer, nonce: Buffer, aad: Buffer, ciphertext: Buffer, _size: number): Buffer;
    hash(_edhoc: EDHOC, data: Buffer, _hashSize: number): Promise<Buffer>;
    private getKey;
    private formatToBeSigned;
    private formatPublicKey;
    private getCurveForSignature;
    private getCurveForKeyAgreement;
    private getTagLength;
    private getAlgorithm;
}
//# sourceMappingURL=crypto.d.ts.map