import type { Page } from 'playwright-core'; import type { AddNetwork, AddToken, Dappwright, OfficialOptions, TransactionOptions, UpdateNetworkRpc } from '../types'; import type { Step, WalletIdOptions, WalletOptions } from './wallets'; export default abstract class Wallet implements Dappwright { version: string; page: Page; constructor(page: Page); static id: WalletIdOptions; static recommendedVersion: string; static releasesUrl: string; static homePath: string; static download: (options: OfficialOptions) => Promise; abstract setup: (options?: WalletOptions, steps?: Step[]) => Promise; abstract defaultSetupSteps: Step[]; abstract addNetwork: (options: AddNetwork) => Promise; abstract addToken: (options: AddToken) => Promise; abstract approve: () => Promise; abstract createAccount: (name?: string) => Promise; abstract confirmNetworkSwitch: () => Promise; abstract confirmTransaction: (options?: TransactionOptions) => Promise; abstract countAccounts: () => Promise; abstract deleteAccount: (name: string) => Promise; abstract deleteNetwork: (name: string) => Promise; abstract getTokenBalance: (tokenSymbol: string) => Promise; abstract hasNetwork: (name: string) => Promise; abstract importPK: (pk: string) => Promise; abstract lock: () => Promise; abstract reject: () => Promise; abstract sign: () => Promise; abstract signin: () => Promise; abstract switchAccount: (name: string) => Promise; abstract switchNetwork: (network: string) => Promise; abstract unlock: (password?: string) => Promise; abstract updateNetworkRpc: (options: UpdateNetworkRpc) => Promise; }