import { test as base } from "@playwright/test"; import { OnchainFixtures, WalletFixtureOptions } from "./types"; /** * Creates a Playwright test instance with wallet-specific fixtures based on provided options. * * This function enables testing with different web3 wallets (MetaMask, Coinbase, Phantom) by: * 1. Taking wallet configuration options * 2. Creating appropriate test fixtures for each enabled wallet * 3. Combining multiple wallet fixtures if needed * 4. Automatically including network interception when a local node is configured * * @param config - Configuration object from the config builder * @param config.options - Wallet configuration options * @param config.skipNodeFixture - When true, doesn't create a node fixture (useful when nodes are created in wallet fixtures) * @returns A Playwright test instance extended with wallet-specific fixtures * @throws Error if no wallet fixtures are found in the options * * @example * ```typescript * import { metamaskWalletConfig } from './walletConfig/metamaskWalletConfig'; * import { createOnchainTest, configure } from './onchainTestKit'; * * const test = createOnchainTest( * configure() * .withLocalNode({ chainId: 1337 }) * .withMetaMask() * .withNetwork({ * name: 'Base Sepolia', * chainId: baseSepolia.id, * symbol: 'ETH', * rpcUrl: 'http://localhost:8545', * }) * .build() * ); * * test('connect wallet and swap', async ({ page, metamask, node }) => { * await metamask.handleAction(BaseActionType.CONNECT_TO_DAPP); * }); * ``` */ export declare function createOnchainTest(options: WalletFixtureOptions): ReturnType>;