import type { ECDSAPrivateKey, Ed25519PrivateKey, PrivateKey, RSAPrivateKey, Secp256k1PrivateKey } from '@libp2p/interface'; import type { Multibase } from 'multiformats/bases/interface'; /** * Exports the given PrivateKey as a base64 encoded string. * The PrivateKey is encrypted via a password derived PBKDF2 key * leveraging the aes-gcm cipher algorithm. */ export declare function exporter(privateKey: Uint8Array, password: string): Promise>; export type ExportFormat = 'pkcs-8' | 'libp2p-key'; /** * Converts an exported private key into its representative object. * * Supported formats are 'pem' (RSA only) and 'libp2p-key'. */ export declare function exportPrivateKey(key: PrivateKey, password: string, format?: ExportFormat): Promise>; /** * Exports the key into a password protected `format` */ export declare function exportEd25519PrivateKey(key: Ed25519PrivateKey, password: string, format?: ExportFormat): Promise>; /** * Exports the key into a password protected `format` */ export declare function exportSecp256k1PrivateKey(key: Secp256k1PrivateKey, password: string, format?: ExportFormat): Promise>; /** * Exports the key into a password protected `format` */ export declare function exportECDSAPrivateKey(key: ECDSAPrivateKey, password: string, format?: ExportFormat): Promise>; /** * Exports the key as libp2p-key - a aes-gcm encrypted value with the key * derived from the password. * * To export it as a password protected PEM file, please use the `exportPEM` * function from `@libp2p/rsa`. */ export declare function exportRSAPrivateKey(key: RSAPrivateKey, password: string, format?: ExportFormat): Promise>; export declare function exportToPem(privateKey: RSAPrivateKey, password: string): Promise; //# sourceMappingURL=export.d.ts.map