/** * Encrypted keystore for DKG node private keys. * * Encrypts key material at rest using AES-256-GCM with a key derived from a * user passphrase via scrypt. Compatible with the Ethereum keystore V3 pattern * but simplified for our use case. * * Usage: * const ks = await encryptKeystore(privateKeyHex, passphrase); * await writeFile('keystore.json', JSON.stringify(ks)); * ... * const key = await decryptKeystore(ks, passphrase); */ export interface EncryptedKeystore { version: 1; crypto: { cipher: 'aes-256-gcm'; ciphertext: string; iv: string; tag: string; kdf: 'scrypt'; kdfparams: { n: number; r: number; p: number; dklen: number; salt: string; }; }; /** Hex-encoded SHA-256 of the derived key, used for quick passphrase validation. */ id: string; } /** @internal Allow tests to use lighter scrypt params to avoid memory limits */ export declare function _setScryptN(n: number): void; export declare function encryptKeystore(privateKeyHex: string, passphrase: string): Promise; export declare function decryptKeystore(keystore: EncryptedKeystore, passphrase: string): Promise; export declare function isEncryptedKeystore(obj: unknown): obj is EncryptedKeystore; //# sourceMappingURL=keystore.d.ts.map