///
import { KeyPair, DerReader, DerWriter, Random } from '@microsoft/dev-tunnels-ssh';
import { KeyFormatter } from './keyFormatter';
import { KeyData } from './keyData';
declare namespace Pkcs8KeyFormatter {
interface Importer {
(keyBytes: Buffer, oidReader: DerReader, includePrivate: boolean): Promise;
}
interface Exporter {
(keyPair: KeyPair, oidWriter: DerWriter, includePrivate: boolean): Promise;
}
}
/** Provides import/export of the PKCS#8 key format. */
export declare class Pkcs8KeyFormatter implements KeyFormatter {
private static readonly publicKeyType;
private static readonly privateKeyType;
private static readonly encryptedPrivateKeyType;
constructor();
/** Mapping from public key algorithm OID to import handler for that algorithm. */
readonly importers: Map;
/** Mapping from public key algorithm name to export handler for that algorithm. */
readonly exporters: Map;
/** Enables overriding randomness for predictable testing. */
random: Random;
import(keyData: KeyData): Promise;
export(keyPair: KeyPair, includePrivate: boolean): Promise;
decrypt(keyData: KeyData, passphrase: string | null): Promise;
encrypt(keyData: KeyData, passphrase: string): Promise;
private importPublic;
private importPrivate;
private static importRsaKey;
private static importECKey;
private exportPublic;
private exportPrivate;
private static exportRsaKey;
private static exportECKey;
private static decryptPrivate;
private static encryptPrivate;
private static getKeyEncryptionAlgorithm;
private static pbkdf2;
}
export {};
//# sourceMappingURL=pkcs8KeyFormatter.d.ts.map