///
import { HDNode, PublicKeyString } from '@neo-one/client-common';
import { HDLocalStore, LocalPath } from './LocalHDHandler';
export interface NodeAccount {
readonly node: HDNode;
readonly path: LocalPath;
}
export declare type NodeAccounts = Record;
export interface NodeChain {
readonly node: HDNode;
readonly accounts: NodeAccounts;
}
export declare type NodeChains = Record;
export interface NodeWallet {
readonly node?: HDNode;
readonly chains: NodeChains;
}
export declare type NodeWallets = Record;
export interface HDTree {
readonly node?: HDNode;
readonly wallets: NodeWallets;
}
export interface LocalHDStorage {
readonly setItem: (key: string, value: string) => Promise;
readonly getItem: (key: string) => Promise;
readonly removeItem: (key: string) => Promise;
readonly getAllKeys: () => Promise;
}
export declare class LocalHDStore implements HDLocalStore {
private get tree();
private get wallets();
private readonly storage;
private readonly initPromise;
private readonly treeInternal$;
private readonly mutableQueue;
private mutableUpdating;
constructor(storage: LocalHDStorage);
getMasterPath(): Promise;
getPublicKey(path: LocalPath): Promise;
sign(options: {
readonly message: Buffer;
readonly account: LocalPath;
}): Promise;
close(): Promise;
private getWalletOrUndefined;
private getWallet;
private getChain;
private getAccount;
private init;
private getHDTree;
private constructWallets;
private constructWallet;
private constructChain;
private getNodeFromPathOrUndefined;
private getNodeFromPath;
private updateTree;
private startUpdateLoop;
private doUpdate;
}