///
import { bytes, IKeystore, IKeystoreParams } from "./types";
import { CryptoFunction, IKeystoreCrypto } from "./crypto";
export declare class Keystore implements IKeystore {
readonly crypto: IKeystoreCrypto;
readonly pubkey: string;
readonly path: string;
readonly uuid: string;
readonly version: number;
constructor(keystore: Partial);
static fromJSON(json: string): Keystore;
/**
* Encrypt given secret and kreate keystore object.
* @param secret secret to be encrypted
* @param password to be used for encryption
* @param path key derivation path as per eip 2334
* @param crypto pbkdf2 or scrypt
* @param kdfSalt
* @param aesIv
*/
static encrypt(secret: bytes, password: string, path?: string, crypto?: CryptoFunction, kdfSalt?: bytes, aesIv?: bytes): IKeystore;
verifyPassword(password: string): boolean;
/**
* Decrypts keystore secret
* @param password
*/
decrypt(password: string): Buffer;
toObject(): object;
toJSON(): string;
}
export declare class Pbkdf2Keystore extends Keystore {
constructor(keystore: Partial);
}
export declare class ScryptKeystore extends Keystore {
constructor(keystore: Partial);
}