import type { SpendPermission } from './types.js'; import type { EphemeralSmartWallet } from './smartWalletHelpers.js'; import { WorldchainPaymentMaker, type ConfirmationDelays, type WorldchainPaymentMakerOptions } from './worldchainPaymentMaker.js'; import type { Address } from 'viem'; export declare const TEST_WALLET_ADDRESS: Address; export declare const TEST_SMART_WALLET_ADDRESS: Address; export declare const TEST_RECEIVER_ADDRESS: Address; export declare const TEST_PRIVATE_KEY: `0x${string}`; export declare const TEST_PAYMASTER_URL = "https://worldchain-bundler.example.com"; export declare const TEST_BUNDLER_URL = "https://worldchain-bundler.example.com"; export declare const TEST_CONFIRMATION_DELAYS: ConfirmationDelays; export declare function mockProvider({ request }?: { request?: import("vitest").Mock | undefined; }): { request: import("vitest").Mock; }; export declare function mockSpendPermission({ signature, account, spender, token, allowance, // 10 USDC period, // 7 days start, end, salt, extraData, chainId }?: { signature?: `0x${string}` | undefined; account?: `0x${string}` | undefined; spender?: `0x${string}` | undefined; token?: string | undefined; allowance?: string | undefined; period?: number | undefined; start?: number | undefined; end?: number | undefined; salt?: string | undefined; extraData?: `0x${string}` | undefined; chainId?: number | undefined; }): SpendPermission; export declare function removeTimestamps>(obj: T): T; export declare function expectTimestampAround(timestamp: number, expectedOffset?: number, tolerance?: number): void; export declare function mockExpiredSpendPermission(overrides?: {}): SpendPermission; export declare function mockSmartAccount({ address, signMessage }?: { address?: `0x${string}` | undefined; signMessage?: import("vitest").Mock | undefined; }): any; export declare function mockBundlerClient({ sendUserOperation, waitForUserOperationReceipt, waitForTransactionReceipt }?: { sendUserOperation?: import("vitest").Mock | undefined; waitForUserOperationReceipt?: import("vitest").Mock | undefined; waitForTransactionReceipt?: import("vitest").Mock | undefined; }): any; export declare function mockFailedBundlerClient({ failureType }?: { failureType?: string | undefined; }): any; export declare function mockEphemeralSmartWallet({ address, account, client, privateKey }?: { address?: `0x${string}` | undefined; account?: any; client?: any; privateKey?: `0x${string}` | undefined; }): EphemeralSmartWallet; export declare function mockSpendCalls({ calls }?: { calls?: { to: string; data: string; value: string; }[] | undefined; }): { to: string; data: string; value: string; }[]; /** * Helper to create a WorldchainPaymentMaker for testing with fast confirmation delays * * @param permission - Spend permission (defaults to mock) * @param smartWallet - Smart wallet (defaults to mock) * @param options - Additional options * @returns WorldchainPaymentMaker configured for testing */ export declare function createTestWorldchainPaymentMaker(permission?: SpendPermission, smartWallet?: EphemeralSmartWallet, options?: Partial): WorldchainPaymentMaker; /** * Builder pattern for creating test payment makers with fluent API */ export declare class TestWorldchainPaymentMakerBuilder { private permission?; private smartWallet?; private options; withPermission(permission: SpendPermission): this; withSmartWallet(wallet: EphemeralSmartWallet): this; withTestDelays(delays?: ConfirmationDelays): this; withChainId(chainId: number): this; withCustomRpc(rpcUrl: string): this; build(): WorldchainPaymentMaker; } export declare function setupInitializationMocks({ provider, smartAccount, bundlerClient, spendPermission, ephemeralWallet }?: { provider?: { request: import("vitest").Mock; } | undefined; smartAccount?: any; bundlerClient?: any; spendPermission?: SpendPermission | undefined; ephemeralWallet?: EphemeralSmartWallet | undefined; }): Promise; export declare function setupPaymentMocks({ spendCalls }?: { spendCalls?: { to: string; data: string; value: string; }[] | undefined; }): Promise; export declare function getCacheKey(walletAddress: string): string; //# sourceMappingURL=testHelpers.d.ts.map