/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */

import { ethers } from "ethers";
import {
  DeployContractOptions,
  FactoryOptions,
  HardhatEthersHelpers as HardhatEthersHelpersBase,
} from "@nomicfoundation/hardhat-ethers/types";

import * as Contracts from ".";

declare module "hardhat/types/runtime" {
  interface HardhatEthersHelpers extends HardhatEthersHelpersBase {
    getContractFactory(
      name: "OwnableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OwnableUpgradeable__factory>;
    getContractFactory(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initializable__factory>;
    getContractFactory(
      name: "UUPSUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UUPSUpgradeable__factory>;
    getContractFactory(
      name: "ERC20Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Upgradeable__factory>;
    getContractFactory(
      name: "ContextUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ContextUpgradeable__factory>;
    getContractFactory(
      name: "PausableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PausableUpgradeable__factory>;
    getContractFactory(
      name: "ReentrancyGuardUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable__factory>;
    getContractFactory(
      name: "IERC1822Proxiable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1822Proxiable__factory>;
    getContractFactory(
      name: "IERC1155Errors",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155Errors__factory>;
    getContractFactory(
      name: "IERC20Errors",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Errors__factory>;
    getContractFactory(
      name: "IERC721Errors",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Errors__factory>;
    getContractFactory(
      name: "IBeacon",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBeacon__factory>;
    getContractFactory(
      name: "ERC1967Utils",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1967Utils__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;
    getContractFactory(
      name: "IERC20Metadata",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Metadata__factory>;
    getContractFactory(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "Address",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Address__factory>;
    getContractFactory(
      name: "IUniswapV3SwapCallback",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3SwapCallback__factory>;
    getContractFactory(
      name: "IUniswapV3Factory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3Factory__factory>;
    getContractFactory(
      name: "IUniswapV3Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3Pool__factory>;
    getContractFactory(
      name: "IUniswapV3PoolActions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolActions__factory>;
    getContractFactory(
      name: "IUniswapV3PoolDerivedState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolDerivedState__factory>;
    getContractFactory(
      name: "IUniswapV3PoolEvents",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolEvents__factory>;
    getContractFactory(
      name: "IUniswapV3PoolImmutables",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolImmutables__factory>;
    getContractFactory(
      name: "IUniswapV3PoolOwnerActions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolOwnerActions__factory>;
    getContractFactory(
      name: "IUniswapV3PoolState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolState__factory>;
    getContractFactory(
      name: "IQuoter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IQuoter__factory>;
    getContractFactory(
      name: "ISwapRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISwapRouter__factory>;
    getContractFactory(
      name: "I1inchSpotAgg",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.I1inchSpotAgg__factory>;
    getContractFactory(
      name: "IBaluniV1Agent",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Agent__factory>;
    getContractFactory(
      name: "IBaluniV1AgentFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1AgentFactory__factory>;
    getContractFactory(
      name: "IBaluniV1DCAVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1DCAVault__factory>;
    getContractFactory(
      name: "IBaluniV1HyperUniProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1HyperUniProxy__factory>;
    getContractFactory(
      name: "IBaluniV1Hypervisor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Hypervisor__factory>;
    getContractFactory(
      name: "IBaluniV1Oracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Oracle__factory>;
    getContractFactory(
      name: "IBaluniV1Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Pool__factory>;
    getContractFactory(
      name: "IBaluniV1PoolPeriphery",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1PoolPeriphery__factory>;
    getContractFactory(
      name: "IBaluniV1PoolRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1PoolRegistry__factory>;
    getContractFactory(
      name: "IBaluniV1Rebalancer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Rebalancer__factory>;
    getContractFactory(
      name: "IBaluniV1Registry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Registry__factory>;
    getContractFactory(
      name: "IBaluniV1Router",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Router__factory>;
    getContractFactory(
      name: "IBaluniV1Swapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Swapper__factory>;
    getContractFactory(
      name: "IBaluniV1YearnVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1YearnVault__factory>;
    getContractFactory(
      name: "IStaticOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStaticOracle__factory>;
    getContractFactory(
      name: "IYearnVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IYearnVault__factory>;
    getContractFactory(
      name: "DSMath",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DSMath__factory>;
    getContractFactory(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "BaluniV1HyperPoolZap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1HyperPoolZap__factory>;
    getContractFactory(
      name: "IBaluniV1Hypervisor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Hypervisor__factory>;
    getContractFactory(
      name: "IClearingV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IClearingV2__factory>;
    getContractFactory(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH__factory>;
    getContractFactory(
      name: "BaluniV1PoolZap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1PoolZap__factory>;
    getContractFactory(
      name: "IBaluniV1Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaluniV1Pool__factory>;
    getContractFactory(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH__factory>;
    getContractFactory(
      name: "BaluniV1Rebalancer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Rebalancer__factory>;
    getContractFactory(
      name: "BaluniV1Swapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Swapper__factory>;
    getContractFactory(
      name: "MockOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockOracle__factory>;
    getContractFactory(
      name: "MockRebalancer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockRebalancer__factory>;
    getContractFactory(
      name: "MockSwapRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockSwapRouter__factory>;
    getContractFactory(
      name: "MockToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockToken__factory>;
    getContractFactory(
      name: "BaluniV1Oracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Oracle__factory>;
    getContractFactory(
      name: "BaluniV1Agent",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Agent__factory>;
    getContractFactory(
      name: "BaluniV1AgentFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1AgentFactory__factory>;
    getContractFactory(
      name: "BaluniV1Router",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Router__factory>;
    getContractFactory(
      name: "BaluniV1Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Pool__factory>;
    getContractFactory(
      name: "BaluniV1PoolPeriphery",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1PoolPeriphery__factory>;
    getContractFactory(
      name: "BaluniV1DCAVaultRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1DCAVaultRegistry__factory>;
    getContractFactory(
      name: "BaluniV1PoolRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1PoolRegistry__factory>;
    getContractFactory(
      name: "BaluniV1Registry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1Registry__factory>;
    getContractFactory(
      name: "BaluniV1YearnVaultRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1YearnVaultRegistry__factory>;
    getContractFactory(
      name: "BaluniV1DCAVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1DCAVault__factory>;
    getContractFactory(
      name: "BaluniV1YearnVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaluniV1YearnVault__factory>;

    getContractAt(
      name: "OwnableUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.OwnableUpgradeable>;
    getContractAt(
      name: "Initializable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Initializable>;
    getContractAt(
      name: "UUPSUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.UUPSUpgradeable>;
    getContractAt(
      name: "ERC20Upgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Upgradeable>;
    getContractAt(
      name: "ContextUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ContextUpgradeable>;
    getContractAt(
      name: "PausableUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.PausableUpgradeable>;
    getContractAt(
      name: "ReentrancyGuardUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    getContractAt(
      name: "IERC1822Proxiable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1822Proxiable>;
    getContractAt(
      name: "IERC1155Errors",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155Errors>;
    getContractAt(
      name: "IERC20Errors",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Errors>;
    getContractAt(
      name: "IERC721Errors",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Errors>;
    getContractAt(
      name: "IBeacon",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBeacon>;
    getContractAt(
      name: "ERC1967Utils",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1967Utils>;
    getContractAt(
      name: "ERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    getContractAt(
      name: "IERC20Metadata",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Metadata>;
    getContractAt(
      name: "IERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "Address",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Address>;
    getContractAt(
      name: "IUniswapV3SwapCallback",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3SwapCallback>;
    getContractAt(
      name: "IUniswapV3Factory",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3Factory>;
    getContractAt(
      name: "IUniswapV3Pool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3Pool>;
    getContractAt(
      name: "IUniswapV3PoolActions",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolActions>;
    getContractAt(
      name: "IUniswapV3PoolDerivedState",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolDerivedState>;
    getContractAt(
      name: "IUniswapV3PoolEvents",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolEvents>;
    getContractAt(
      name: "IUniswapV3PoolImmutables",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolImmutables>;
    getContractAt(
      name: "IUniswapV3PoolOwnerActions",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolOwnerActions>;
    getContractAt(
      name: "IUniswapV3PoolState",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolState>;
    getContractAt(
      name: "IQuoter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IQuoter>;
    getContractAt(
      name: "ISwapRouter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISwapRouter>;
    getContractAt(
      name: "I1inchSpotAgg",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.I1inchSpotAgg>;
    getContractAt(
      name: "IBaluniV1Agent",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Agent>;
    getContractAt(
      name: "IBaluniV1AgentFactory",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1AgentFactory>;
    getContractAt(
      name: "IBaluniV1DCAVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1DCAVault>;
    getContractAt(
      name: "IBaluniV1HyperUniProxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1HyperUniProxy>;
    getContractAt(
      name: "IBaluniV1Hypervisor",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Hypervisor>;
    getContractAt(
      name: "IBaluniV1Oracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Oracle>;
    getContractAt(
      name: "IBaluniV1Pool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Pool>;
    getContractAt(
      name: "IBaluniV1PoolPeriphery",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1PoolPeriphery>;
    getContractAt(
      name: "IBaluniV1PoolRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1PoolRegistry>;
    getContractAt(
      name: "IBaluniV1Rebalancer",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Rebalancer>;
    getContractAt(
      name: "IBaluniV1Registry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Registry>;
    getContractAt(
      name: "IBaluniV1Router",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Router>;
    getContractAt(
      name: "IBaluniV1Swapper",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Swapper>;
    getContractAt(
      name: "IBaluniV1YearnVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1YearnVault>;
    getContractAt(
      name: "IStaticOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStaticOracle>;
    getContractAt(
      name: "IYearnVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IYearnVault>;
    getContractAt(
      name: "DSMath",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.DSMath>;
    getContractAt(
      name: "IERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "BaluniV1HyperPoolZap",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1HyperPoolZap>;
    getContractAt(
      name: "IBaluniV1Hypervisor",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Hypervisor>;
    getContractAt(
      name: "IClearingV2",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IClearingV2>;
    getContractAt(
      name: "IWETH",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH>;
    getContractAt(
      name: "BaluniV1PoolZap",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1PoolZap>;
    getContractAt(
      name: "IBaluniV1Pool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaluniV1Pool>;
    getContractAt(
      name: "IWETH",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH>;
    getContractAt(
      name: "BaluniV1Rebalancer",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Rebalancer>;
    getContractAt(
      name: "BaluniV1Swapper",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Swapper>;
    getContractAt(
      name: "MockOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.MockOracle>;
    getContractAt(
      name: "MockRebalancer",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.MockRebalancer>;
    getContractAt(
      name: "MockSwapRouter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.MockSwapRouter>;
    getContractAt(
      name: "MockToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.MockToken>;
    getContractAt(
      name: "BaluniV1Oracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Oracle>;
    getContractAt(
      name: "BaluniV1Agent",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Agent>;
    getContractAt(
      name: "BaluniV1AgentFactory",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1AgentFactory>;
    getContractAt(
      name: "BaluniV1Router",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Router>;
    getContractAt(
      name: "BaluniV1Pool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Pool>;
    getContractAt(
      name: "BaluniV1PoolPeriphery",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1PoolPeriphery>;
    getContractAt(
      name: "BaluniV1DCAVaultRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1DCAVaultRegistry>;
    getContractAt(
      name: "BaluniV1PoolRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1PoolRegistry>;
    getContractAt(
      name: "BaluniV1Registry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1Registry>;
    getContractAt(
      name: "BaluniV1YearnVaultRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1YearnVaultRegistry>;
    getContractAt(
      name: "BaluniV1DCAVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1DCAVault>;
    getContractAt(
      name: "BaluniV1YearnVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaluniV1YearnVault>;

    deployContract(
      name: "OwnableUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.OwnableUpgradeable>;
    deployContract(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Initializable>;
    deployContract(
      name: "UUPSUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.UUPSUpgradeable>;
    deployContract(
      name: "ERC20Upgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20Upgradeable>;
    deployContract(
      name: "ContextUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ContextUpgradeable>;
    deployContract(
      name: "PausableUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.PausableUpgradeable>;
    deployContract(
      name: "ReentrancyGuardUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    deployContract(
      name: "IERC1822Proxiable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1822Proxiable>;
    deployContract(
      name: "IERC1155Errors",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1155Errors>;
    deployContract(
      name: "IERC20Errors",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Errors>;
    deployContract(
      name: "IERC721Errors",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC721Errors>;
    deployContract(
      name: "IBeacon",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBeacon>;
    deployContract(
      name: "ERC1967Utils",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC1967Utils>;
    deployContract(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20>;
    deployContract(
      name: "IERC20Metadata",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Metadata>;
    deployContract(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "Address",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Address>;
    deployContract(
      name: "IUniswapV3SwapCallback",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3SwapCallback>;
    deployContract(
      name: "IUniswapV3Factory",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3Factory>;
    deployContract(
      name: "IUniswapV3Pool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3Pool>;
    deployContract(
      name: "IUniswapV3PoolActions",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolActions>;
    deployContract(
      name: "IUniswapV3PoolDerivedState",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolDerivedState>;
    deployContract(
      name: "IUniswapV3PoolEvents",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolEvents>;
    deployContract(
      name: "IUniswapV3PoolImmutables",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolImmutables>;
    deployContract(
      name: "IUniswapV3PoolOwnerActions",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolOwnerActions>;
    deployContract(
      name: "IUniswapV3PoolState",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolState>;
    deployContract(
      name: "IQuoter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IQuoter>;
    deployContract(
      name: "ISwapRouter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISwapRouter>;
    deployContract(
      name: "I1inchSpotAgg",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.I1inchSpotAgg>;
    deployContract(
      name: "IBaluniV1Agent",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Agent>;
    deployContract(
      name: "IBaluniV1AgentFactory",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1AgentFactory>;
    deployContract(
      name: "IBaluniV1DCAVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1DCAVault>;
    deployContract(
      name: "IBaluniV1HyperUniProxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1HyperUniProxy>;
    deployContract(
      name: "IBaluniV1Hypervisor",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Hypervisor>;
    deployContract(
      name: "IBaluniV1Oracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Oracle>;
    deployContract(
      name: "IBaluniV1Pool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Pool>;
    deployContract(
      name: "IBaluniV1PoolPeriphery",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1PoolPeriphery>;
    deployContract(
      name: "IBaluniV1PoolRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1PoolRegistry>;
    deployContract(
      name: "IBaluniV1Rebalancer",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Rebalancer>;
    deployContract(
      name: "IBaluniV1Registry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Registry>;
    deployContract(
      name: "IBaluniV1Router",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Router>;
    deployContract(
      name: "IBaluniV1Swapper",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Swapper>;
    deployContract(
      name: "IBaluniV1YearnVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1YearnVault>;
    deployContract(
      name: "IStaticOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStaticOracle>;
    deployContract(
      name: "IYearnVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IYearnVault>;
    deployContract(
      name: "DSMath",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.DSMath>;
    deployContract(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "BaluniV1HyperPoolZap",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1HyperPoolZap>;
    deployContract(
      name: "IBaluniV1Hypervisor",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Hypervisor>;
    deployContract(
      name: "IClearingV2",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IClearingV2>;
    deployContract(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWETH>;
    deployContract(
      name: "BaluniV1PoolZap",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1PoolZap>;
    deployContract(
      name: "IBaluniV1Pool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Pool>;
    deployContract(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWETH>;
    deployContract(
      name: "BaluniV1Rebalancer",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Rebalancer>;
    deployContract(
      name: "BaluniV1Swapper",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Swapper>;
    deployContract(
      name: "MockOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockOracle>;
    deployContract(
      name: "MockRebalancer",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockRebalancer>;
    deployContract(
      name: "MockSwapRouter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockSwapRouter>;
    deployContract(
      name: "MockToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockToken>;
    deployContract(
      name: "BaluniV1Oracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Oracle>;
    deployContract(
      name: "BaluniV1Agent",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Agent>;
    deployContract(
      name: "BaluniV1AgentFactory",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1AgentFactory>;
    deployContract(
      name: "BaluniV1Router",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Router>;
    deployContract(
      name: "BaluniV1Pool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Pool>;
    deployContract(
      name: "BaluniV1PoolPeriphery",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1PoolPeriphery>;
    deployContract(
      name: "BaluniV1DCAVaultRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1DCAVaultRegistry>;
    deployContract(
      name: "BaluniV1PoolRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1PoolRegistry>;
    deployContract(
      name: "BaluniV1Registry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Registry>;
    deployContract(
      name: "BaluniV1YearnVaultRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1YearnVaultRegistry>;
    deployContract(
      name: "BaluniV1DCAVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1DCAVault>;
    deployContract(
      name: "BaluniV1YearnVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1YearnVault>;

    deployContract(
      name: "OwnableUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.OwnableUpgradeable>;
    deployContract(
      name: "Initializable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Initializable>;
    deployContract(
      name: "UUPSUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.UUPSUpgradeable>;
    deployContract(
      name: "ERC20Upgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20Upgradeable>;
    deployContract(
      name: "ContextUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ContextUpgradeable>;
    deployContract(
      name: "PausableUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.PausableUpgradeable>;
    deployContract(
      name: "ReentrancyGuardUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    deployContract(
      name: "IERC1822Proxiable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1822Proxiable>;
    deployContract(
      name: "IERC1155Errors",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1155Errors>;
    deployContract(
      name: "IERC20Errors",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Errors>;
    deployContract(
      name: "IERC721Errors",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC721Errors>;
    deployContract(
      name: "IBeacon",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBeacon>;
    deployContract(
      name: "ERC1967Utils",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC1967Utils>;
    deployContract(
      name: "ERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20>;
    deployContract(
      name: "IERC20Metadata",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Metadata>;
    deployContract(
      name: "IERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "Address",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Address>;
    deployContract(
      name: "IUniswapV3SwapCallback",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3SwapCallback>;
    deployContract(
      name: "IUniswapV3Factory",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3Factory>;
    deployContract(
      name: "IUniswapV3Pool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3Pool>;
    deployContract(
      name: "IUniswapV3PoolActions",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolActions>;
    deployContract(
      name: "IUniswapV3PoolDerivedState",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolDerivedState>;
    deployContract(
      name: "IUniswapV3PoolEvents",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolEvents>;
    deployContract(
      name: "IUniswapV3PoolImmutables",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolImmutables>;
    deployContract(
      name: "IUniswapV3PoolOwnerActions",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolOwnerActions>;
    deployContract(
      name: "IUniswapV3PoolState",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV3PoolState>;
    deployContract(
      name: "IQuoter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IQuoter>;
    deployContract(
      name: "ISwapRouter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISwapRouter>;
    deployContract(
      name: "I1inchSpotAgg",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.I1inchSpotAgg>;
    deployContract(
      name: "IBaluniV1Agent",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Agent>;
    deployContract(
      name: "IBaluniV1AgentFactory",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1AgentFactory>;
    deployContract(
      name: "IBaluniV1DCAVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1DCAVault>;
    deployContract(
      name: "IBaluniV1HyperUniProxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1HyperUniProxy>;
    deployContract(
      name: "IBaluniV1Hypervisor",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Hypervisor>;
    deployContract(
      name: "IBaluniV1Oracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Oracle>;
    deployContract(
      name: "IBaluniV1Pool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Pool>;
    deployContract(
      name: "IBaluniV1PoolPeriphery",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1PoolPeriphery>;
    deployContract(
      name: "IBaluniV1PoolRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1PoolRegistry>;
    deployContract(
      name: "IBaluniV1Rebalancer",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Rebalancer>;
    deployContract(
      name: "IBaluniV1Registry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Registry>;
    deployContract(
      name: "IBaluniV1Router",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Router>;
    deployContract(
      name: "IBaluniV1Swapper",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Swapper>;
    deployContract(
      name: "IBaluniV1YearnVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1YearnVault>;
    deployContract(
      name: "IStaticOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStaticOracle>;
    deployContract(
      name: "IYearnVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IYearnVault>;
    deployContract(
      name: "DSMath",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.DSMath>;
    deployContract(
      name: "IERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "BaluniV1HyperPoolZap",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1HyperPoolZap>;
    deployContract(
      name: "IBaluniV1Hypervisor",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Hypervisor>;
    deployContract(
      name: "IClearingV2",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IClearingV2>;
    deployContract(
      name: "IWETH",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWETH>;
    deployContract(
      name: "BaluniV1PoolZap",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1PoolZap>;
    deployContract(
      name: "IBaluniV1Pool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaluniV1Pool>;
    deployContract(
      name: "IWETH",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWETH>;
    deployContract(
      name: "BaluniV1Rebalancer",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Rebalancer>;
    deployContract(
      name: "BaluniV1Swapper",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Swapper>;
    deployContract(
      name: "MockOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockOracle>;
    deployContract(
      name: "MockRebalancer",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockRebalancer>;
    deployContract(
      name: "MockSwapRouter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockSwapRouter>;
    deployContract(
      name: "MockToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockToken>;
    deployContract(
      name: "BaluniV1Oracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Oracle>;
    deployContract(
      name: "BaluniV1Agent",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Agent>;
    deployContract(
      name: "BaluniV1AgentFactory",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1AgentFactory>;
    deployContract(
      name: "BaluniV1Router",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Router>;
    deployContract(
      name: "BaluniV1Pool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Pool>;
    deployContract(
      name: "BaluniV1PoolPeriphery",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1PoolPeriphery>;
    deployContract(
      name: "BaluniV1DCAVaultRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1DCAVaultRegistry>;
    deployContract(
      name: "BaluniV1PoolRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1PoolRegistry>;
    deployContract(
      name: "BaluniV1Registry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1Registry>;
    deployContract(
      name: "BaluniV1YearnVaultRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1YearnVaultRegistry>;
    deployContract(
      name: "BaluniV1DCAVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1DCAVault>;
    deployContract(
      name: "BaluniV1YearnVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaluniV1YearnVault>;

    // default types
    getContractFactory(
      name: string,
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<ethers.ContractFactory>;
    getContractFactory(
      abi: any[],
      bytecode: ethers.BytesLike,
      signer?: ethers.Signer
    ): Promise<ethers.ContractFactory>;
    getContractAt(
      nameOrAbi: string | any[],
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<ethers.Contract>;
    deployContract(
      name: string,
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<ethers.Contract>;
    deployContract(
      name: string,
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<ethers.Contract>;
  }
}
