/// import { Account, AddressString, NetworkType, UserAccount, UserAccountID } from '@neo-one/client-common'; import { Observable } from 'rxjs'; import { KeyStore } from '../LocalUserAccountProvider'; export interface HDAccount { readonly identifier: Identifier; readonly userAccount: UserAccount; } export interface HDProvider { readonly getAccount: (network: NetworkType, address: AddressString) => Promise; readonly getNetworks: () => readonly NetworkType[]; readonly networks$: Observable; } export interface HDHandler { readonly byteLimit?: number; readonly suffix?: string; readonly scanAccounts: (network: NetworkType, maxOffset?: number) => Promise>>; readonly sign: (options: { readonly message: Buffer; readonly account: Identifier; }) => Promise; readonly close: () => Promise; } export declare class HDKeyStore implements KeyStore { readonly byteLimit?: number; readonly currentUserAccount$: Observable; readonly userAccounts$: Observable; private readonly provider; private readonly handler; private readonly accountsSubscription; private readonly logger; private readonly currentUserAccountInternal$; private readonly userAccountsInternal$; private readonly accountsInternal$; private readonly accounts$; constructor(provider: HDProvider, handler: HDHandler); getCurrentUserAccount(): UserAccount | undefined; getUserAccounts(): readonly UserAccount[]; getNetworks(): readonly NetworkType[]; selectUserAccount(id?: UserAccountID): Promise; sign({ account, message, }: { readonly account: UserAccountID; readonly message: string; }): Promise; close(): Promise; private get accounts(); private getHDAccount; private capture; }