import CryptoFactory from './crypto/plugin/CryptoFactory';
import { IPayloadProtection } from './crypto/protocols/IPayloadProtection';
/**
 * Class used to model crypto options
 */
export default class CryptoOptions {
    private subtle;
    /**
     * Instanciate a new instance of @class CrytoOptions
     * @param cryptoFactory Optional parameter specifying the crypto factory
     */
    constructor(cryptoFactory?: CryptoFactory);
    /**
     * Get or set the crypto api to be used. Initialize the default crypto plugin.
     */
    cryptoFactory: CryptoFactory;
    /**
     * Get or set the payload protection protocol.
     */
    payloadProtection: IPayloadProtection;
    /**
     * Get or set the signing algorithm.
     */
    signingAlgorithm: string;
    /**
     * Get or set the encryption algorithm.
     */
    encryptionAlgorithm: string;
    /**
    * Key reference to private key to be used to sign commits and create HubSession
    */
    signingKeyReference: string | undefined;
    /**
    * Key reference to private key to be used to decrypt commits and create HubSession
    */
    encryptionKeyReference: string | undefined;
}
