import { ProtectedValue } from '../crypto/protected-value'; export declare type KdbxChallengeResponseFn = (challenge: ArrayBuffer) => Promise; export declare class KdbxCredentials { readonly ready: Promise; passwordHash: ProtectedValue | undefined; keyFileHash: ProtectedValue | undefined; private _challengeResponse; constructor(password: ProtectedValue | null, keyFile?: ArrayBuffer | Uint8Array | null, challengeResponse?: KdbxChallengeResponseFn); setPassword(password: ProtectedValue | null): Promise; setKeyFile(keyFile: ArrayBuffer | Uint8Array | null | undefined): Promise; private setChallengeResponse; getHash(challenge?: ArrayBuffer): Promise; getChallengeResponse(challenge?: ArrayBuffer): Promise; static createRandomKeyFile(version?: number): Promise; static createKeyFileWithHash(keyBytes: ArrayBuffer, version?: number): Promise; }