/* 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: "IERC20Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Upgradeable__factory>;
    getContractFactory(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165__factory>;
    getContractFactory(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "IERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721__factory>;
    getContractFactory(
      name: "IArbToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IArbToken__factory>;
    getContractFactory(
      name: "IBridge",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBridge__factory>;
    getContractFactory(
      name: "IInbox",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IInbox__factory>;
    getContractFactory(
      name: "IMessageProvider",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMessageProvider__factory>;
    getContractFactory(
      name: "IOutbox",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IOutbox__factory>;
    getContractFactory(
      name: "ITokenGateway",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITokenGateway__factory>;
    getContractFactory(
      name: "IMulticall",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMulticall__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: "IEthereumDIDRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEthereumDIDRegistry__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: "ISubgraphNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISubgraphNFT__factory>;
    getContractFactory(
      name: "ISubgraphNFTDescriptor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISubgraphNFTDescriptor__factory>;
    getContractFactory(
      name: "IDisputeManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDisputeManager__factory>;
    getContractFactory(
      name: "IEpochManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEpochManager__factory>;
    getContractFactory(
      name: "ICallhookReceiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ICallhookReceiver__factory>;
    getContractFactory(
      name: "IController",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IController__factory>;
    getContractFactory(
      name: "IGoverned",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGoverned__factory>;
    getContractFactory(
      name: "IManaged",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IManaged__factory>;
    getContractFactory(
      name: "IL2Curation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2Curation__factory>;
    getContractFactory(
      name: "IL2GNS",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2GNS__factory>;
    getContractFactory(
      name: "IL2GraphTokenGateway",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2GraphTokenGateway__factory>;
    getContractFactory(
      name: "IL2Staking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2Staking__factory>;
    getContractFactory(
      name: "IL2StakingBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2StakingBase__factory>;
    getContractFactory(
      name: "IL2GraphToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2GraphToken__factory>;
    getContractFactory(
      name: "ILegacyRewardsManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILegacyRewardsManager__factory>;
    getContractFactory(
      name: "IRewardsIssuer",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRewardsIssuer__factory>;
    getContractFactory(
      name: "IRewardsManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRewardsManager__factory>;
    getContractFactory(
      name: "IL1GraphTokenLockTransferTool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL1GraphTokenLockTransferTool__factory>;
    getContractFactory(
      name: "IL1Staking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL1Staking__factory>;
    getContractFactory(
      name: "IL1StakingBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL1StakingBase__factory>;
    getContractFactory(
      name: "IStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStaking__factory>;
    getContractFactory(
      name: "IStakingBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStakingBase__factory>;
    getContractFactory(
      name: "IStakingExtension",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IStakingExtension__factory>;
    getContractFactory(
      name: "IGraphToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphToken__factory>;
    getContractFactory(
      name: "IGraphProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphProxy__factory>;
    getContractFactory(
      name: "IGraphProxyAdmin",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphProxyAdmin__factory>;
    getContractFactory(
      name: "IDataService",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDataService__factory>;
    getContractFactory(
      name: "IDataServiceFees",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDataServiceFees__factory>;
    getContractFactory(
      name: "IDataServicePausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDataServicePausable__factory>;
    getContractFactory(
      name: "IDataServiceRescuable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDataServiceRescuable__factory>;
    getContractFactory(
      name: "IAuthorizable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAuthorizable__factory>;
    getContractFactory(
      name: "IGraphPayments",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphPayments__factory>;
    getContractFactory(
      name: "IGraphTallyCollector",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphTallyCollector__factory>;
    getContractFactory(
      name: "IHorizonStaking",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHorizonStaking__factory>;
    getContractFactory(
      name: "IHorizonStakingBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHorizonStakingBase__factory>;
    getContractFactory(
      name: "IHorizonStakingExtension",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHorizonStakingExtension__factory>;
    getContractFactory(
      name: "IHorizonStakingMain",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHorizonStakingMain__factory>;
    getContractFactory(
      name: "ILinkedList",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILinkedList__factory>;
    getContractFactory(
      name: "IPaymentsCollector",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPaymentsCollector__factory>;
    getContractFactory(
      name: "IPaymentsEscrow",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPaymentsEscrow__factory>;
    getContractFactory(
      name: "IDisputeManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDisputeManager__factory>;
    getContractFactory(
      name: "IAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAllocation__factory>;
    getContractFactory(
      name: "IAttestation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAttestation__factory>;
    getContractFactory(
      name: "ILegacyAllocation",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILegacyAllocation__factory>;
    getContractFactory(
      name: "ISubgraphService",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISubgraphService__factory>;
    getContractFactory(
      name: "IGraphTokenLockWallet",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphTokenLockWallet__factory>;
    getContractFactory(
      name: "IControllerToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IControllerToolshed__factory>;
    getContractFactory(
      name: "IDisputeManagerToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDisputeManagerToolshed__factory>;
    getContractFactory(
      name: "IEpochManagerToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IEpochManagerToolshed__factory>;
    getContractFactory(
      name: "IGraphTallyCollectorToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphTallyCollectorToolshed__factory>;
    getContractFactory(
      name: "IGraphTokenLockWalletToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGraphTokenLockWalletToolshed__factory>;
    getContractFactory(
      name: "IHorizonStakingToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHorizonStakingToolshed__factory>;
    getContractFactory(
      name: "IL2CurationToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2CurationToolshed__factory>;
    getContractFactory(
      name: "IL2GNSToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IL2GNSToolshed__factory>;
    getContractFactory(
      name: "IAllocationManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAllocationManager__factory>;
    getContractFactory(
      name: "IOwnable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IOwnable__factory>;
    getContractFactory(
      name: "IPausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPausable__factory>;
    getContractFactory(
      name: "IProvisionManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IProvisionManager__factory>;
    getContractFactory(
      name: "IProvisionTracker",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IProvisionTracker__factory>;
    getContractFactory(
      name: "IPaymentsEscrowToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IPaymentsEscrowToolshed__factory>;
    getContractFactory(
      name: "IRewardsManagerToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRewardsManagerToolshed__factory>;
    getContractFactory(
      name: "IServiceRegistryToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IServiceRegistryToolshed__factory>;
    getContractFactory(
      name: "ISubgraphServiceToolshed",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISubgraphServiceToolshed__factory>;

    getContractAt(
      name: "IERC20Upgradeable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Upgradeable>;
    getContractAt(
      name: "IERC165",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165>;
    getContractAt(
      name: "IERC20",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "IERC721",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721>;
    getContractAt(
      name: "IArbToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IArbToken>;
    getContractAt(
      name: "IBridge",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBridge>;
    getContractAt(
      name: "IInbox",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IInbox>;
    getContractAt(
      name: "IMessageProvider",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IMessageProvider>;
    getContractAt(
      name: "IOutbox",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IOutbox>;
    getContractAt(
      name: "ITokenGateway",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ITokenGateway>;
    getContractAt(
      name: "IMulticall",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IMulticall>;
    getContractAt(
      name: "ICuration",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ICuration>;
    getContractAt(
      name: "IGraphCurationToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphCurationToken>;
    getContractAt(
      name: "IEthereumDIDRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IEthereumDIDRegistry>;
    getContractAt(
      name: "IGNS",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGNS>;
    getContractAt(
      name: "IServiceRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IServiceRegistry>;
    getContractAt(
      name: "ISubgraphNFT",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISubgraphNFT>;
    getContractAt(
      name: "ISubgraphNFTDescriptor",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISubgraphNFTDescriptor>;
    getContractAt(
      name: "IDisputeManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDisputeManager>;
    getContractAt(
      name: "IEpochManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IEpochManager>;
    getContractAt(
      name: "ICallhookReceiver",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ICallhookReceiver>;
    getContractAt(
      name: "IController",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IController>;
    getContractAt(
      name: "IGoverned",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGoverned>;
    getContractAt(
      name: "IManaged",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IManaged>;
    getContractAt(
      name: "IL2Curation",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2Curation>;
    getContractAt(
      name: "IL2GNS",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2GNS>;
    getContractAt(
      name: "IL2GraphTokenGateway",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2GraphTokenGateway>;
    getContractAt(
      name: "IL2Staking",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2Staking>;
    getContractAt(
      name: "IL2StakingBase",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2StakingBase>;
    getContractAt(
      name: "IL2GraphToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2GraphToken>;
    getContractAt(
      name: "ILegacyRewardsManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ILegacyRewardsManager>;
    getContractAt(
      name: "IRewardsIssuer",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IRewardsIssuer>;
    getContractAt(
      name: "IRewardsManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IRewardsManager>;
    getContractAt(
      name: "IL1GraphTokenLockTransferTool",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL1GraphTokenLockTransferTool>;
    getContractAt(
      name: "IL1Staking",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL1Staking>;
    getContractAt(
      name: "IL1StakingBase",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL1StakingBase>;
    getContractAt(
      name: "IStaking",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStaking>;
    getContractAt(
      name: "IStakingBase",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStakingBase>;
    getContractAt(
      name: "IStakingExtension",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IStakingExtension>;
    getContractAt(
      name: "IGraphToken",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphToken>;
    getContractAt(
      name: "IGraphProxy",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphProxy>;
    getContractAt(
      name: "IGraphProxyAdmin",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphProxyAdmin>;
    getContractAt(
      name: "IDataService",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDataService>;
    getContractAt(
      name: "IDataServiceFees",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDataServiceFees>;
    getContractAt(
      name: "IDataServicePausable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDataServicePausable>;
    getContractAt(
      name: "IDataServiceRescuable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDataServiceRescuable>;
    getContractAt(
      name: "IAuthorizable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAuthorizable>;
    getContractAt(
      name: "IGraphPayments",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphPayments>;
    getContractAt(
      name: "IGraphTallyCollector",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphTallyCollector>;
    getContractAt(
      name: "IHorizonStaking",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IHorizonStaking>;
    getContractAt(
      name: "IHorizonStakingBase",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IHorizonStakingBase>;
    getContractAt(
      name: "IHorizonStakingExtension",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IHorizonStakingExtension>;
    getContractAt(
      name: "IHorizonStakingMain",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IHorizonStakingMain>;
    getContractAt(
      name: "ILinkedList",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ILinkedList>;
    getContractAt(
      name: "IPaymentsCollector",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPaymentsCollector>;
    getContractAt(
      name: "IPaymentsEscrow",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPaymentsEscrow>;
    getContractAt(
      name: "IDisputeManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDisputeManager>;
    getContractAt(
      name: "IAllocation",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAllocation>;
    getContractAt(
      name: "IAttestation",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAttestation>;
    getContractAt(
      name: "ILegacyAllocation",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ILegacyAllocation>;
    getContractAt(
      name: "ISubgraphService",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISubgraphService>;
    getContractAt(
      name: "IGraphTokenLockWallet",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphTokenLockWallet>;
    getContractAt(
      name: "IControllerToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IControllerToolshed>;
    getContractAt(
      name: "IDisputeManagerToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDisputeManagerToolshed>;
    getContractAt(
      name: "IEpochManagerToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IEpochManagerToolshed>;
    getContractAt(
      name: "IGraphTallyCollectorToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphTallyCollectorToolshed>;
    getContractAt(
      name: "IGraphTokenLockWalletToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IGraphTokenLockWalletToolshed>;
    getContractAt(
      name: "IHorizonStakingToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IHorizonStakingToolshed>;
    getContractAt(
      name: "IL2CurationToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2CurationToolshed>;
    getContractAt(
      name: "IL2GNSToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IL2GNSToolshed>;
    getContractAt(
      name: "IAllocationManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAllocationManager>;
    getContractAt(
      name: "IOwnable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IOwnable>;
    getContractAt(
      name: "IPausable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPausable>;
    getContractAt(
      name: "IProvisionManager",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IProvisionManager>;
    getContractAt(
      name: "IProvisionTracker",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IProvisionTracker>;
    getContractAt(
      name: "IPaymentsEscrowToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IPaymentsEscrowToolshed>;
    getContractAt(
      name: "IRewardsManagerToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IRewardsManagerToolshed>;
    getContractAt(
      name: "IServiceRegistryToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IServiceRegistryToolshed>;
    getContractAt(
      name: "ISubgraphServiceToolshed",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ISubgraphServiceToolshed>;

    deployContract(
      name: "IERC20Upgradeable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Upgradeable>;
    deployContract(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165>;
    deployContract(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "IERC721",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC721>;
    deployContract(
      name: "IArbToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IArbToken>;
    deployContract(
      name: "IBridge",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBridge>;
    deployContract(
      name: "IInbox",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IInbox>;
    deployContract(
      name: "IMessageProvider",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IMessageProvider>;
    deployContract(
      name: "IOutbox",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IOutbox>;
    deployContract(
      name: "ITokenGateway",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ITokenGateway>;
    deployContract(
      name: "IMulticall",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IMulticall>;
    deployContract(
      name: "ICuration",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICuration>;
    deployContract(
      name: "IGraphCurationToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphCurationToken>;
    deployContract(
      name: "IEthereumDIDRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEthereumDIDRegistry>;
    deployContract(
      name: "IGNS",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGNS>;
    deployContract(
      name: "IServiceRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IServiceRegistry>;
    deployContract(
      name: "ISubgraphNFT",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphNFT>;
    deployContract(
      name: "ISubgraphNFTDescriptor",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphNFTDescriptor>;
    deployContract(
      name: "IDisputeManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDisputeManager>;
    deployContract(
      name: "IEpochManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEpochManager>;
    deployContract(
      name: "ICallhookReceiver",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICallhookReceiver>;
    deployContract(
      name: "IController",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IController>;
    deployContract(
      name: "IGoverned",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGoverned>;
    deployContract(
      name: "IManaged",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IManaged>;
    deployContract(
      name: "IL2Curation",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2Curation>;
    deployContract(
      name: "IL2GNS",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GNS>;
    deployContract(
      name: "IL2GraphTokenGateway",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GraphTokenGateway>;
    deployContract(
      name: "IL2Staking",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2Staking>;
    deployContract(
      name: "IL2StakingBase",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2StakingBase>;
    deployContract(
      name: "IL2GraphToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GraphToken>;
    deployContract(
      name: "ILegacyRewardsManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILegacyRewardsManager>;
    deployContract(
      name: "IRewardsIssuer",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRewardsIssuer>;
    deployContract(
      name: "IRewardsManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRewardsManager>;
    deployContract(
      name: "IL1GraphTokenLockTransferTool",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL1GraphTokenLockTransferTool>;
    deployContract(
      name: "IL1Staking",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL1Staking>;
    deployContract(
      name: "IL1StakingBase",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL1StakingBase>;
    deployContract(
      name: "IStaking",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStaking>;
    deployContract(
      name: "IStakingBase",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStakingBase>;
    deployContract(
      name: "IStakingExtension",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStakingExtension>;
    deployContract(
      name: "IGraphToken",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphToken>;
    deployContract(
      name: "IGraphProxy",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphProxy>;
    deployContract(
      name: "IGraphProxyAdmin",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphProxyAdmin>;
    deployContract(
      name: "IDataService",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataService>;
    deployContract(
      name: "IDataServiceFees",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataServiceFees>;
    deployContract(
      name: "IDataServicePausable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataServicePausable>;
    deployContract(
      name: "IDataServiceRescuable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataServiceRescuable>;
    deployContract(
      name: "IAuthorizable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAuthorizable>;
    deployContract(
      name: "IGraphPayments",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphPayments>;
    deployContract(
      name: "IGraphTallyCollector",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTallyCollector>;
    deployContract(
      name: "IHorizonStaking",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStaking>;
    deployContract(
      name: "IHorizonStakingBase",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingBase>;
    deployContract(
      name: "IHorizonStakingExtension",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingExtension>;
    deployContract(
      name: "IHorizonStakingMain",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingMain>;
    deployContract(
      name: "ILinkedList",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILinkedList>;
    deployContract(
      name: "IPaymentsCollector",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPaymentsCollector>;
    deployContract(
      name: "IPaymentsEscrow",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPaymentsEscrow>;
    deployContract(
      name: "IDisputeManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDisputeManager>;
    deployContract(
      name: "IAllocation",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAllocation>;
    deployContract(
      name: "IAttestation",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAttestation>;
    deployContract(
      name: "ILegacyAllocation",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILegacyAllocation>;
    deployContract(
      name: "ISubgraphService",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphService>;
    deployContract(
      name: "IGraphTokenLockWallet",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTokenLockWallet>;
    deployContract(
      name: "IControllerToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IControllerToolshed>;
    deployContract(
      name: "IDisputeManagerToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDisputeManagerToolshed>;
    deployContract(
      name: "IEpochManagerToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEpochManagerToolshed>;
    deployContract(
      name: "IGraphTallyCollectorToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTallyCollectorToolshed>;
    deployContract(
      name: "IGraphTokenLockWalletToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTokenLockWalletToolshed>;
    deployContract(
      name: "IHorizonStakingToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingToolshed>;
    deployContract(
      name: "IL2CurationToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2CurationToolshed>;
    deployContract(
      name: "IL2GNSToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GNSToolshed>;
    deployContract(
      name: "IAllocationManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAllocationManager>;
    deployContract(
      name: "IOwnable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IOwnable>;
    deployContract(
      name: "IPausable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPausable>;
    deployContract(
      name: "IProvisionManager",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IProvisionManager>;
    deployContract(
      name: "IProvisionTracker",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IProvisionTracker>;
    deployContract(
      name: "IPaymentsEscrowToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPaymentsEscrowToolshed>;
    deployContract(
      name: "IRewardsManagerToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRewardsManagerToolshed>;
    deployContract(
      name: "IServiceRegistryToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IServiceRegistryToolshed>;
    deployContract(
      name: "ISubgraphServiceToolshed",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphServiceToolshed>;

    deployContract(
      name: "IERC20Upgradeable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20Upgradeable>;
    deployContract(
      name: "IERC165",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165>;
    deployContract(
      name: "IERC20",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC20>;
    deployContract(
      name: "IERC721",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC721>;
    deployContract(
      name: "IArbToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IArbToken>;
    deployContract(
      name: "IBridge",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBridge>;
    deployContract(
      name: "IInbox",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IInbox>;
    deployContract(
      name: "IMessageProvider",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IMessageProvider>;
    deployContract(
      name: "IOutbox",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IOutbox>;
    deployContract(
      name: "ITokenGateway",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ITokenGateway>;
    deployContract(
      name: "IMulticall",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IMulticall>;
    deployContract(
      name: "ICuration",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICuration>;
    deployContract(
      name: "IGraphCurationToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphCurationToken>;
    deployContract(
      name: "IEthereumDIDRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEthereumDIDRegistry>;
    deployContract(
      name: "IGNS",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGNS>;
    deployContract(
      name: "IServiceRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IServiceRegistry>;
    deployContract(
      name: "ISubgraphNFT",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphNFT>;
    deployContract(
      name: "ISubgraphNFTDescriptor",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphNFTDescriptor>;
    deployContract(
      name: "IDisputeManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDisputeManager>;
    deployContract(
      name: "IEpochManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEpochManager>;
    deployContract(
      name: "ICallhookReceiver",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ICallhookReceiver>;
    deployContract(
      name: "IController",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IController>;
    deployContract(
      name: "IGoverned",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGoverned>;
    deployContract(
      name: "IManaged",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IManaged>;
    deployContract(
      name: "IL2Curation",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2Curation>;
    deployContract(
      name: "IL2GNS",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GNS>;
    deployContract(
      name: "IL2GraphTokenGateway",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GraphTokenGateway>;
    deployContract(
      name: "IL2Staking",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2Staking>;
    deployContract(
      name: "IL2StakingBase",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2StakingBase>;
    deployContract(
      name: "IL2GraphToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GraphToken>;
    deployContract(
      name: "ILegacyRewardsManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILegacyRewardsManager>;
    deployContract(
      name: "IRewardsIssuer",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRewardsIssuer>;
    deployContract(
      name: "IRewardsManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRewardsManager>;
    deployContract(
      name: "IL1GraphTokenLockTransferTool",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL1GraphTokenLockTransferTool>;
    deployContract(
      name: "IL1Staking",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL1Staking>;
    deployContract(
      name: "IL1StakingBase",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL1StakingBase>;
    deployContract(
      name: "IStaking",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStaking>;
    deployContract(
      name: "IStakingBase",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStakingBase>;
    deployContract(
      name: "IStakingExtension",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IStakingExtension>;
    deployContract(
      name: "IGraphToken",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphToken>;
    deployContract(
      name: "IGraphProxy",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphProxy>;
    deployContract(
      name: "IGraphProxyAdmin",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphProxyAdmin>;
    deployContract(
      name: "IDataService",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataService>;
    deployContract(
      name: "IDataServiceFees",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataServiceFees>;
    deployContract(
      name: "IDataServicePausable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataServicePausable>;
    deployContract(
      name: "IDataServiceRescuable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataServiceRescuable>;
    deployContract(
      name: "IAuthorizable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAuthorizable>;
    deployContract(
      name: "IGraphPayments",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphPayments>;
    deployContract(
      name: "IGraphTallyCollector",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTallyCollector>;
    deployContract(
      name: "IHorizonStaking",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStaking>;
    deployContract(
      name: "IHorizonStakingBase",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingBase>;
    deployContract(
      name: "IHorizonStakingExtension",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingExtension>;
    deployContract(
      name: "IHorizonStakingMain",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingMain>;
    deployContract(
      name: "ILinkedList",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILinkedList>;
    deployContract(
      name: "IPaymentsCollector",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPaymentsCollector>;
    deployContract(
      name: "IPaymentsEscrow",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPaymentsEscrow>;
    deployContract(
      name: "IDisputeManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDisputeManager>;
    deployContract(
      name: "IAllocation",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAllocation>;
    deployContract(
      name: "IAttestation",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAttestation>;
    deployContract(
      name: "ILegacyAllocation",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ILegacyAllocation>;
    deployContract(
      name: "ISubgraphService",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphService>;
    deployContract(
      name: "IGraphTokenLockWallet",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTokenLockWallet>;
    deployContract(
      name: "IControllerToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IControllerToolshed>;
    deployContract(
      name: "IDisputeManagerToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDisputeManagerToolshed>;
    deployContract(
      name: "IEpochManagerToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IEpochManagerToolshed>;
    deployContract(
      name: "IGraphTallyCollectorToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTallyCollectorToolshed>;
    deployContract(
      name: "IGraphTokenLockWalletToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IGraphTokenLockWalletToolshed>;
    deployContract(
      name: "IHorizonStakingToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IHorizonStakingToolshed>;
    deployContract(
      name: "IL2CurationToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2CurationToolshed>;
    deployContract(
      name: "IL2GNSToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IL2GNSToolshed>;
    deployContract(
      name: "IAllocationManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAllocationManager>;
    deployContract(
      name: "IOwnable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IOwnable>;
    deployContract(
      name: "IPausable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPausable>;
    deployContract(
      name: "IProvisionManager",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IProvisionManager>;
    deployContract(
      name: "IProvisionTracker",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IProvisionTracker>;
    deployContract(
      name: "IPaymentsEscrowToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IPaymentsEscrowToolshed>;
    deployContract(
      name: "IRewardsManagerToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IRewardsManagerToolshed>;
    deployContract(
      name: "IServiceRegistryToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IServiceRegistryToolshed>;
    deployContract(
      name: "ISubgraphServiceToolshed",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ISubgraphServiceToolshed>;

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