import { DecryptionProviderTypes, EncryptionTypes, IdentityTypes } from '@requestnetwork/types';
/**
 * Implementation of the decryption provider from private key
 * Allows to decrypt() with "ethereumAddress" identities thanks to their private key given in constructor() or addDecryptionParameters()
 * @deprecated Use EthereumPrivateKeyCipherProvider instead
 */
export default class EthereumPrivateKeyDecryptionProvider implements DecryptionProviderTypes.IDecryptionProvider {
    /** list of supported encryption method */
    supportedMethods: EncryptionTypes.METHOD[];
    /** list of supported identity types */
    supportedIdentityTypes: IdentityTypes.TYPE[];
    /** Dictionary containing all the private keys indexed by address */
    private decryptionParametersDictionary;
    constructor(decryptionParameters?: EncryptionTypes.IDecryptionParameters);
    /**
     * Decrypts data
     *
     * @param data the encrypted data
     * @param identity identity to decrypt with
     *
     * @returns the data decrypted
     */
    decrypt(encryptedData: EncryptionTypes.IEncryptedData, identity: IdentityTypes.IIdentity): Promise<string>;
    /**
     * Check if an identity is registered in the provider
     *
     * @param identity identity to check
     *
     * @returns true if the identity is registered, false otherwise
     */
    isIdentityRegistered(identity: IdentityTypes.IIdentity): Promise<boolean>;
    /**
     * Adds a new private key in the provider
     *
     * @param decryptionParameters decryption parameters to add
     *
     * @returns identity from the decryption parameter added
     */
    addDecryptionParameters(decryptionParameters: EncryptionTypes.IDecryptionParameters): IdentityTypes.IIdentity;
    /**
     * Removes a private key from the provider
     *
     * @param identity identity to remove the private key
     *
     * @returns void
     */
    removeRegisteredIdentity(identity: IdentityTypes.IIdentity): void;
    /**
     * Removes all private keys from the provider
     *
     * @param identity identity to remove the private key
     *
     * @returns void
     */
    clearAllRegisteredIdentities(): void;
    /**
     * Gets all the identities available to decrypt with
     *
     * @returns all the identities registered
     */
    getAllRegisteredIdentities(): IdentityTypes.IIdentity[];
}
//# sourceMappingURL=ethereum-private-key-decryption-provider.d.ts.map