import SafeEventEmitter from '@metamask/safe-event-emitter'; import { IKeyringWallet, KeyringNetwork, KeyringWalletState, KeyringWalletType } from './kcs'; import { MultiChainWallet, SingleAccountWallet, MultiAccountWallet, MultiKeyWallet } from './wallets'; import { IKeyringAccount } from './kcs'; export declare type KeyringVaultState = { isUnlocked: boolean; wallets: KeyringWalletState[]; }; export declare class KeyringManager extends SafeEventEmitter { private storage; private encryptor; private wallets; private memStore; private password; constructor({ encryptor }: { encryptor: any; }); isUnlocked(): boolean; generateSeedPhrase(): string; private fullUpdate; notifyUpdate(): void; setWalletLabel(walletId: string, label: string): void; removeWalletById(id: string): Promise; createOrRestoreVault(label: string, seed?: string, password?: string): Promise; private createCrossChainHdWallet; createMultiAccountWallet(label: string, seed: string, chain: KeyringNetwork, numOfAccounts?: number): Promise; createMultiKeyWallet(label: string, chain: KeyringNetwork): Promise; createMultiChainHdWallet(label: string, seed?: string): Promise; createSingleAccountWallet(label: string, network: KeyringNetwork, privateKey?: string): Promise; addTokenToAccount(walletId: string, accountAddress: string, address: string): IKeyringAccount; private newMultiChainHdWallet; logout(): void; login(password: string): Promise; setPassword(password: any): void; checkPassword(password: any): boolean; removeEmptyWallets(): void; exportAccountPrivateKey(address: string): string; importAccountPrivateKey(walletId: string, secret: string, label: string): Promise; exportWalletSecretKeyOrPhrase(walletId: string): string; removeAccount(address: any): Promise; signTransaction(tx: any, fromAddress: string, opts?: {}): void; signMessage(msgParams: { from: string; data: string; }, opts?: any): any; private unlockWallets; getAccounts(): IKeyringAccount[]; getWallets(filterByType?: KeyringWalletType): IKeyringWallet[]; getWalletById(id: string): IKeyringWallet; getWalletForAccount(address: string): IKeyringWallet; findAccount(address: string): IKeyringAccount; private persistAllWallets; private _restoreWallet; private updateUnlocked; private clearWallets; private updateMemStoreWallets; }