import * as puppeteer from 'puppeteer'; import { Page } from 'puppeteer'; import { getMetamask } from './metamask'; import { Path } from './metamaskDownloader'; export { getMetamask }; export declare type LaunchOptions = Parameters[0] & { metamaskVersion: 'v10.1.1' | 'latest' | string; metamaskLocation?: Path; }; export declare type MetamaskOptions = { seed?: string; password?: string; }; export declare type AddNetwork = { networkName: string; rpc: string; chainId: number; symbol?: string; explorer?: string; }; export declare type Dappeteer = { lock: () => Promise; unlock: (password: string) => Promise; addNetwork: (options: AddNetwork) => Promise; importPK: (pk: string) => Promise; switchAccount: (accountNumber: number) => Promise; switchNetwork: (network: string) => Promise; confirmTransaction: (options?: TransactionOptions) => Promise; sign: () => Promise; approve: () => Promise; addToken: (tokenAddress: string) => Promise; getTokenBalance: (tokenSymbol: string) => Promise; page: Page; }; export declare type TransactionOptions = { gas?: number; gasLimit?: number; }; export declare const RECOMMENDED_METAMASK_VERSION = "v10.1.1"; /** * Launch Puppeteer chromium instance with MetaMask plugin installed * */ export declare function launch(puppeteerLib: typeof puppeteer, options: LaunchOptions): Promise; /** * Setup MetaMask with base account * */ export declare function setupMetamask(browser: puppeteer.Browser, options?: MetamaskOptions): Promise; /** * Return MetaMask instance * */ export declare function getMetamaskWindow(browser: puppeteer.Browser, version?: string): Promise;