/* 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: "IAuthentication",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAuthentication__factory>;
    getContractFactory(
      name: "ISignaturesValidator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISignaturesValidator__factory>;
    getContractFactory(
      name: "ITemporarilyPausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITemporarilyPausable__factory>;
    getContractFactory(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH__factory>;
    getContractFactory(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "IAuthorizer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAuthorizer__factory>;
    getContractFactory(
      name: "IFlashLoanRecipient",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashLoanRecipient__factory>;
    getContractFactory(
      name: "IProtocolFeesCollector",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IProtocolFeesCollector__factory>;
    getContractFactory(
      name: "IVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVault__factory>;
    getContractFactory(
      name: "AggregatorV3Interface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AggregatorV3Interface__factory>;
    getContractFactory(
      name: "AccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlEnumerableUpgradeable__factory>;
    getContractFactory(
      name: "AccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlUpgradeable__factory>;
    getContractFactory(
      name: "IAccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable__factory>;
    getContractFactory(
      name: "IAccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlUpgradeable__factory>;
    getContractFactory(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initializable__factory>;
    getContractFactory(
      name: "ReentrancyGuardUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable__factory>;
    getContractFactory(
      name: "ContextUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ContextUpgradeable__factory>;
    getContractFactory(
      name: "ERC165Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC165Upgradeable__factory>;
    getContractFactory(
      name: "IERC165Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165Upgradeable__factory>;
    getContractFactory(
      name: "AccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControl__factory>;
    getContractFactory(
      name: "AccessControlEnumerable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlEnumerable__factory>;
    getContractFactory(
      name: "IAccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControl__factory>;
    getContractFactory(
      name: "IAccessControlEnumerable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlEnumerable__factory>;
    getContractFactory(
      name: "Ownable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Ownable__factory>;
    getContractFactory(
      name: "Ownable2Step",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Ownable2Step__factory>;
    getContractFactory(
      name: "TimelockController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TimelockController__factory>;
    getContractFactory(
      name: "IERC1822Proxiable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1822Proxiable__factory>;
    getContractFactory(
      name: "BeaconProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BeaconProxy__factory>;
    getContractFactory(
      name: "IBeacon",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBeacon__factory>;
    getContractFactory(
      name: "UpgradeableBeacon",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UpgradeableBeacon__factory>;
    getContractFactory(
      name: "ERC1967Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1967Proxy__factory>;
    getContractFactory(
      name: "ERC1967Upgrade",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1967Upgrade__factory>;
    getContractFactory(
      name: "Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Proxy__factory>;
    getContractFactory(
      name: "ProxyAdmin",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProxyAdmin__factory>;
    getContractFactory(
      name: "TransparentUpgradeableProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TransparentUpgradeableProxy__factory>;
    getContractFactory(
      name: "Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pausable__factory>;
    getContractFactory(
      name: "IERC1155Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155Receiver__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;
    getContractFactory(
      name: "IERC20Permit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Permit__factory>;
    getContractFactory(
      name: "ERC20Burnable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Burnable__factory>;
    getContractFactory(
      name: "ERC20Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Pausable__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: "ERC20PresetMinterPauser",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PresetMinterPauser__factory>;
    getContractFactory(
      name: "IERC721Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Receiver__factory>;
    getContractFactory(
      name: "ERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC165__factory>;
    getContractFactory(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165__factory>;
    getContractFactory(
      name: "IPyth",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPyth__factory>;
    getContractFactory(
      name: "IPythEvents",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPythEvents__factory>;
    getContractFactory(
      name: "CompLogic",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CompLogic__factory>;
    getContractFactory(
      name: "CompoundLens",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CompoundLens__factory>;
    getContractFactory(
      name: "Comptroller",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Comptroller__factory>;
    getContractFactory(
      name: "ComptrollerStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ComptrollerStorage__factory>;
    getContractFactory(
      name: "MockComptroller",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockComptroller__factory>;
    getContractFactory(
      name: "RedemptionManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RedemptionManager__factory>;
    getContractFactory(
      name: "SortedBorrows",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SortedBorrows__factory>;
    getContractFactory(
      name: "CErc20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CErc20__factory>;
    getContractFactory(
      name: "CEther",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CEther__factory>;
    getContractFactory(
      name: "CToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CToken__factory>;
    getContractFactory(
      name: "CTokenStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CTokenStorage__factory>;
    getContractFactory(
      name: "SuErc20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SuErc20__factory>;
    getContractFactory(
      name: "ERC20MinterBurnerPauser",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20MinterBurnerPauser__factory>;
    getContractFactory(
      name: "ERC20MinterBurnerPauserPermit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20MinterBurnerPauserPermit__factory>;
    getContractFactory(
      name: "CInfraredVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CInfraredVault__factory>;
    getContractFactory(
      name: "IPool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPool__factory>;
    getContractFactory(
      name: "IInfraredVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IInfraredVault__factory>;
    getContractFactory(
      name: "IVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVault__factory>;
    getContractFactory(
      name: "VaultReentrancyLib",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VaultReentrancyLib__factory>;
    getContractFactory(
      name: "FixedInterestRateModel",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FixedInterestRateModel__factory>;
    getContractFactory(
      name: "InterestRateModel",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.InterestRateModel__factory>;
    getContractFactory(
      name: "JumpRateModelV2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.JumpRateModelV2__factory>;
    getContractFactory(
      name: "WhitePaperInterestRateModel",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WhitePaperInterestRateModel__factory>;
    getContractFactory(
      name: "IAccountLiquidity",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccountLiquidity__factory>;
    getContractFactory(
      name: "ICErc20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICErc20__factory>;
    getContractFactory(
      name: "ICompLogic",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICompLogic__factory>;
    getContractFactory(
      name: "IComptroller",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IComptroller__factory>;
    getContractFactory(
      name: "ICToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICToken__factory>;
    getContractFactory(
      name: "ICToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICToken__factory>;
    getContractFactory(
      name: "IEIP20NonStandard",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEIP20NonStandard__factory>;
    getContractFactory(
      name: "IEIP712",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEIP712__factory>;
    getContractFactory(
      name: "IGovernorAlpha",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGovernorAlpha__factory>;
    getContractFactory(
      name: "IGovernorBravo",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGovernorBravo__factory>;
    getContractFactory(
      name: "IInterestRateModel",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IInterestRateModel__factory>;
    getContractFactory(
      name: "ILayerBank",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILayerBank__factory>;
    getContractFactory(
      name: "IPendlePtOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPendlePtOracle__factory>;
    getContractFactory(
      name: "IPMarket",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPMarket__factory>;
    getContractFactory(
      name: "IPool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPool__factory>;
    getContractFactory(
      name: "IPPrincipalToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPPrincipalToken__factory>;
    getContractFactory(
      name: "IPriceOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPriceOracle__factory>;
    getContractFactory(
      name: "IPYieldToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPYieldToken__factory>;
    getContractFactory(
      name: "IRedemptionManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRedemptionManager__factory>;
    getContractFactory(
      name: "ISortedBorrows",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISortedBorrows__factory>;
    getContractFactory(
      name: "IStandardizedYield",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStandardizedYield__factory>;
    getContractFactory(
      name: "IStdReference",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStdReference__factory>;
    getContractFactory(
      name: "ITimelock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITimelock__factory>;
    getContractFactory(
      name: "IUnitroller",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUnitroller__factory>;
    getContractFactory(
      name: "IVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVault__factory>;
    getContractFactory(
      name: "IVoltPair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVoltPair__factory>;
    getContractFactory(
      name: "IWitnetFeed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWitnetFeed__factory>;
    getContractFactory(
      name: "IKodiakIsland",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IKodiakIsland__factory>;
    getContractFactory(
      name: "IPriceOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPriceOracle__factory>;
    getContractFactory(
      name: "IUniswapV2Pair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Pair__factory>;
    getContractFactory(
      name: "CreateCall",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CreateCall__factory>;
    getContractFactory(
      name: "RateLimiter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RateLimiter__factory>;
    getContractFactory(
      name: "Multicall2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Multicall2__factory>;
    getContractFactory(
      name: "API3Adapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.API3Adapter__factory>;
    getContractFactory(
      name: "IAPI3Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAPI3Proxy__factory>;
    getContractFactory(
      name: "DualCoreAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DualCoreAdapter__factory>;
    getContractFactory(
      name: "IDualCore",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDualCore__factory>;
    getContractFactory(
      name: "FeedPriceOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FeedPriceOracle__factory>;
    getContractFactory(
      name: "ILayerBank",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILayerBank__factory>;
    getContractFactory(
      name: "LayerBankAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LayerBankAdapter__factory>;
    getContractFactory(
      name: "PriceAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PriceAdapter__factory>;
    getContractFactory(
      name: "PriceOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PriceOracle__factory>;
    getContractFactory(
      name: "IStToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStToken__factory>;
    getContractFactory(
      name: "StakedAngleAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakedAngleAdapter__factory>;
    getContractFactory(
      name: "IEarn",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEarn__factory>;
    getContractFactory(
      name: "IStCore",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStCore__factory>;
    getContractFactory(
      name: "StCoreAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StCoreAdapter__factory>;
    getContractFactory(
      name: "IStEUR",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStEUR__factory>;
    getContractFactory(
      name: "StEURAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StEURAdapter__factory>;
    getContractFactory(
      name: "IStUSD",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStUSD__factory>;
    getContractFactory(
      name: "StUSDAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StUSDAdapter__factory>;
    getContractFactory(
      name: "IStETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStETH__factory>;
    getContractFactory(
      name: "WstETHAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WstETHAdapter__factory>;
    getContractFactory(
      name: "IWstMTRG",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWstMTRG__factory>;
    getContractFactory(
      name: "WstMTRGAdapter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WstMTRGAdapter__factory>;
    getContractFactory(
      name: "IWstMTRG",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWstMTRG__factory>;
    getContractFactory(
      name: "WstMTRGOracle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WstMTRGOracle__factory>;
    getContractFactory(
      name: "SumerProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SumerProxy__factory>;
    getContractFactory(
      name: "SumerProxyAdmin",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SumerProxyAdmin__factory>;
    getContractFactory(
      name: "CommunalFarm",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CommunalFarm__factory>;
    getContractFactory(
      name: "FraxGaugeController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FraxGaugeController__factory>;
    getContractFactory(
      name: "VotingEscrow",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VotingEscrow__factory>;
    getContractFactory(
      name: "FraxGaugeFXSRewardsDistributor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FraxGaugeFXSRewardsDistributor__factory>;
    getContractFactory(
      name: "IFraxGaugeController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFraxGaugeController__factory>;
    getContractFactory(
      name: "IFraxGaugeFXSRewardsDistributor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFraxGaugeFXSRewardsDistributor__factory>;
    getContractFactory(
      name: "IUniswapV2Pair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Pair__factory>;
    getContractFactory(
      name: "StakingRewardsMultiGauge",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakingRewardsMultiGauge__factory>;
    getContractFactory(
      name: "SmartWalletChecker",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SmartWalletChecker__factory>;
    getContractFactory(
      name: "VeSumer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VeSumer__factory>;
    getContractFactory(
      name: "SumerErrors",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SumerErrors__factory>;
    getContractFactory(
      name: "SumerTimelockController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SumerTimelockController__factory>;
    getContractFactory(
      name: "Test",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Test__factory>;
    getContractFactory(
      name: "Timelock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Timelock__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;

    getContractAt(
      name: "IAuthentication",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAuthentication>;
    getContractAt(
      name: "ISignaturesValidator",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISignaturesValidator>;
    getContractAt(
      name: "ITemporarilyPausable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ITemporarilyPausable>;
    getContractAt(
      name: "IWETH",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH>;
    getContractAt(
      name: "IERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "IAuthorizer",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAuthorizer>;
    getContractAt(
      name: "IFlashLoanRecipient",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashLoanRecipient>;
    getContractAt(
      name: "IProtocolFeesCollector",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IProtocolFeesCollector>;
    getContractAt(
      name: "IVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IVault>;
    getContractAt(
      name: "AggregatorV3Interface",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.AggregatorV3Interface>;
    getContractAt(
      name: "AccessControlEnumerableUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlEnumerableUpgradeable>;
    getContractAt(
      name: "AccessControlUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlUpgradeable>;
    getContractAt(
      name: "IAccessControlEnumerableUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable>;
    getContractAt(
      name: "IAccessControlUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlUpgradeable>;
    getContractAt(
      name: "Initializable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Initializable>;
    getContractAt(
      name: "ReentrancyGuardUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    getContractAt(
      name: "ContextUpgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ContextUpgradeable>;
    getContractAt(
      name: "ERC165Upgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165Upgradeable>;
    getContractAt(
      name: "IERC165Upgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165Upgradeable>;
    getContractAt(
      name: "AccessControl",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControl>;
    getContractAt(
      name: "AccessControlEnumerable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlEnumerable>;
    getContractAt(
      name: "IAccessControl",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControl>;
    getContractAt(
      name: "IAccessControlEnumerable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlEnumerable>;
    getContractAt(
      name: "Ownable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Ownable>;
    getContractAt(
      name: "Ownable2Step",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Ownable2Step>;
    getContractAt(
      name: "TimelockController",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.TimelockController>;
    getContractAt(
      name: "IERC1822Proxiable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1822Proxiable>;
    getContractAt(
      name: "BeaconProxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BeaconProxy>;
    getContractAt(
      name: "IBeacon",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBeacon>;
    getContractAt(
      name: "UpgradeableBeacon",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.UpgradeableBeacon>;
    getContractAt(
      name: "ERC1967Proxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1967Proxy>;
    getContractAt(
      name: "ERC1967Upgrade",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1967Upgrade>;
    getContractAt(
      name: "Proxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Proxy>;
    getContractAt(
      name: "ProxyAdmin",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ProxyAdmin>;
    getContractAt(
      name: "TransparentUpgradeableProxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.TransparentUpgradeableProxy>;
    getContractAt(
      name: "Pausable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Pausable>;
    getContractAt(
      name: "IERC1155Receiver",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155Receiver>;
    getContractAt(
      name: "ERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    getContractAt(
      name: "IERC20Permit",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Permit>;
    getContractAt(
      name: "ERC20Burnable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Burnable>;
    getContractAt(
      name: "ERC20Pausable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Pausable>;
    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: "ERC20PresetMinterPauser",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PresetMinterPauser>;
    getContractAt(
      name: "IERC721Receiver",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Receiver>;
    getContractAt(
      name: "ERC165",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165>;
    getContractAt(
      name: "IERC165",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165>;
    getContractAt(
      name: "IPyth",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPyth>;
    getContractAt(
      name: "IPythEvents",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPythEvents>;
    getContractAt(
      name: "CompLogic",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CompLogic>;
    getContractAt(
      name: "CompoundLens",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CompoundLens>;
    getContractAt(
      name: "Comptroller",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Comptroller>;
    getContractAt(
      name: "ComptrollerStorage",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ComptrollerStorage>;
    getContractAt(
      name: "MockComptroller",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.MockComptroller>;
    getContractAt(
      name: "RedemptionManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.RedemptionManager>;
    getContractAt(
      name: "SortedBorrows",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SortedBorrows>;
    getContractAt(
      name: "CErc20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CErc20>;
    getContractAt(
      name: "CEther",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CEther>;
    getContractAt(
      name: "CToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CToken>;
    getContractAt(
      name: "CTokenStorage",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CTokenStorage>;
    getContractAt(
      name: "SuErc20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SuErc20>;
    getContractAt(
      name: "ERC20MinterBurnerPauser",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20MinterBurnerPauser>;
    getContractAt(
      name: "ERC20MinterBurnerPauserPermit",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20MinterBurnerPauserPermit>;
    getContractAt(
      name: "CInfraredVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CInfraredVault>;
    getContractAt(
      name: "IPool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPool>;
    getContractAt(
      name: "IInfraredVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IInfraredVault>;
    getContractAt(
      name: "IVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IVault>;
    getContractAt(
      name: "VaultReentrancyLib",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.VaultReentrancyLib>;
    getContractAt(
      name: "FixedInterestRateModel",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.FixedInterestRateModel>;
    getContractAt(
      name: "InterestRateModel",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.InterestRateModel>;
    getContractAt(
      name: "JumpRateModelV2",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.JumpRateModelV2>;
    getContractAt(
      name: "WhitePaperInterestRateModel",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.WhitePaperInterestRateModel>;
    getContractAt(
      name: "IAccountLiquidity",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccountLiquidity>;
    getContractAt(
      name: "ICErc20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ICErc20>;
    getContractAt(
      name: "ICompLogic",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ICompLogic>;
    getContractAt(
      name: "IComptroller",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IComptroller>;
    getContractAt(
      name: "ICToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ICToken>;
    getContractAt(
      name: "ICToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ICToken>;
    getContractAt(
      name: "IEIP20NonStandard",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IEIP20NonStandard>;
    getContractAt(
      name: "IEIP712",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IEIP712>;
    getContractAt(
      name: "IGovernorAlpha",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGovernorAlpha>;
    getContractAt(
      name: "IGovernorBravo",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGovernorBravo>;
    getContractAt(
      name: "IInterestRateModel",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IInterestRateModel>;
    getContractAt(
      name: "ILayerBank",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ILayerBank>;
    getContractAt(
      name: "IPendlePtOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPendlePtOracle>;
    getContractAt(
      name: "IPMarket",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPMarket>;
    getContractAt(
      name: "IPool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPool>;
    getContractAt(
      name: "IPPrincipalToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPPrincipalToken>;
    getContractAt(
      name: "IPriceOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPriceOracle>;
    getContractAt(
      name: "IPYieldToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPYieldToken>;
    getContractAt(
      name: "IRedemptionManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IRedemptionManager>;
    getContractAt(
      name: "ISortedBorrows",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISortedBorrows>;
    getContractAt(
      name: "IStandardizedYield",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStandardizedYield>;
    getContractAt(
      name: "IStdReference",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStdReference>;
    getContractAt(
      name: "ITimelock",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ITimelock>;
    getContractAt(
      name: "IUnitroller",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUnitroller>;
    getContractAt(
      name: "IVault",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IVault>;
    getContractAt(
      name: "IVoltPair",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IVoltPair>;
    getContractAt(
      name: "IWitnetFeed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IWitnetFeed>;
    getContractAt(
      name: "IKodiakIsland",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IKodiakIsland>;
    getContractAt(
      name: "IPriceOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPriceOracle>;
    getContractAt(
      name: "IUniswapV2Pair",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Pair>;
    getContractAt(
      name: "CreateCall",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CreateCall>;
    getContractAt(
      name: "RateLimiter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.RateLimiter>;
    getContractAt(
      name: "Multicall2",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Multicall2>;
    getContractAt(
      name: "API3Adapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.API3Adapter>;
    getContractAt(
      name: "IAPI3Proxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAPI3Proxy>;
    getContractAt(
      name: "DualCoreAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.DualCoreAdapter>;
    getContractAt(
      name: "IDualCore",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDualCore>;
    getContractAt(
      name: "FeedPriceOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.FeedPriceOracle>;
    getContractAt(
      name: "ILayerBank",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ILayerBank>;
    getContractAt(
      name: "LayerBankAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.LayerBankAdapter>;
    getContractAt(
      name: "PriceAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.PriceAdapter>;
    getContractAt(
      name: "PriceOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.PriceOracle>;
    getContractAt(
      name: "IStToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStToken>;
    getContractAt(
      name: "StakedAngleAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.StakedAngleAdapter>;
    getContractAt(
      name: "IEarn",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IEarn>;
    getContractAt(
      name: "IStCore",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStCore>;
    getContractAt(
      name: "StCoreAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.StCoreAdapter>;
    getContractAt(
      name: "IStEUR",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStEUR>;
    getContractAt(
      name: "StEURAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.StEURAdapter>;
    getContractAt(
      name: "IStUSD",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStUSD>;
    getContractAt(
      name: "StUSDAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.StUSDAdapter>;
    getContractAt(
      name: "IStETH",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStETH>;
    getContractAt(
      name: "WstETHAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.WstETHAdapter>;
    getContractAt(
      name: "IWstMTRG",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IWstMTRG>;
    getContractAt(
      name: "WstMTRGAdapter",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.WstMTRGAdapter>;
    getContractAt(
      name: "IWstMTRG",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IWstMTRG>;
    getContractAt(
      name: "WstMTRGOracle",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.WstMTRGOracle>;
    getContractAt(
      name: "SumerProxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SumerProxy>;
    getContractAt(
      name: "SumerProxyAdmin",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SumerProxyAdmin>;
    getContractAt(
      name: "CommunalFarm",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.CommunalFarm>;
    getContractAt(
      name: "FraxGaugeController",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.FraxGaugeController>;
    getContractAt(
      name: "VotingEscrow",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.VotingEscrow>;
    getContractAt(
      name: "FraxGaugeFXSRewardsDistributor",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.FraxGaugeFXSRewardsDistributor>;
    getContractAt(
      name: "IFraxGaugeController",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IFraxGaugeController>;
    getContractAt(
      name: "IFraxGaugeFXSRewardsDistributor",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IFraxGaugeFXSRewardsDistributor>;
    getContractAt(
      name: "IUniswapV2Pair",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Pair>;
    getContractAt(
      name: "StakingRewardsMultiGauge",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.StakingRewardsMultiGauge>;
    getContractAt(
      name: "SmartWalletChecker",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SmartWalletChecker>;
    getContractAt(
      name: "VeSumer",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.VeSumer>;
    getContractAt(
      name: "SumerErrors",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SumerErrors>;
    getContractAt(
      name: "SumerTimelockController",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.SumerTimelockController>;
    getContractAt(
      name: "Test",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Test>;
    getContractAt(
      name: "Timelock",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Timelock>;
    getContractAt(
      name: "ERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;

    deployContract(
      name: "IAuthentication",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAuthentication>;
    deployContract(
      name: "ISignaturesValidator",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISignaturesValidator>;
    deployContract(
      name: "ITemporarilyPausable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ITemporarilyPausable>;
    deployContract(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWETH>;
    deployContract(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "IAuthorizer",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAuthorizer>;
    deployContract(
      name: "IFlashLoanRecipient",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IFlashLoanRecipient>;
    deployContract(
      name: "IProtocolFeesCollector",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IProtocolFeesCollector>;
    deployContract(
      name: "IVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVault>;
    deployContract(
      name: "AggregatorV3Interface",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AggregatorV3Interface>;
    deployContract(
      name: "AccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControlEnumerableUpgradeable>;
    deployContract(
      name: "AccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControlUpgradeable>;
    deployContract(
      name: "IAccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable>;
    deployContract(
      name: "IAccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControlUpgradeable>;
    deployContract(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Initializable>;
    deployContract(
      name: "ReentrancyGuardUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    deployContract(
      name: "ContextUpgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ContextUpgradeable>;
    deployContract(
      name: "ERC165Upgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC165Upgradeable>;
    deployContract(
      name: "IERC165Upgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165Upgradeable>;
    deployContract(
      name: "AccessControl",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControl>;
    deployContract(
      name: "AccessControlEnumerable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControlEnumerable>;
    deployContract(
      name: "IAccessControl",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControl>;
    deployContract(
      name: "IAccessControlEnumerable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControlEnumerable>;
    deployContract(
      name: "Ownable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Ownable>;
    deployContract(
      name: "Ownable2Step",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Ownable2Step>;
    deployContract(
      name: "TimelockController",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.TimelockController>;
    deployContract(
      name: "IERC1822Proxiable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1822Proxiable>;
    deployContract(
      name: "BeaconProxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BeaconProxy>;
    deployContract(
      name: "IBeacon",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBeacon>;
    deployContract(
      name: "UpgradeableBeacon",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.UpgradeableBeacon>;
    deployContract(
      name: "ERC1967Proxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC1967Proxy>;
    deployContract(
      name: "ERC1967Upgrade",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC1967Upgrade>;
    deployContract(
      name: "Proxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Proxy>;
    deployContract(
      name: "ProxyAdmin",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ProxyAdmin>;
    deployContract(
      name: "TransparentUpgradeableProxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.TransparentUpgradeableProxy>;
    deployContract(
      name: "Pausable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Pausable>;
    deployContract(
      name: "IERC1155Receiver",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1155Receiver>;
    deployContract(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20>;
    deployContract(
      name: "IERC20Permit",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Permit>;
    deployContract(
      name: "ERC20Burnable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20Burnable>;
    deployContract(
      name: "ERC20Pausable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20Pausable>;
    deployContract(
      name: "IERC20Metadata",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Metadata>;
    deployContract(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "ERC20PresetMinterPauser",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20PresetMinterPauser>;
    deployContract(
      name: "IERC721Receiver",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC721Receiver>;
    deployContract(
      name: "ERC165",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC165>;
    deployContract(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165>;
    deployContract(
      name: "IPyth",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPyth>;
    deployContract(
      name: "IPythEvents",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPythEvents>;
    deployContract(
      name: "CompLogic",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CompLogic>;
    deployContract(
      name: "CompoundLens",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CompoundLens>;
    deployContract(
      name: "Comptroller",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Comptroller>;
    deployContract(
      name: "ComptrollerStorage",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ComptrollerStorage>;
    deployContract(
      name: "MockComptroller",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockComptroller>;
    deployContract(
      name: "RedemptionManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.RedemptionManager>;
    deployContract(
      name: "SortedBorrows",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SortedBorrows>;
    deployContract(
      name: "CErc20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CErc20>;
    deployContract(
      name: "CEther",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CEther>;
    deployContract(
      name: "CToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CToken>;
    deployContract(
      name: "CTokenStorage",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CTokenStorage>;
    deployContract(
      name: "SuErc20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SuErc20>;
    deployContract(
      name: "ERC20MinterBurnerPauser",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20MinterBurnerPauser>;
    deployContract(
      name: "ERC20MinterBurnerPauserPermit",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20MinterBurnerPauserPermit>;
    deployContract(
      name: "CInfraredVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CInfraredVault>;
    deployContract(
      name: "IPool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPool>;
    deployContract(
      name: "IInfraredVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IInfraredVault>;
    deployContract(
      name: "IVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVault>;
    deployContract(
      name: "VaultReentrancyLib",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.VaultReentrancyLib>;
    deployContract(
      name: "FixedInterestRateModel",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FixedInterestRateModel>;
    deployContract(
      name: "InterestRateModel",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.InterestRateModel>;
    deployContract(
      name: "JumpRateModelV2",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.JumpRateModelV2>;
    deployContract(
      name: "WhitePaperInterestRateModel",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WhitePaperInterestRateModel>;
    deployContract(
      name: "IAccountLiquidity",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccountLiquidity>;
    deployContract(
      name: "ICErc20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICErc20>;
    deployContract(
      name: "ICompLogic",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICompLogic>;
    deployContract(
      name: "IComptroller",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IComptroller>;
    deployContract(
      name: "ICToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICToken>;
    deployContract(
      name: "ICToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICToken>;
    deployContract(
      name: "IEIP20NonStandard",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEIP20NonStandard>;
    deployContract(
      name: "IEIP712",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEIP712>;
    deployContract(
      name: "IGovernorAlpha",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGovernorAlpha>;
    deployContract(
      name: "IGovernorBravo",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGovernorBravo>;
    deployContract(
      name: "IInterestRateModel",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IInterestRateModel>;
    deployContract(
      name: "ILayerBank",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILayerBank>;
    deployContract(
      name: "IPendlePtOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPendlePtOracle>;
    deployContract(
      name: "IPMarket",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPMarket>;
    deployContract(
      name: "IPool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPool>;
    deployContract(
      name: "IPPrincipalToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPPrincipalToken>;
    deployContract(
      name: "IPriceOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPriceOracle>;
    deployContract(
      name: "IPYieldToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPYieldToken>;
    deployContract(
      name: "IRedemptionManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRedemptionManager>;
    deployContract(
      name: "ISortedBorrows",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISortedBorrows>;
    deployContract(
      name: "IStandardizedYield",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStandardizedYield>;
    deployContract(
      name: "IStdReference",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStdReference>;
    deployContract(
      name: "ITimelock",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ITimelock>;
    deployContract(
      name: "IUnitroller",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUnitroller>;
    deployContract(
      name: "IVault",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVault>;
    deployContract(
      name: "IVoltPair",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVoltPair>;
    deployContract(
      name: "IWitnetFeed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWitnetFeed>;
    deployContract(
      name: "IKodiakIsland",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IKodiakIsland>;
    deployContract(
      name: "IPriceOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPriceOracle>;
    deployContract(
      name: "IUniswapV2Pair",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV2Pair>;
    deployContract(
      name: "CreateCall",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CreateCall>;
    deployContract(
      name: "RateLimiter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.RateLimiter>;
    deployContract(
      name: "Multicall2",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Multicall2>;
    deployContract(
      name: "API3Adapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.API3Adapter>;
    deployContract(
      name: "IAPI3Proxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAPI3Proxy>;
    deployContract(
      name: "DualCoreAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.DualCoreAdapter>;
    deployContract(
      name: "IDualCore",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDualCore>;
    deployContract(
      name: "FeedPriceOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FeedPriceOracle>;
    deployContract(
      name: "ILayerBank",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILayerBank>;
    deployContract(
      name: "LayerBankAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.LayerBankAdapter>;
    deployContract(
      name: "PriceAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.PriceAdapter>;
    deployContract(
      name: "PriceOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.PriceOracle>;
    deployContract(
      name: "IStToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStToken>;
    deployContract(
      name: "StakedAngleAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StakedAngleAdapter>;
    deployContract(
      name: "IEarn",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEarn>;
    deployContract(
      name: "IStCore",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStCore>;
    deployContract(
      name: "StCoreAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StCoreAdapter>;
    deployContract(
      name: "IStEUR",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStEUR>;
    deployContract(
      name: "StEURAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StEURAdapter>;
    deployContract(
      name: "IStUSD",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStUSD>;
    deployContract(
      name: "StUSDAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StUSDAdapter>;
    deployContract(
      name: "IStETH",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStETH>;
    deployContract(
      name: "WstETHAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WstETHAdapter>;
    deployContract(
      name: "IWstMTRG",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWstMTRG>;
    deployContract(
      name: "WstMTRGAdapter",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WstMTRGAdapter>;
    deployContract(
      name: "IWstMTRG",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWstMTRG>;
    deployContract(
      name: "WstMTRGOracle",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WstMTRGOracle>;
    deployContract(
      name: "SumerProxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerProxy>;
    deployContract(
      name: "SumerProxyAdmin",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerProxyAdmin>;
    deployContract(
      name: "CommunalFarm",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CommunalFarm>;
    deployContract(
      name: "FraxGaugeController",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FraxGaugeController>;
    deployContract(
      name: "VotingEscrow",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.VotingEscrow>;
    deployContract(
      name: "FraxGaugeFXSRewardsDistributor",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FraxGaugeFXSRewardsDistributor>;
    deployContract(
      name: "IFraxGaugeController",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IFraxGaugeController>;
    deployContract(
      name: "IFraxGaugeFXSRewardsDistributor",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IFraxGaugeFXSRewardsDistributor>;
    deployContract(
      name: "IUniswapV2Pair",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV2Pair>;
    deployContract(
      name: "StakingRewardsMultiGauge",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StakingRewardsMultiGauge>;
    deployContract(
      name: "SmartWalletChecker",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SmartWalletChecker>;
    deployContract(
      name: "VeSumer",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.VeSumer>;
    deployContract(
      name: "SumerErrors",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerErrors>;
    deployContract(
      name: "SumerTimelockController",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerTimelockController>;
    deployContract(
      name: "Test",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Test>;
    deployContract(
      name: "Timelock",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Timelock>;
    deployContract(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20>;

    deployContract(
      name: "IAuthentication",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAuthentication>;
    deployContract(
      name: "ISignaturesValidator",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISignaturesValidator>;
    deployContract(
      name: "ITemporarilyPausable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ITemporarilyPausable>;
    deployContract(
      name: "IWETH",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWETH>;
    deployContract(
      name: "IERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "IAuthorizer",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAuthorizer>;
    deployContract(
      name: "IFlashLoanRecipient",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IFlashLoanRecipient>;
    deployContract(
      name: "IProtocolFeesCollector",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IProtocolFeesCollector>;
    deployContract(
      name: "IVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVault>;
    deployContract(
      name: "AggregatorV3Interface",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AggregatorV3Interface>;
    deployContract(
      name: "AccessControlEnumerableUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControlEnumerableUpgradeable>;
    deployContract(
      name: "AccessControlUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControlUpgradeable>;
    deployContract(
      name: "IAccessControlEnumerableUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable>;
    deployContract(
      name: "IAccessControlUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControlUpgradeable>;
    deployContract(
      name: "Initializable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Initializable>;
    deployContract(
      name: "ReentrancyGuardUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ReentrancyGuardUpgradeable>;
    deployContract(
      name: "ContextUpgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ContextUpgradeable>;
    deployContract(
      name: "ERC165Upgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC165Upgradeable>;
    deployContract(
      name: "IERC165Upgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165Upgradeable>;
    deployContract(
      name: "AccessControl",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControl>;
    deployContract(
      name: "AccessControlEnumerable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControlEnumerable>;
    deployContract(
      name: "IAccessControl",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControl>;
    deployContract(
      name: "IAccessControlEnumerable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControlEnumerable>;
    deployContract(
      name: "Ownable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Ownable>;
    deployContract(
      name: "Ownable2Step",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Ownable2Step>;
    deployContract(
      name: "TimelockController",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.TimelockController>;
    deployContract(
      name: "IERC1822Proxiable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1822Proxiable>;
    deployContract(
      name: "BeaconProxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BeaconProxy>;
    deployContract(
      name: "IBeacon",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBeacon>;
    deployContract(
      name: "UpgradeableBeacon",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.UpgradeableBeacon>;
    deployContract(
      name: "ERC1967Proxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC1967Proxy>;
    deployContract(
      name: "ERC1967Upgrade",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC1967Upgrade>;
    deployContract(
      name: "Proxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Proxy>;
    deployContract(
      name: "ProxyAdmin",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ProxyAdmin>;
    deployContract(
      name: "TransparentUpgradeableProxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.TransparentUpgradeableProxy>;
    deployContract(
      name: "Pausable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Pausable>;
    deployContract(
      name: "IERC1155Receiver",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC1155Receiver>;
    deployContract(
      name: "ERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20>;
    deployContract(
      name: "IERC20Permit",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Permit>;
    deployContract(
      name: "ERC20Burnable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20Burnable>;
    deployContract(
      name: "ERC20Pausable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20Pausable>;
    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: "ERC20PresetMinterPauser",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20PresetMinterPauser>;
    deployContract(
      name: "IERC721Receiver",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC721Receiver>;
    deployContract(
      name: "ERC165",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC165>;
    deployContract(
      name: "IERC165",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165>;
    deployContract(
      name: "IPyth",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPyth>;
    deployContract(
      name: "IPythEvents",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPythEvents>;
    deployContract(
      name: "CompLogic",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CompLogic>;
    deployContract(
      name: "CompoundLens",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CompoundLens>;
    deployContract(
      name: "Comptroller",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Comptroller>;
    deployContract(
      name: "ComptrollerStorage",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ComptrollerStorage>;
    deployContract(
      name: "MockComptroller",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.MockComptroller>;
    deployContract(
      name: "RedemptionManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.RedemptionManager>;
    deployContract(
      name: "SortedBorrows",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SortedBorrows>;
    deployContract(
      name: "CErc20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CErc20>;
    deployContract(
      name: "CEther",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CEther>;
    deployContract(
      name: "CToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CToken>;
    deployContract(
      name: "CTokenStorage",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CTokenStorage>;
    deployContract(
      name: "SuErc20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SuErc20>;
    deployContract(
      name: "ERC20MinterBurnerPauser",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20MinterBurnerPauser>;
    deployContract(
      name: "ERC20MinterBurnerPauserPermit",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20MinterBurnerPauserPermit>;
    deployContract(
      name: "CInfraredVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CInfraredVault>;
    deployContract(
      name: "IPool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPool>;
    deployContract(
      name: "IInfraredVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IInfraredVault>;
    deployContract(
      name: "IVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVault>;
    deployContract(
      name: "VaultReentrancyLib",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.VaultReentrancyLib>;
    deployContract(
      name: "FixedInterestRateModel",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FixedInterestRateModel>;
    deployContract(
      name: "InterestRateModel",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.InterestRateModel>;
    deployContract(
      name: "JumpRateModelV2",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.JumpRateModelV2>;
    deployContract(
      name: "WhitePaperInterestRateModel",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WhitePaperInterestRateModel>;
    deployContract(
      name: "IAccountLiquidity",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccountLiquidity>;
    deployContract(
      name: "ICErc20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICErc20>;
    deployContract(
      name: "ICompLogic",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICompLogic>;
    deployContract(
      name: "IComptroller",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IComptroller>;
    deployContract(
      name: "ICToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICToken>;
    deployContract(
      name: "ICToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICToken>;
    deployContract(
      name: "IEIP20NonStandard",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEIP20NonStandard>;
    deployContract(
      name: "IEIP712",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEIP712>;
    deployContract(
      name: "IGovernorAlpha",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGovernorAlpha>;
    deployContract(
      name: "IGovernorBravo",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGovernorBravo>;
    deployContract(
      name: "IInterestRateModel",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IInterestRateModel>;
    deployContract(
      name: "ILayerBank",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILayerBank>;
    deployContract(
      name: "IPendlePtOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPendlePtOracle>;
    deployContract(
      name: "IPMarket",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPMarket>;
    deployContract(
      name: "IPool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPool>;
    deployContract(
      name: "IPPrincipalToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPPrincipalToken>;
    deployContract(
      name: "IPriceOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPriceOracle>;
    deployContract(
      name: "IPYieldToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPYieldToken>;
    deployContract(
      name: "IRedemptionManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRedemptionManager>;
    deployContract(
      name: "ISortedBorrows",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISortedBorrows>;
    deployContract(
      name: "IStandardizedYield",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStandardizedYield>;
    deployContract(
      name: "IStdReference",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStdReference>;
    deployContract(
      name: "ITimelock",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ITimelock>;
    deployContract(
      name: "IUnitroller",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUnitroller>;
    deployContract(
      name: "IVault",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVault>;
    deployContract(
      name: "IVoltPair",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IVoltPair>;
    deployContract(
      name: "IWitnetFeed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWitnetFeed>;
    deployContract(
      name: "IKodiakIsland",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IKodiakIsland>;
    deployContract(
      name: "IPriceOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPriceOracle>;
    deployContract(
      name: "IUniswapV2Pair",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV2Pair>;
    deployContract(
      name: "CreateCall",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CreateCall>;
    deployContract(
      name: "RateLimiter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.RateLimiter>;
    deployContract(
      name: "Multicall2",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Multicall2>;
    deployContract(
      name: "API3Adapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.API3Adapter>;
    deployContract(
      name: "IAPI3Proxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAPI3Proxy>;
    deployContract(
      name: "DualCoreAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.DualCoreAdapter>;
    deployContract(
      name: "IDualCore",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDualCore>;
    deployContract(
      name: "FeedPriceOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FeedPriceOracle>;
    deployContract(
      name: "ILayerBank",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILayerBank>;
    deployContract(
      name: "LayerBankAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.LayerBankAdapter>;
    deployContract(
      name: "PriceAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.PriceAdapter>;
    deployContract(
      name: "PriceOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.PriceOracle>;
    deployContract(
      name: "IStToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStToken>;
    deployContract(
      name: "StakedAngleAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StakedAngleAdapter>;
    deployContract(
      name: "IEarn",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEarn>;
    deployContract(
      name: "IStCore",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStCore>;
    deployContract(
      name: "StCoreAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StCoreAdapter>;
    deployContract(
      name: "IStEUR",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStEUR>;
    deployContract(
      name: "StEURAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StEURAdapter>;
    deployContract(
      name: "IStUSD",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStUSD>;
    deployContract(
      name: "StUSDAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StUSDAdapter>;
    deployContract(
      name: "IStETH",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStETH>;
    deployContract(
      name: "WstETHAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WstETHAdapter>;
    deployContract(
      name: "IWstMTRG",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWstMTRG>;
    deployContract(
      name: "WstMTRGAdapter",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WstMTRGAdapter>;
    deployContract(
      name: "IWstMTRG",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IWstMTRG>;
    deployContract(
      name: "WstMTRGOracle",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WstMTRGOracle>;
    deployContract(
      name: "SumerProxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerProxy>;
    deployContract(
      name: "SumerProxyAdmin",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerProxyAdmin>;
    deployContract(
      name: "CommunalFarm",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.CommunalFarm>;
    deployContract(
      name: "FraxGaugeController",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FraxGaugeController>;
    deployContract(
      name: "VotingEscrow",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.VotingEscrow>;
    deployContract(
      name: "FraxGaugeFXSRewardsDistributor",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.FraxGaugeFXSRewardsDistributor>;
    deployContract(
      name: "IFraxGaugeController",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IFraxGaugeController>;
    deployContract(
      name: "IFraxGaugeFXSRewardsDistributor",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IFraxGaugeFXSRewardsDistributor>;
    deployContract(
      name: "IUniswapV2Pair",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IUniswapV2Pair>;
    deployContract(
      name: "StakingRewardsMultiGauge",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.StakingRewardsMultiGauge>;
    deployContract(
      name: "SmartWalletChecker",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SmartWalletChecker>;
    deployContract(
      name: "VeSumer",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.VeSumer>;
    deployContract(
      name: "SumerErrors",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerErrors>;
    deployContract(
      name: "SumerTimelockController",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.SumerTimelockController>;
    deployContract(
      name: "Test",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Test>;
    deployContract(
      name: "Timelock",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Timelock>;
    deployContract(
      name: "ERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC20>;

    // 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>;
  }
}
