/* 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: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "BancorFormula",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BancorFormula__factory>;
    getContractFactory(
      name: "Curation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Curation__factory>;
    getContractFactory(
      name: "CurationV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.CurationV1Storage__factory>;
    getContractFactory(
      name: "GraphCurationToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphCurationToken__factory>;
    getContractFactory(
      name: "ICuration",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICuration__factory>;
    getContractFactory(
      name: "IGraphCurationToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphCurationToken__factory>;
    getContractFactory(
      name: "EthereumDIDRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EthereumDIDRegistry__factory>;
    getContractFactory(
      name: "IEthereumDIDRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEthereumDIDRegistry__factory>;
    getContractFactory(
      name: "GNS",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GNS__factory>;
    getContractFactory(
      name: "GNSV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GNSV1Storage__factory>;
    getContractFactory(
      name: "IGNS",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGNS__factory>;
    getContractFactory(
      name: "IServiceRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IServiceRegistry__factory>;
    getContractFactory(
      name: "ServiceRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ServiceRegistry__factory>;
    getContractFactory(
      name: "ServiceRegistryV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ServiceRegistryV1Storage__factory>;
    getContractFactory(
      name: "DisputeManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DisputeManager__factory>;
    getContractFactory(
      name: "DisputeManagerV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DisputeManagerV1Storage__factory>;
    getContractFactory(
      name: "IDisputeManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDisputeManager__factory>;
    getContractFactory(
      name: "EpochManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EpochManager__factory>;
    getContractFactory(
      name: "EpochManagerV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.EpochManagerV1Storage__factory>;
    getContractFactory(
      name: "IEpochManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEpochManager__factory>;
    getContractFactory(
      name: "Controller",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Controller__factory>;
    getContractFactory(
      name: "Governed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Governed__factory>;
    getContractFactory(
      name: "GraphGovernance",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphGovernance__factory>;
    getContractFactory(
      name: "GraphGovernanceV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphGovernanceV1Storage__factory>;
    getContractFactory(
      name: "IController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IController__factory>;
    getContractFactory(
      name: "IGraphGovernance",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphGovernance__factory>;
    getContractFactory(
      name: "IManaged",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IManaged__factory>;
    getContractFactory(
      name: "Managed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Managed__factory>;
    getContractFactory(
      name: "Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pausable__factory>;
    getContractFactory(
      name: "IRewardsManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRewardsManager__factory>;
    getContractFactory(
      name: "RewardsManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RewardsManager__factory>;
    getContractFactory(
      name: "RewardsManagerV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RewardsManagerV1Storage__factory>;
    getContractFactory(
      name: "IStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStaking__factory>;
    getContractFactory(
      name: "LibCobbDouglas",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LibCobbDouglas__factory>;
    getContractFactory(
      name: "Staking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Staking__factory>;
    getContractFactory(
      name: "StakingV1Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakingV1Storage__factory>;
    getContractFactory(
      name: "StakingV2Storage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.StakingV2Storage__factory>;
    getContractFactory(
      name: "AllocationExchange",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AllocationExchange__factory>;
    getContractFactory(
      name: "GRTWithdrawHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GRTWithdrawHelper__factory>;
    getContractFactory(
      name: "ICMCWithdraw",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICMCWithdraw__factory>;
    getContractFactory(
      name: "WithdrawHelper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WithdrawHelper__factory>;
    getContractFactory(
      name: "IENS",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IENS__factory>;
    getContractFactory(
      name: "IPublicResolver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPublicResolver__factory>;
    getContractFactory(
      name: "ITestRegistrar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITestRegistrar__factory>;
    getContractFactory(
      name: "GovernedMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernedMock__factory>;
    getContractFactory(
      name: "RebatePoolMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RebatePoolMock__factory>;
    getContractFactory(
      name: "RewardsManagerMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RewardsManagerMock__factory>;
    getContractFactory(
      name: "GDAI",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GDAI__factory>;
    getContractFactory(
      name: "GSRManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GSRManager__factory>;
    getContractFactory(
      name: "GraphToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphToken__factory>;
    getContractFactory(
      name: "IGraphToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphToken__factory>;
    getContractFactory(
      name: "GraphProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphProxy__factory>;
    getContractFactory(
      name: "GraphProxyAdmin",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphProxyAdmin__factory>;
    getContractFactory(
      name: "GraphProxyStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphProxyStorage__factory>;
    getContractFactory(
      name: "GraphUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GraphUpgradeable__factory>;
    getContractFactory(
      name: "IGraphProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphProxy__factory>;

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