///
import { MasterKeyValue } from './walletdb/masterKeyValue';
/**
* A Master Key implementation for XChaCha20Poly1305. This class can be used
* to derive child keys deterministically given the child key's salt and nonces.
*
* This master key does not automatically lock or unlock. You must call those
* explicitly if you would like any default timeout behavior.
*/
export declare class MasterKey {
private mutex;
private locked;
readonly salt: Buffer;
readonly nonce: Buffer;
private masterKey;
constructor(masterKeyValue: MasterKeyValue);
static generate(passphrase: string): MasterKey;
lock(): Promise;
unlock(passphrase: string): Promise;
destroy(): Promise;
encrypt(plaintext: Buffer): {
ciphertext: Buffer;
salt: Buffer;
nonce: Buffer;
};
decrypt(ciphertext: Buffer, salt: Buffer, nonce: Buffer): Buffer;
}
//# sourceMappingURL=masterKey.d.ts.map