/// <reference types="node" />
import forge from 'node-forge';
import { SecurityCertificateX509 } from '../certificate/x509';
import { SecurityKeyPrivateRsa } from '../key/private/rsa';
import { SecurityKeystore } from '../keystore';
/**
 * SecurityKeystorePkcs12 constructor.
 */
export declare class SecurityKeystorePkcs12 extends SecurityKeystore {
    /**
     * Certificate.
     */
    protected _certificate: SecurityCertificateX509 | null;
    /**
     * Private key.
     */
    protected _keyPrivate: SecurityKeyPrivateRsa | null;
    constructor();
    /**
     * Reset the internal state.
     */
    reset(): void;
    /**
     * Get certificate or throw if none.
     *
     * @returns Certificate instance.
     */
    getCertificate(): SecurityCertificateX509;
    /**
     * Get private key or throw if none.
     *
     * @returns Private key instance.
     */
    getKeyPrivate(): SecurityKeyPrivateRsa;
    /**
     * Read data from buffer.
     *
     * @param data File data.
     * @param password The password if necessary.
     */
    readData(data: Readonly<Buffer>, password?: string | null): void;
    /**
     * Read data from file.
     *
     * @param path File path.
     * @param password The password if necessary.
     */
    readFile(path: string, password?: string | null): Promise<void>;
    /**
     * Create CertificateX509.
     *
     * @param certificate Force certificate.
     * @returns New CertificateX509.
     */
    protected _createCertificateX509(certificate: Readonly<forge.pki.Certificate>): SecurityCertificateX509;
    /**
     * Create KeyPrivateRsa.
     *
     * @param keyPrivate Force private key.
     * @returns New KeyPrivateRsa.
     */
    protected _SecurityKeyPrivateRsa(keyPrivate: Readonly<forge.pki.PrivateKey>): SecurityKeyPrivateRsa;
}
