import { type AccountWalletWithSecretKey, type AztecAddress, type PXE } from '@aztec/aztec.js';
import type { Logger } from '@aztec/foundation/log';
import { TokenContract } from '@aztec/noir-contracts.js/Token';
export interface TestWallets {
    pxe: PXE;
    wallets: AccountWalletWithSecretKey[];
    tokenAdminWallet: TokenContract;
    tokenAdminAddress: AztecAddress;
    tokenName: string;
    recipientWallet: AccountWalletWithSecretKey;
    recipientAddress: AztecAddress;
    tokenAddress: AztecAddress;
}
export declare function setupTestWalletsWithTokens(pxeUrl: string, mintAmount: bigint, logger: Logger): Promise<TestWallets>;
export declare function deploySponsoredTestWallets(pxe: PXE, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestWallets>;
export declare function deployTestWalletWithTokens(pxeUrl: string, nodeUrl: string, l1RpcUrls: string[], mnemonicOrPrivateKey: string, mintAmount: bigint, logger: Logger, numberOfFundedWallets?: number): Promise<TestWallets>;
export declare function performTransfers({ testWallets, rounds, transferAmount, logger, }: {
    testWallets: TestWallets;
    rounds: number;
    transferAmount: bigint;
    logger: Logger;
}): Promise<void>;
export declare function startCompatiblePXE(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<{
    pxe: PXE;
    cleanup: () => Promise<void>;
}>;
//# sourceMappingURL=setup_test_wallets.d.ts.map