/**
 * @deprecated Moved to packages/cactus-test-tooling/src/main/typescript/pki/self-signed-pki-generator.ts
 */
/// <reference types="@hyperledger/cactus-test-tooling/node_modules/@types/node-forge" />
import { pki } from "node-forge";
/**
 * @deprecated Moved to \@hyperledger/cactus-test-tooling
 */
export type ForgeKeyPair = pki.rsa.KeyPair;
/**
 * @deprecated Moved to \@hyperledger/cactus-test-tooling
 */
export type ForgePrivateKey = pki.rsa.PrivateKey;
/**
 * @deprecated Moved to \@hyperledger/cactus-test-tooling
 */
export type ForgeCertificate = pki.Certificate;
/**
 * @deprecated Moved to \@hyperledger/cactus-test-tooling
 */
export type ForgeCertificateField = pki.CertificateField;
/**
 * @deprecated Moved to \@hyperledger/cactus-test-tooling
 *
 * PKI as in public key infrastructure and x509 certificates.
 */
export interface IPki {
    keyPair: ForgeKeyPair;
    certificate: ForgeCertificate;
    certificatePem: string;
    privateKeyPem: string;
}
/**
 * @deprecated Moved to \@hyperledger/cactus-test-tooling
 *
 * Do not use this for anything in a production deployment. It's meant as a helper
 * class for development and testing purposes (enhancing developer experience).
 *
 * Secure by default is one of our core design principles and it's much harder to
 * enforce/implement that it sounds when you also do not want to ruin the ease
 * of use of the software. Dynamically pre-provisioning PKI is notoriously
 * complicated and error prone to the average user/developer.
 *
 */
export declare class SelfSignedPkiGenerator {
    create(commonName: string, parent?: IPki): IPki;
    configureCertificateParameters(keyPair: pki.rsa.KeyPair, certificate: pki.Certificate, commonName: string): pki.Certificate;
}
