@metamask-previews/account-api
Version:
MetaMask Multichain Account API
37 lines • 1.96 kB
text/typescript
import type { EntropySourceId, KeyringAccount } from "@metamask/keyring-api";
import type { AccountId } from "@metamask/keyring-utils";
import type { AccountGroupId, AccountProvider, MultichainAccount, MultichainAccountId, MultichainAccountSelector, MultichainAccountWallet, MultichainAccountWalletId } from "../index.cjs";
export declare class MultichainAccountAdapter<Account extends KeyringAccount> implements MultichainAccount<Account> {
#private;
constructor({ groupIndex, wallet, providers, }: {
groupIndex: number;
wallet: MultichainAccountWallet<Account>;
providers: AccountProvider<Account>[];
});
get id(): MultichainAccountId;
get wallet(): MultichainAccountWallet<Account>;
get index(): number;
hasAccounts(): boolean;
getAccounts(): Account[];
getAccount(id: AccountId): Account | undefined;
get(selector: MultichainAccountSelector): Account | undefined;
select(selector: MultichainAccountSelector): Account[];
}
export declare class MultichainAccountWalletAdapter<Account extends KeyringAccount> implements MultichainAccountWallet<Account> {
#private;
constructor({ providers, entropySource, }: {
providers: AccountProvider<Account>[];
entropySource: EntropySourceId;
});
get id(): MultichainAccountWalletId;
get entropySource(): EntropySourceId;
getAccountGroup(groupId: AccountGroupId): MultichainAccount<Account> | undefined;
getAccountGroups(): MultichainAccount<Account>[];
getMultichainAccount(groupIndex: number): MultichainAccount<Account> | undefined;
getMultichainAccounts(): MultichainAccount<Account>[];
getNextGroupIndex(): number;
createMultichainAccount(groupIndex: number): Promise<MultichainAccount<Account>>;
createNextMultichainAccount(): Promise<MultichainAccount<Account>>;
discoverAndCreateMultichainAccounts(): Promise<MultichainAccount<Account>[]>;
}
//# sourceMappingURL=adapters.d.cts.map