import { Transaction } from "@digitalbits-blockchain/xdb-digitalbits-sdk"; import { AuthToken, Encrypter, GetAuthTokenParams, Key, KeyMetadata, KeyStore, KeyTypeHandler, UnstoredKey } from "./types"; export interface KeyManagerParams { keyStore: KeyStore; defaultNetworkPassphrase?: string; shouldCache?: boolean; } export interface StoreKeyParams { key: Key | UnstoredKey; encrypterName: string; password: string; } export interface SignTransactionParams { transaction: Transaction; id: string; password: string; custom?: { [key: string]: any; }; } export interface ChangePasswordParams { oldPassword: string; newPassword: string; } export declare class KeyManager { private encrypterMap; private keyStore; private keyHandlerMap; private keyCache; private shouldCache; private defaultNetworkPassphrase; constructor(params: KeyManagerParams); registerKeyHandler(keyHandler: KeyTypeHandler): void; registerEncrypter(encrypter: Encrypter): void; setDefaultNetworkPassphrase(passphrase: string): void; storeKey(params: StoreKeyParams): Promise; loadKey(id: string, password: string): Promise; loadAllKeyIds(): Promise; removeKey(id: string): Promise; signTransaction(params: SignTransactionParams): Promise; fetchAuthToken(params: GetAuthTokenParams): Promise; changePassword(params: ChangePasswordParams): Promise; private _readFromCache; private _writeIndexCache; }