import { CertificateCreationOptions, CertificateCreationResult, CertificateSubjectReadResult, CSRCreationOptions, HashFunction, ModuleConfiguration, Pkcs12CreationOptions, Pkcs12ReadOptions, PrivateKeyCreationOptions } from 'pem'; import { Observable } from 'rxjs'; export interface PrivateKeyCreationResult { key: string; } export interface PublicKeyCreationResult { publicKey: string; } export interface KeyPairCreationResult { key: string; publicKey: string; } export interface DhParamKeyCreationResult { dhparam: any; } export interface EcParamKeyCreationResult { ecparam: any; } export interface CSRCreationResult { csr: string; clientKey: string; } export interface FingerprintResult { fingerprint: string; } export interface ModulusResult { modulus: any; } export interface DhParamInfoResult { size: any; prime: any; } export interface PKCS12CreationResult { pkcs12: any; } export interface PKCS12ReadResult { key: string; cert: string; ca: string[]; } export declare class PEM { private _config?; constructor(_config?: ModuleConfiguration); createPrivateKey(keyBitsize?: number, options?: PrivateKeyCreationOptions): Observable; createDhparam(keyBitsize?: number): Observable; createEcparam(keyName?: string, paramEnc?: string, noOut?: boolean): Observable; createCSR(options?: CSRCreationOptions): Observable; createCertificate(options?: CertificateCreationOptions): Observable; readCertificateInfo(certificate: string): Observable; getPublicKey(certificate: string): Observable; createKeyPair(keyBitsize?: number, options?: PrivateKeyCreationOptions): Observable; getFingerprint(certificate: string, hash?: HashFunction): Observable; getModulus(certificate: string, password?: string): Observable; getDhparamInfo(dh: string): Observable; createPkcs12(key: string, certificate: string, password: string, options?: Pkcs12CreationOptions): Observable; readPkcs12(bufferOrPath: string, options?: Pkcs12ReadOptions): Observable; checkPkcs12(bufferOrPath: string, passphrase?: string): Observable; verifySigningChain(certificate: string, ca: string[]): Observable; checkCertificate(certificate: string, passphrase?: string): Observable; } export { CertificateCreationOptions, CertificateCreationResult, CertificateSubjectReadResult, CSRCreationOptions, HashFunction, Pkcs12CreationOptions, Pkcs12ReadOptions, PrivateKeyCreationOptions, ModuleConfiguration };