import { CertificateCreationOptions, CertificateCreationResult, CertificateSubjectReadResult, CSRCreationOptions, CSRCreationResult, DhParamInfoResult, DhParamKeyCreationResult, EcParamKeyCreationResult, FingerprintResult, HashFunction, KeyPairCreationResult, ModuleConfiguration, ModulusResult, Pkcs12CreationOptions, PKCS12CreationResult, Pkcs12ReadOptions, PKCS12ReadResult, PrivateKeyCreationOptions, PrivateKeyCreationResult, PublicKeyCreationResult } from '@akanass/rx-crypto';
import { Observable } from 'rxjs';
import { CryptoConfig } from '..';
export declare class PemService {
    private readonly _config?;
    private _pem;
    constructor(_config?: CryptoConfig);
    createPrivateKey(keyBitsize?: number, options?: PrivateKeyCreationOptions): Observable<PrivateKeyCreationResult>;
    createDhparam(keyBitsize?: number): Observable<DhParamKeyCreationResult>;
    createEcparam(keyName?: string, paramEnc?: string, noOut?: boolean): Observable<EcParamKeyCreationResult>;
    createCSR(options?: CSRCreationOptions): Observable<CSRCreationResult>;
    createCertificate(options?: CertificateCreationOptions): Observable<CertificateCreationResult>;
    readCertificateInfo(certificate: string): Observable<CertificateSubjectReadResult>;
    getPublicKey(certificate: string): Observable<PublicKeyCreationResult>;
    createKeyPair(keyBitsize?: number, options?: PrivateKeyCreationOptions): Observable<KeyPairCreationResult>;
    getFingerprint(certificate: string, hash?: HashFunction): Observable<FingerprintResult>;
    getModulus(certificate: string, password?: string): Observable<ModulusResult>;
    getDhparamInfo(dh: string): Observable<DhParamInfoResult>;
    createPkcs12(key: string, certificate: string, password: string, options?: Pkcs12CreationOptions): Observable<PKCS12CreationResult>;
    readPkcs12(bufferOrPath: string, options?: Pkcs12ReadOptions): Observable<PKCS12ReadResult>;
    checkPkcs12(bufferOrPath: string, passphrase?: string): Observable<boolean>;
    verifySigningChain(certificate: string, ca: string[]): Observable<boolean>;
    checkCertificate(certificate: string, passphrase?: string): Observable<boolean>;
}
export { CertificateCreationOptions, CertificateCreationResult, CertificateSubjectReadResult, CSRCreationOptions, HashFunction, Pkcs12CreationOptions, Pkcs12ReadOptions, PrivateKeyCreationOptions, ModuleConfiguration, PrivateKeyCreationResult, PublicKeyCreationResult, KeyPairCreationResult, DhParamKeyCreationResult, EcParamKeyCreationResult, CSRCreationResult, FingerprintResult, ModulusResult, DhParamInfoResult, PKCS12CreationResult, PKCS12ReadResult };
