/* 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: "ERC2771Context",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC2771Context__factory>;
    getContractFactory(
      name: "ChainlogLike",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ChainlogLike__factory>;
    getContractFactory(
      name: "DaiJoinLike",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DaiJoinLike__factory>;
    getContractFactory(
      name: "DssVest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DssVest__factory>;
    getContractFactory(
      name: "DssVestMintable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DssVestMintable__factory>;
    getContractFactory(
      name: "DssVestSuckable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DssVestSuckable__factory>;
    getContractFactory(
      name: "DssVestTransferrable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DssVestTransferrable__factory>;
    getContractFactory(
      name: "MintLike",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MintLike__factory>;
    getContractFactory(
      name: "TokenLike",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenLike__factory>;
    getContractFactory(
      name: "VatLike",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VatLike__factory>;
    getContractFactory(
      name: "DssVestNaiveFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DssVestNaiveFactory__factory>;

    getContractAt(
      name: "ERC2771Context",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC2771Context>;
    getContractAt(
      name: "ChainlogLike",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ChainlogLike>;
    getContractAt(
      name: "DaiJoinLike",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DaiJoinLike>;
    getContractAt(
      name: "DssVest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DssVest>;
    getContractAt(
      name: "DssVestMintable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DssVestMintable>;
    getContractAt(
      name: "DssVestSuckable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DssVestSuckable>;
    getContractAt(
      name: "DssVestTransferrable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DssVestTransferrable>;
    getContractAt(
      name: "MintLike",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MintLike>;
    getContractAt(
      name: "TokenLike",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenLike>;
    getContractAt(
      name: "VatLike",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VatLike>;
    getContractAt(
      name: "DssVestNaiveFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DssVestNaiveFactory>;

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