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

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

import * as Contracts from ".";

declare module "hardhat/types/runtime" {
  interface HardhatEthersHelpers extends HardhatEthersHelpersBase {
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;
    getContractFactory(
      name: "ERC20Burnable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Burnable__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: "ERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721__factory>;
    getContractFactory(
      name: "ERC721Enumerable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721Enumerable__factory>;
    getContractFactory(
      name: "IERC721Enumerable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Enumerable__factory>;
    getContractFactory(
      name: "IERC721Metadata",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Metadata__factory>;
    getContractFactory(
      name: "IERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721__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: "IUniswapV3SwapCallback",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3SwapCallback__factory>;
    getContractFactory(
      name: "IUniswapV3Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3Pool__factory>;
    getContractFactory(
      name: "IUniswapV3PoolActions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolActions__factory>;
    getContractFactory(
      name: "IUniswapV3PoolDerivedState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolDerivedState__factory>;
    getContractFactory(
      name: "IUniswapV3PoolEvents",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolEvents__factory>;
    getContractFactory(
      name: "IUniswapV3PoolImmutables",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolImmutables__factory>;
    getContractFactory(
      name: "IUniswapV3PoolOwnerActions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolOwnerActions__factory>;
    getContractFactory(
      name: "IUniswapV3PoolState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolState__factory>;
    getContractFactory(
      name: "CharmFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CharmFactory__factory>;
    getContractFactory(
      name: "CharmWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CharmWrapper__factory>;
    getContractFactory(
      name: "DaoPositionCreator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DaoPositionCreator__factory>;
    getContractFactory(
      name: "MinAverageLockDuration",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MinAverageLockDuration__factory>;
    getContractFactory(
      name: "GenesisAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GenesisAllocation__factory>;
    getContractFactory(
      name: "IncentiveAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IncentiveAllocation__factory>;
    getContractFactory(
      name: "ITcpAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITcpAllocation__factory>;
    getContractFactory(
      name: "TcpAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TcpAllocation__factory>;
    getContractFactory(
      name: "TrustlessMulticall",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TrustlessMulticall__factory>;
    getContractFactory(
      name: "TrustlessMulticallViewOnly",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TrustlessMulticallViewOnly__factory>;
    getContractFactory(
      name: "ProtocolDataAggregator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolDataAggregator__factory>;
    getContractFactory(
      name: "RewardsContract",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RewardsContract__factory>;
    getContractFactory(
      name: "EnforcedDecentralization",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EnforcedDecentralization__factory>;
    getContractFactory(
      name: "UpdateableContract",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UpdateableContract__factory>;
    getContractFactory(
      name: "Governor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Governor__factory>;
    getContractFactory(
      name: "GovernorAlpha",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorAlpha__factory>;
    getContractFactory(
      name: "TimelockInterface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TimelockInterface__factory>;
    getContractFactory(
      name: "VotingTokenInterface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VotingTokenInterface__factory>;
    getContractFactory(
      name: "GovernorAlphaWithVotingRewards",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorAlphaWithVotingRewards__factory>;
    getContractFactory(
      name: "Tcp",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Tcp__factory>;
    getContractFactory(
      name: "TcpGovernorAlpha",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TcpGovernorAlpha__factory>;
    getContractFactory(
      name: "TcpTimelock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TcpTimelock__factory>;
    getContractFactory(
      name: "Timelock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Timelock__factory>;
    getContractFactory(
      name: "IAccounting",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccounting__factory>;
    getContractFactory(
      name: "IAuctions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAuctions__factory>;
    getContractFactory(
      name: "IEnforcedDecentralization",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEnforcedDecentralization__factory>;
    getContractFactory(
      name: "IExecutor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IExecutor__factory>;
    getContractFactory(
      name: "IGovernor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGovernor__factory>;
    getContractFactory(
      name: "IHasVotingRewards",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHasVotingRewards__factory>;
    getContractFactory(
      name: "IHue",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHue__factory>;
    getContractFactory(
      name: "ILendHue",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILendHue__factory>;
    getContractFactory(
      name: "ILiquidations",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILiquidations__factory>;
    getContractFactory(
      name: "IMarket",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMarket__factory>;
    getContractFactory(
      name: "IPositionNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPositionNFT__factory>;
    getContractFactory(
      name: "IPrices",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPrices__factory>;
    getContractFactory(
      name: "IProtocolLock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IProtocolLock__factory>;
    getContractFactory(
      name: "IProtocolTokenWithNFTIcon",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IProtocolTokenWithNFTIcon__factory>;
    getContractFactory(
      name: "IRates",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRates__factory>;
    getContractFactory(
      name: "IRatesUpdateDelegate",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRatesUpdateDelegate__factory>;
    getContractFactory(
      name: "IRewards",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRewards__factory>;
    getContractFactory(
      name: "IPriceProvider",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPriceProvider__factory>;
    getContractFactory(
      name: "ISettlement",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISettlement__factory>;
    getContractFactory(
      name: "ITCP",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITCP__factory>;
    getContractFactory(
      name: "ITokenIncentiveMinter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITokenIncentiveMinter__factory>;
    getContractFactory(
      name: "IWETH9",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH9__factory>;
    getContractFactory(
      name: "Auctions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Auctions__factory>;
    getContractFactory(
      name: "Liquidations",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Liquidations__factory>;
    getContractFactory(
      name: "Market",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Market__factory>;
    getContractFactory(
      name: "ERC20Decimals",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Decimals__factory>;
    getContractFactory(
      name: "Prices",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Prices__factory>;
    getContractFactory(
      name: "Rates",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Rates__factory>;
    getContractFactory(
      name: "Rewards",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Rewards__factory>;
    getContractFactory(
      name: "Settlement",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Settlement__factory>;
    getContractFactory(
      name: "AccountingTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccountingTestable__factory>;
    getContractFactory(
      name: "AuctionsTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AuctionsTestable__factory>;
    getContractFactory(
      name: "EnumerableUint128SetTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EnumerableUint128SetTestable__factory>;
    getContractFactory(
      name: "GovernorTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorTestable__factory>;
    getContractFactory(
      name: "MarketTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MarketTestable__factory>;
    getContractFactory(
      name: "MathTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MathTestable__factory>;
    getContractFactory(
      name: "MockERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockERC20__factory>;
    getContractFactory(
      name: "MockGovernor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockGovernor__factory>;
    getContractFactory(
      name: "MockTokenMinter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTokenMinter__factory>;
    getContractFactory(
      name: "MockNftPositionManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockNftPositionManager__factory>;
    getContractFactory(
      name: "MockPriceAggregator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockPriceAggregator__factory>;
    getContractFactory(
      name: "MockProtocolToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockProtocolToken__factory>;
    getContractFactory(
      name: "MockRatesDelegate",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockRatesDelegate__factory>;
    getContractFactory(
      name: "MockTcpAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTcpAllocation__factory>;
    getContractFactory(
      name: "ITDaoWithIncentiveContractMint",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITDaoWithIncentiveContractMint__factory>;
    getContractFactory(
      name: "MockTDaoIncentiveContract",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTDaoIncentiveContract__factory>;
    getContractFactory(
      name: "MockTokenDescriptor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTokenDescriptor__factory>;
    getContractFactory(
      name: "MockTokenIncentiveMinter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTokenIncentiveMinter__factory>;
    getContractFactory(
      name: "Multicall2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Multicall2__factory>;
    getContractFactory(
      name: "PricesTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PricesTestable__factory>;
    getContractFactory(
      name: "RatesTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RatesTestable__factory>;
    getContractFactory(
      name: "RewardsTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RewardsTestable__factory>;
    getContractFactory(
      name: "SafeMath128Testable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SafeMath128Testable__factory>;
    getContractFactory(
      name: "SafeMath256Testable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SafeMath256Testable__factory>;
    getContractFactory(
      name: "SafeMath64Testable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SafeMath64Testable__factory>;
    getContractFactory(
      name: "StaleMockPriceAggregator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StaleMockPriceAggregator__factory>;
    getContractFactory(
      name: "TcpSafeCastTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TcpSafeCastTestable__factory>;
    getContractFactory(
      name: "TcpSafeMathTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TcpSafeMathTestable__factory>;
    getContractFactory(
      name: "TDaoTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoTestable__factory>;
    getContractFactory(
      name: "TestnetERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TestnetERC20__factory>;
    getContractFactory(
      name: "TimeTestable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TimeTestable__factory>;
    getContractFactory(
      name: "WETH9",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WETH9__factory>;
    getContractFactory(
      name: "Accounting",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Accounting__factory>;
    getContractFactory(
      name: "ITDao",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITDao__factory>;
    getContractFactory(
      name: "ITDaoPositionNFTDescriptor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITDaoPositionNFTDescriptor__factory>;
    getContractFactory(
      name: "ITokenLockDao",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITokenLockDao__factory>;
    getContractFactory(
      name: "IGovernorAlpha",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGovernorAlpha__factory>;
    getContractFactory(
      name: "IProtocolToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IProtocolToken__factory>;
    getContractFactory(
      name: "TDao",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDao__factory>;
    getContractFactory(
      name: "TDaoGovernorAlpha",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoGovernorAlpha__factory>;
    getContractFactory(
      name: "TDaoPositionNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoPositionNFT__factory>;
    getContractFactory(
      name: "TDaoPositionNFTDescriptor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoPositionNFTDescriptor__factory>;
    getContractFactory(
      name: "TDaoTimelock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoTimelock__factory>;
    getContractFactory(
      name: "TDaoToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoToken__factory>;
    getContractFactory(
      name: "TDaoVotingRewardsSafe",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TDaoVotingRewardsSafe__factory>;
    getContractFactory(
      name: "Hue",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Hue__factory>;
    getContractFactory(
      name: "HuePositionNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.HuePositionNFT__factory>;
    getContractFactory(
      name: "LendHue",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LendHue__factory>;
    getContractFactory(
      name: "PositionNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PositionNFT__factory>;
    getContractFactory(
      name: "ProtocolToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolToken__factory>;
    getContractFactory(
      name: "Governed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Governed__factory>;
    getContractFactory(
      name: "LocksProtocol",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LocksProtocol__factory>;
    getContractFactory(
      name: "ProtocolLock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProtocolLock__factory>;
    getContractFactory(
      name: "TcpSafeMath",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TcpSafeMath__factory>;
    getContractFactory(
      name: "PeriodTime",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PeriodTime__factory>;
    getContractFactory(
      name: "IPeripheryImmutableState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPeripheryImmutableState__factory>;
    getContractFactory(
      name: "IPeripheryPayments",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPeripheryPayments__factory>;
    getContractFactory(
      name: "IPeripheryPaymentsWithFee",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPeripheryPaymentsWithFee__factory>;
    getContractFactory(
      name: "ISwapRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISwapRouter__factory>;
    getContractFactory(
      name: "IWETH9",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH9__factory>;
    getContractFactory(
      name: "PeripheryImmutableState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PeripheryImmutableState__factory>;
    getContractFactory(
      name: "PeripheryPayments",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PeripheryPayments__factory>;
    getContractFactory(
      name: "PeripheryPaymentsWithFee",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PeripheryPaymentsWithFee__factory>;
    getContractFactory(
      name: "SimpleSwapRouter",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SimpleSwapRouter__factory>;
    getContractFactory(
      name: "IUniswapV3FlashCallback",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3FlashCallback__factory>;
    getContractFactory(
      name: "IUniswapV3MintCallback",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3MintCallback__factory>;
    getContractFactory(
      name: "IUniswapV3SwapCallback",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3SwapCallback__factory>;
    getContractFactory(
      name: "IERC20Minimal",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Minimal__factory>;
    getContractFactory(
      name: "IUniswapV3Factory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3Factory__factory>;
    getContractFactory(
      name: "IUniswapV3Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3Pool__factory>;
    getContractFactory(
      name: "IUniswapV3PoolDeployer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolDeployer__factory>;
    getContractFactory(
      name: "IUniswapV3PoolActions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolActions__factory>;
    getContractFactory(
      name: "IUniswapV3PoolDerivedState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolDerivedState__factory>;
    getContractFactory(
      name: "IUniswapV3PoolEvents",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolEvents__factory>;
    getContractFactory(
      name: "IUniswapV3PoolImmutables",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolImmutables__factory>;
    getContractFactory(
      name: "IUniswapV3PoolOwnerActions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolOwnerActions__factory>;
    getContractFactory(
      name: "IUniswapV3PoolState",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV3PoolState__factory>;
    getContractFactory(
      name: "BitMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BitMathEchidnaTest__factory>;
    getContractFactory(
      name: "BitMathTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BitMathTest__factory>;
    getContractFactory(
      name: "FullMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FullMathEchidnaTest__factory>;
    getContractFactory(
      name: "FullMathTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FullMathTest__factory>;
    getContractFactory(
      name: "LiquidityMathTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LiquidityMathTest__factory>;
    getContractFactory(
      name: "LowGasSafeMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LowGasSafeMathEchidnaTest__factory>;
    getContractFactory(
      name: "MockTimeUniswapV3Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTimeUniswapV3Pool__factory>;
    getContractFactory(
      name: "MockTimeUniswapV3PoolDeployer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockTimeUniswapV3PoolDeployer__factory>;
    getContractFactory(
      name: "NoDelegateCallTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.NoDelegateCallTest__factory>;
    getContractFactory(
      name: "OracleEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OracleEchidnaTest__factory>;
    getContractFactory(
      name: "OracleTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OracleTest__factory>;
    getContractFactory(
      name: "SqrtPriceMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SqrtPriceMathEchidnaTest__factory>;
    getContractFactory(
      name: "SqrtPriceMathTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SqrtPriceMathTest__factory>;
    getContractFactory(
      name: "SwapMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SwapMathEchidnaTest__factory>;
    getContractFactory(
      name: "SwapMathTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SwapMathTest__factory>;
    getContractFactory(
      name: "TestERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TestERC20__factory>;
    getContractFactory(
      name: "TestUniswapV3Callee",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TestUniswapV3Callee__factory>;
    getContractFactory(
      name: "TestUniswapV3ReentrantCallee",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TestUniswapV3ReentrantCallee__factory>;
    getContractFactory(
      name: "TestUniswapV3Router",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TestUniswapV3Router__factory>;
    getContractFactory(
      name: "TestUniswapV3SwapPay",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TestUniswapV3SwapPay__factory>;
    getContractFactory(
      name: "TickBitmapEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickBitmapEchidnaTest__factory>;
    getContractFactory(
      name: "TickBitmapTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickBitmapTest__factory>;
    getContractFactory(
      name: "TickEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickEchidnaTest__factory>;
    getContractFactory(
      name: "TickMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickMathEchidnaTest__factory>;
    getContractFactory(
      name: "TickMathTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickMathTest__factory>;
    getContractFactory(
      name: "TickOverflowSafetyEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickOverflowSafetyEchidnaTest__factory>;
    getContractFactory(
      name: "TickTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TickTest__factory>;
    getContractFactory(
      name: "UniswapV3PoolSwapTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV3PoolSwapTest__factory>;
    getContractFactory(
      name: "UnsafeMathEchidnaTest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UnsafeMathEchidnaTest__factory>;
    getContractFactory(
      name: "UniswapV3Factory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV3Factory__factory>;
    getContractFactory(
      name: "UniswapV3Pool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV3Pool__factory>;
    getContractFactory(
      name: "UniswapV3PoolDeployer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV3PoolDeployer__factory>;

    getContractAt(
      name: "ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    getContractAt(
      name: "ERC20Burnable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Burnable>;
    getContractAt(
      name: "IERC20Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Metadata>;
    getContractAt(
      name: "IERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "ERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721>;
    getContractAt(
      name: "ERC721Enumerable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721Enumerable>;
    getContractAt(
      name: "IERC721Enumerable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Enumerable>;
    getContractAt(
      name: "IERC721Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Metadata>;
    getContractAt(
      name: "IERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721>;
    getContractAt(
      name: "IERC721Receiver",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Receiver>;
    getContractAt(
      name: "ERC165",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165>;
    getContractAt(
      name: "IERC165",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165>;
    getContractAt(
      name: "IUniswapV3SwapCallback",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3SwapCallback>;
    getContractAt(
      name: "IUniswapV3Pool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3Pool>;
    getContractAt(
      name: "IUniswapV3PoolActions",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolActions>;
    getContractAt(
      name: "IUniswapV3PoolDerivedState",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolDerivedState>;
    getContractAt(
      name: "IUniswapV3PoolEvents",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolEvents>;
    getContractAt(
      name: "IUniswapV3PoolImmutables",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolImmutables>;
    getContractAt(
      name: "IUniswapV3PoolOwnerActions",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolOwnerActions>;
    getContractAt(
      name: "IUniswapV3PoolState",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolState>;
    getContractAt(
      name: "CharmFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CharmFactory>;
    getContractAt(
      name: "CharmWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.CharmWrapper>;
    getContractAt(
      name: "DaoPositionCreator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DaoPositionCreator>;
    getContractAt(
      name: "MinAverageLockDuration",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MinAverageLockDuration>;
    getContractAt(
      name: "GenesisAllocation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GenesisAllocation>;
    getContractAt(
      name: "IncentiveAllocation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IncentiveAllocation>;
    getContractAt(
      name: "ITcpAllocation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITcpAllocation>;
    getContractAt(
      name: "TcpAllocation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TcpAllocation>;
    getContractAt(
      name: "TrustlessMulticall",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TrustlessMulticall>;
    getContractAt(
      name: "TrustlessMulticallViewOnly",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TrustlessMulticallViewOnly>;
    getContractAt(
      name: "ProtocolDataAggregator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolDataAggregator>;
    getContractAt(
      name: "RewardsContract",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.RewardsContract>;
    getContractAt(
      name: "EnforcedDecentralization",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.EnforcedDecentralization>;
    getContractAt(
      name: "UpdateableContract",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UpdateableContract>;
    getContractAt(
      name: "Governor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Governor>;
    getContractAt(
      name: "GovernorAlpha",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorAlpha>;
    getContractAt(
      name: "TimelockInterface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TimelockInterface>;
    getContractAt(
      name: "VotingTokenInterface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VotingTokenInterface>;
    getContractAt(
      name: "GovernorAlphaWithVotingRewards",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorAlphaWithVotingRewards>;
    getContractAt(
      name: "Tcp",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Tcp>;
    getContractAt(
      name: "TcpGovernorAlpha",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TcpGovernorAlpha>;
    getContractAt(
      name: "TcpTimelock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TcpTimelock>;
    getContractAt(
      name: "Timelock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Timelock>;
    getContractAt(
      name: "IAccounting",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccounting>;
    getContractAt(
      name: "IAuctions",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAuctions>;
    getContractAt(
      name: "IEnforcedDecentralization",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IEnforcedDecentralization>;
    getContractAt(
      name: "IExecutor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IExecutor>;
    getContractAt(
      name: "IGovernor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGovernor>;
    getContractAt(
      name: "IHasVotingRewards",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IHasVotingRewards>;
    getContractAt(
      name: "IHue",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IHue>;
    getContractAt(
      name: "ILendHue",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ILendHue>;
    getContractAt(
      name: "ILiquidations",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ILiquidations>;
    getContractAt(
      name: "IMarket",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMarket>;
    getContractAt(
      name: "IPositionNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IPositionNFT>;
    getContractAt(
      name: "IPrices",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IPrices>;
    getContractAt(
      name: "IProtocolLock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IProtocolLock>;
    getContractAt(
      name: "IProtocolTokenWithNFTIcon",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IProtocolTokenWithNFTIcon>;
    getContractAt(
      name: "IRates",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IRates>;
    getContractAt(
      name: "IRatesUpdateDelegate",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IRatesUpdateDelegate>;
    getContractAt(
      name: "IRewards",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IRewards>;
    getContractAt(
      name: "IPriceProvider",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IPriceProvider>;
    getContractAt(
      name: "ISettlement",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISettlement>;
    getContractAt(
      name: "ITCP",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITCP>;
    getContractAt(
      name: "ITokenIncentiveMinter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITokenIncentiveMinter>;
    getContractAt(
      name: "IWETH9",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH9>;
    getContractAt(
      name: "Auctions",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Auctions>;
    getContractAt(
      name: "Liquidations",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Liquidations>;
    getContractAt(
      name: "Market",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Market>;
    getContractAt(
      name: "ERC20Decimals",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Decimals>;
    getContractAt(
      name: "Prices",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Prices>;
    getContractAt(
      name: "Rates",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Rates>;
    getContractAt(
      name: "Rewards",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Rewards>;
    getContractAt(
      name: "Settlement",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Settlement>;
    getContractAt(
      name: "AccountingTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccountingTestable>;
    getContractAt(
      name: "AuctionsTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AuctionsTestable>;
    getContractAt(
      name: "EnumerableUint128SetTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.EnumerableUint128SetTestable>;
    getContractAt(
      name: "GovernorTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorTestable>;
    getContractAt(
      name: "MarketTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MarketTestable>;
    getContractAt(
      name: "MathTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MathTestable>;
    getContractAt(
      name: "MockERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockERC20>;
    getContractAt(
      name: "MockGovernor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockGovernor>;
    getContractAt(
      name: "MockTokenMinter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTokenMinter>;
    getContractAt(
      name: "MockNftPositionManager",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockNftPositionManager>;
    getContractAt(
      name: "MockPriceAggregator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockPriceAggregator>;
    getContractAt(
      name: "MockProtocolToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockProtocolToken>;
    getContractAt(
      name: "MockRatesDelegate",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockRatesDelegate>;
    getContractAt(
      name: "MockTcpAllocation",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTcpAllocation>;
    getContractAt(
      name: "ITDaoWithIncentiveContractMint",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITDaoWithIncentiveContractMint>;
    getContractAt(
      name: "MockTDaoIncentiveContract",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTDaoIncentiveContract>;
    getContractAt(
      name: "MockTokenDescriptor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTokenDescriptor>;
    getContractAt(
      name: "MockTokenIncentiveMinter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTokenIncentiveMinter>;
    getContractAt(
      name: "Multicall2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Multicall2>;
    getContractAt(
      name: "PricesTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PricesTestable>;
    getContractAt(
      name: "RatesTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.RatesTestable>;
    getContractAt(
      name: "RewardsTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.RewardsTestable>;
    getContractAt(
      name: "SafeMath128Testable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SafeMath128Testable>;
    getContractAt(
      name: "SafeMath256Testable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SafeMath256Testable>;
    getContractAt(
      name: "SafeMath64Testable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SafeMath64Testable>;
    getContractAt(
      name: "StaleMockPriceAggregator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.StaleMockPriceAggregator>;
    getContractAt(
      name: "TcpSafeCastTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TcpSafeCastTestable>;
    getContractAt(
      name: "TcpSafeMathTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TcpSafeMathTestable>;
    getContractAt(
      name: "TDaoTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoTestable>;
    getContractAt(
      name: "TestnetERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TestnetERC20>;
    getContractAt(
      name: "TimeTestable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TimeTestable>;
    getContractAt(
      name: "WETH9",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.WETH9>;
    getContractAt(
      name: "Accounting",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Accounting>;
    getContractAt(
      name: "ITDao",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITDao>;
    getContractAt(
      name: "ITDaoPositionNFTDescriptor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITDaoPositionNFTDescriptor>;
    getContractAt(
      name: "ITokenLockDao",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITokenLockDao>;
    getContractAt(
      name: "IGovernorAlpha",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGovernorAlpha>;
    getContractAt(
      name: "IProtocolToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IProtocolToken>;
    getContractAt(
      name: "TDao",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDao>;
    getContractAt(
      name: "TDaoGovernorAlpha",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoGovernorAlpha>;
    getContractAt(
      name: "TDaoPositionNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoPositionNFT>;
    getContractAt(
      name: "TDaoPositionNFTDescriptor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoPositionNFTDescriptor>;
    getContractAt(
      name: "TDaoTimelock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoTimelock>;
    getContractAt(
      name: "TDaoToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoToken>;
    getContractAt(
      name: "TDaoVotingRewardsSafe",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TDaoVotingRewardsSafe>;
    getContractAt(
      name: "Hue",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Hue>;
    getContractAt(
      name: "HuePositionNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.HuePositionNFT>;
    getContractAt(
      name: "LendHue",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LendHue>;
    getContractAt(
      name: "PositionNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PositionNFT>;
    getContractAt(
      name: "ProtocolToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolToken>;
    getContractAt(
      name: "Governed",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Governed>;
    getContractAt(
      name: "LocksProtocol",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LocksProtocol>;
    getContractAt(
      name: "ProtocolLock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProtocolLock>;
    getContractAt(
      name: "TcpSafeMath",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TcpSafeMath>;
    getContractAt(
      name: "PeriodTime",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PeriodTime>;
    getContractAt(
      name: "IPeripheryImmutableState",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IPeripheryImmutableState>;
    getContractAt(
      name: "IPeripheryPayments",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IPeripheryPayments>;
    getContractAt(
      name: "IPeripheryPaymentsWithFee",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IPeripheryPaymentsWithFee>;
    getContractAt(
      name: "ISwapRouter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISwapRouter>;
    getContractAt(
      name: "IWETH9",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH9>;
    getContractAt(
      name: "PeripheryImmutableState",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PeripheryImmutableState>;
    getContractAt(
      name: "PeripheryPayments",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PeripheryPayments>;
    getContractAt(
      name: "PeripheryPaymentsWithFee",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PeripheryPaymentsWithFee>;
    getContractAt(
      name: "SimpleSwapRouter",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SimpleSwapRouter>;
    getContractAt(
      name: "IUniswapV3FlashCallback",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3FlashCallback>;
    getContractAt(
      name: "IUniswapV3MintCallback",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3MintCallback>;
    getContractAt(
      name: "IUniswapV3SwapCallback",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3SwapCallback>;
    getContractAt(
      name: "IERC20Minimal",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Minimal>;
    getContractAt(
      name: "IUniswapV3Factory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3Factory>;
    getContractAt(
      name: "IUniswapV3Pool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3Pool>;
    getContractAt(
      name: "IUniswapV3PoolDeployer",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolDeployer>;
    getContractAt(
      name: "IUniswapV3PoolActions",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolActions>;
    getContractAt(
      name: "IUniswapV3PoolDerivedState",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolDerivedState>;
    getContractAt(
      name: "IUniswapV3PoolEvents",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolEvents>;
    getContractAt(
      name: "IUniswapV3PoolImmutables",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolImmutables>;
    getContractAt(
      name: "IUniswapV3PoolOwnerActions",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolOwnerActions>;
    getContractAt(
      name: "IUniswapV3PoolState",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV3PoolState>;
    getContractAt(
      name: "BitMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BitMathEchidnaTest>;
    getContractAt(
      name: "BitMathTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BitMathTest>;
    getContractAt(
      name: "FullMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FullMathEchidnaTest>;
    getContractAt(
      name: "FullMathTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FullMathTest>;
    getContractAt(
      name: "LiquidityMathTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LiquidityMathTest>;
    getContractAt(
      name: "LowGasSafeMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LowGasSafeMathEchidnaTest>;
    getContractAt(
      name: "MockTimeUniswapV3Pool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTimeUniswapV3Pool>;
    getContractAt(
      name: "MockTimeUniswapV3PoolDeployer",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockTimeUniswapV3PoolDeployer>;
    getContractAt(
      name: "NoDelegateCallTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.NoDelegateCallTest>;
    getContractAt(
      name: "OracleEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OracleEchidnaTest>;
    getContractAt(
      name: "OracleTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OracleTest>;
    getContractAt(
      name: "SqrtPriceMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SqrtPriceMathEchidnaTest>;
    getContractAt(
      name: "SqrtPriceMathTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SqrtPriceMathTest>;
    getContractAt(
      name: "SwapMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SwapMathEchidnaTest>;
    getContractAt(
      name: "SwapMathTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SwapMathTest>;
    getContractAt(
      name: "TestERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TestERC20>;
    getContractAt(
      name: "TestUniswapV3Callee",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TestUniswapV3Callee>;
    getContractAt(
      name: "TestUniswapV3ReentrantCallee",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TestUniswapV3ReentrantCallee>;
    getContractAt(
      name: "TestUniswapV3Router",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TestUniswapV3Router>;
    getContractAt(
      name: "TestUniswapV3SwapPay",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TestUniswapV3SwapPay>;
    getContractAt(
      name: "TickBitmapEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickBitmapEchidnaTest>;
    getContractAt(
      name: "TickBitmapTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickBitmapTest>;
    getContractAt(
      name: "TickEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickEchidnaTest>;
    getContractAt(
      name: "TickMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickMathEchidnaTest>;
    getContractAt(
      name: "TickMathTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickMathTest>;
    getContractAt(
      name: "TickOverflowSafetyEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickOverflowSafetyEchidnaTest>;
    getContractAt(
      name: "TickTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TickTest>;
    getContractAt(
      name: "UniswapV3PoolSwapTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV3PoolSwapTest>;
    getContractAt(
      name: "UnsafeMathEchidnaTest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UnsafeMathEchidnaTest>;
    getContractAt(
      name: "UniswapV3Factory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV3Factory>;
    getContractAt(
      name: "UniswapV3Pool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV3Pool>;
    getContractAt(
      name: "UniswapV3PoolDeployer",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV3PoolDeployer>;

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