import { Wallet } from 'ethers';
import { ERC20Test, ERC4626Test } from '@hyperlane-xyz/core';
import { ChainAddresses } from '@hyperlane-xyz/registry';
import { ChainMap, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
import { Address } from '@hyperlane-xyz/utils';
export declare const TOTAL_PARTS = 2;
export type WarpBridgeTestConfig = {
    chain2Addresses: ChainAddresses;
    chain3Addresses: ChainAddresses;
    ownerAddress: Address;
    tokenVaultChain2Symbol: string;
    tokenChain2Symbol: string;
    tokenVaultChain3Symbol: string;
    tokenChain3Symbol: string;
    walletChain2: Wallet;
    walletChain3: Wallet;
    tokenChain2: ERC20Test;
    vaultChain2: ERC4626Test;
    tokenChain3: ERC20Test;
    vaultChain3: ERC4626Test;
};
export declare function runWarpBridgeTests(config: WarpBridgeTestConfig, warpConfigTestCases: ReadonlyArray<WarpRouteDeployConfig>): Promise<void>;
export declare function setupChains(): Promise<WarpBridgeTestConfig>;
export declare function generateTestCases(config: WarpBridgeTestConfig, divideBy: number, index: number): ReadonlyArray<WarpRouteDeployConfig>;
export declare function getTokenSymbolFromDeployment(warpConfig: WarpRouteDeployConfig, tokenVaultChain2Symbol: string, tokenChain2Symbol: string, tokenVaultChain3Symbol: string, tokenChain3Symbol: string): string;
export declare function collateralizeWarpTokens(routeConfigPath: string, warpDeployConfig: WarpRouteDeployConfig, walletAndCollateralByChain: ChainMap<{
    wallet: Wallet;
    collateral: ERC20Test;
}>): Promise<void>;
//# sourceMappingURL=warp-bridge-utils.d.ts.map