/* 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: "LinkTokenInterface",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LinkTokenInterface__factory>;
    getContractFactory(
      name: "VRFConsumerBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VRFConsumerBase__factory>;
    getContractFactory(
      name: "AccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlEnumerableUpgradeable__factory>;
    getContractFactory(
      name: "AccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlUpgradeable__factory>;
    getContractFactory(
      name: "IAccessControlEnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable__factory>;
    getContractFactory(
      name: "IAccessControlUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlUpgradeable__factory>;
    getContractFactory(
      name: "GovernorCountingSimpleUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorCountingSimpleUpgradeable__factory>;
    getContractFactory(
      name: "GovernorSettingsUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorSettingsUpgradeable__factory>;
    getContractFactory(
      name: "GovernorVotesQuorumFractionUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorVotesQuorumFractionUpgradeable__factory>;
    getContractFactory(
      name: "GovernorVotesUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorVotesUpgradeable__factory>;
    getContractFactory(
      name: "GovernorUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.GovernorUpgradeable__factory>;
    getContractFactory(
      name: "IGovernorUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IGovernorUpgradeable__factory>;
    getContractFactory(
      name: "ERC2771ContextUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC2771ContextUpgradeable__factory>;
    getContractFactory(
      name: "PausableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PausableUpgradeable__factory>;
    getContractFactory(
      name: "ERC1155Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155Upgradeable__factory>;
    getContractFactory(
      name: "ERC1155BurnableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155BurnableUpgradeable__factory>;
    getContractFactory(
      name: "ERC1155PausableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155PausableUpgradeable__factory>;
    getContractFactory(
      name: "IERC1155MetadataURIUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155MetadataURIUpgradeable__factory>;
    getContractFactory(
      name: "IERC1155ReceiverUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155ReceiverUpgradeable__factory>;
    getContractFactory(
      name: "IERC1155Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155Upgradeable__factory>;
    getContractFactory(
      name: "ERC1155HolderUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155HolderUpgradeable__factory>;
    getContractFactory(
      name: "ERC1155ReceiverUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155ReceiverUpgradeable__factory>;
    getContractFactory(
      name: "ERC20Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Upgradeable__factory>;
    getContractFactory(
      name: "ERC20PermitUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PermitUpgradeable__factory>;
    getContractFactory(
      name: "IERC20PermitUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20PermitUpgradeable__factory>;
    getContractFactory(
      name: "ERC20BurnableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20BurnableUpgradeable__factory>;
    getContractFactory(
      name: "ERC20PausableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PausableUpgradeable__factory>;
    getContractFactory(
      name: "ERC20VotesUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20VotesUpgradeable__factory>;
    getContractFactory(
      name: "IERC20MetadataUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20MetadataUpgradeable__factory>;
    getContractFactory(
      name: "IERC20Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Upgradeable__factory>;
    getContractFactory(
      name: "ERC721Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721Upgradeable__factory>;
    getContractFactory(
      name: "ERC721EnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721EnumerableUpgradeable__factory>;
    getContractFactory(
      name: "IERC721EnumerableUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721EnumerableUpgradeable__factory>;
    getContractFactory(
      name: "IERC721MetadataUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721MetadataUpgradeable__factory>;
    getContractFactory(
      name: "IERC721ReceiverUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721ReceiverUpgradeable__factory>;
    getContractFactory(
      name: "IERC721Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Upgradeable__factory>;
    getContractFactory(
      name: "ERC721HolderUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721HolderUpgradeable__factory>;
    getContractFactory(
      name: "ERC165Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC165Upgradeable__factory>;
    getContractFactory(
      name: "IERC165Upgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165Upgradeable__factory>;
    getContractFactory(
      name: "AccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControl__factory>;
    getContractFactory(
      name: "AccessControlEnumerable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControlEnumerable__factory>;
    getContractFactory(
      name: "IAccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControl__factory>;
    getContractFactory(
      name: "IAccessControlEnumerable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControlEnumerable__factory>;
    getContractFactory(
      name: "Ownable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Ownable__factory>;
    getContractFactory(
      name: "IERC2981",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC2981__factory>;
    getContractFactory(
      name: "Proxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Proxy__factory>;
    getContractFactory(
      name: "Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pausable__factory>;
    getContractFactory(
      name: "ERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155__factory>;
    getContractFactory(
      name: "ERC1155Burnable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155Burnable__factory>;
    getContractFactory(
      name: "ERC1155Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155Pausable__factory>;
    getContractFactory(
      name: "IERC1155MetadataURI",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155MetadataURI__factory>;
    getContractFactory(
      name: "IERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155__factory>;
    getContractFactory(
      name: "IERC1155Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC1155Receiver__factory>;
    getContractFactory(
      name: "ERC1155PresetMinterPauser",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155PresetMinterPauser__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__factory>;
    getContractFactory(
      name: "ERC20Permit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Permit__factory>;
    getContractFactory(
      name: "IERC20Permit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Permit__factory>;
    getContractFactory(
      name: "ERC20Burnable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Burnable__factory>;
    getContractFactory(
      name: "ERC20Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Pausable__factory>;
    getContractFactory(
      name: "IERC20Metadata",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Metadata__factory>;
    getContractFactory(
      name: "IERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20__factory>;
    getContractFactory(
      name: "ERC20PresetMinterPauser",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20PresetMinterPauser__factory>;
    getContractFactory(
      name: "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: "AccessNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessNFT__factory>;
    getContractFactory(
      name: "Bundle",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Bundle__factory>;
    getContractFactory(
      name: "DropERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DropERC1155__factory>;
    getContractFactory(
      name: "IDropERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDropERC1155__factory>;
    getContractFactory(
      name: "DropERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DropERC20__factory>;
    getContractFactory(
      name: "IDropERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDropERC20__factory>;
    getContractFactory(
      name: "DropERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DropERC721__factory>;
    getContractFactory(
      name: "IDropERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDropERC721__factory>;
    getContractFactory(
      name: "Forwarder",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Forwarder__factory>;
    getContractFactory(
      name: "IThirdwebModule",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IThirdwebModule__factory>;
    getContractFactory(
      name: "IThirdwebNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IThirdwebNFT__factory>;
    getContractFactory(
      name: "IThirdwebPrimarySale",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IThirdwebPrimarySale__factory>;
    getContractFactory(
      name: "IThirdwebToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IThirdwebToken__factory>;
    getContractFactory(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH__factory>;
    getContractFactory(
      name: "TWCurrencyTransfers",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TWCurrencyTransfers__factory>;
    getContractFactory(
      name: "IMarketplace",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMarketplace__factory>;
    getContractFactory(
      name: "Marketplace",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Marketplace__factory>;
    getContractFactory(
      name: "MintableERC20Permit",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MintableERC20Permit__factory>;
    getContractFactory(
      name: "MockERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MockERC1155__factory>;
    getContractFactory(
      name: "WETH9",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WETH9__factory>;
    getContractFactory(
      name: "ERC1155PresetUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155PresetUpgradeable__factory>;
    getContractFactory(
      name: "PaymentSplitterUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PaymentSplitterUpgradeable__factory>;
    getContractFactory(
      name: "MulticallUpgradeable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MulticallUpgradeable__factory>;
    getContractFactory(
      name: "Pack",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pack__factory>;
    getContractFactory(
      name: "Splits",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Splits__factory>;
    getContractFactory(
      name: "ThirdwebFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ThirdwebFactory__factory>;
    getContractFactory(
      name: "ThirdwebFees",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ThirdwebFees__factory>;
    getContractFactory(
      name: "ThirdwebProxy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ThirdwebProxy__factory>;
    getContractFactory(
      name: "ThirdwebRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ThirdwebRegistry__factory>;
    getContractFactory(
      name: "ITokenERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITokenERC1155__factory>;
    getContractFactory(
      name: "TokenERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenERC1155__factory>;
    getContractFactory(
      name: "ITokenERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITokenERC721__factory>;
    getContractFactory(
      name: "TokenERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenERC721__factory>;
    getContractFactory(
      name: "TokenERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenERC20__factory>;
    getContractFactory(
      name: "VoteERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VoteERC20__factory>;

    getContractAt(
      name: "LinkTokenInterface",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LinkTokenInterface>;
    getContractAt(
      name: "VRFConsumerBase",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VRFConsumerBase>;
    getContractAt(
      name: "AccessControlEnumerableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlEnumerableUpgradeable>;
    getContractAt(
      name: "AccessControlUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlUpgradeable>;
    getContractAt(
      name: "IAccessControlEnumerableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlEnumerableUpgradeable>;
    getContractAt(
      name: "IAccessControlUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlUpgradeable>;
    getContractAt(
      name: "GovernorCountingSimpleUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorCountingSimpleUpgradeable>;
    getContractAt(
      name: "GovernorSettingsUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorSettingsUpgradeable>;
    getContractAt(
      name: "GovernorVotesQuorumFractionUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorVotesQuorumFractionUpgradeable>;
    getContractAt(
      name: "GovernorVotesUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorVotesUpgradeable>;
    getContractAt(
      name: "GovernorUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.GovernorUpgradeable>;
    getContractAt(
      name: "IGovernorUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IGovernorUpgradeable>;
    getContractAt(
      name: "ERC2771ContextUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC2771ContextUpgradeable>;
    getContractAt(
      name: "PausableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PausableUpgradeable>;
    getContractAt(
      name: "ERC1155Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155Upgradeable>;
    getContractAt(
      name: "ERC1155BurnableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155BurnableUpgradeable>;
    getContractAt(
      name: "ERC1155PausableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155PausableUpgradeable>;
    getContractAt(
      name: "IERC1155MetadataURIUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155MetadataURIUpgradeable>;
    getContractAt(
      name: "IERC1155ReceiverUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155ReceiverUpgradeable>;
    getContractAt(
      name: "IERC1155Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155Upgradeable>;
    getContractAt(
      name: "ERC1155HolderUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155HolderUpgradeable>;
    getContractAt(
      name: "ERC1155ReceiverUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155ReceiverUpgradeable>;
    getContractAt(
      name: "ERC20Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Upgradeable>;
    getContractAt(
      name: "ERC20PermitUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PermitUpgradeable>;
    getContractAt(
      name: "IERC20PermitUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20PermitUpgradeable>;
    getContractAt(
      name: "ERC20BurnableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20BurnableUpgradeable>;
    getContractAt(
      name: "ERC20PausableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PausableUpgradeable>;
    getContractAt(
      name: "ERC20VotesUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20VotesUpgradeable>;
    getContractAt(
      name: "IERC20MetadataUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20MetadataUpgradeable>;
    getContractAt(
      name: "IERC20Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Upgradeable>;
    getContractAt(
      name: "ERC721Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721Upgradeable>;
    getContractAt(
      name: "ERC721EnumerableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721EnumerableUpgradeable>;
    getContractAt(
      name: "IERC721EnumerableUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721EnumerableUpgradeable>;
    getContractAt(
      name: "IERC721MetadataUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721MetadataUpgradeable>;
    getContractAt(
      name: "IERC721ReceiverUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721ReceiverUpgradeable>;
    getContractAt(
      name: "IERC721Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Upgradeable>;
    getContractAt(
      name: "ERC721HolderUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721HolderUpgradeable>;
    getContractAt(
      name: "ERC165Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165Upgradeable>;
    getContractAt(
      name: "IERC165Upgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165Upgradeable>;
    getContractAt(
      name: "AccessControl",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControl>;
    getContractAt(
      name: "AccessControlEnumerable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControlEnumerable>;
    getContractAt(
      name: "IAccessControl",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControl>;
    getContractAt(
      name: "IAccessControlEnumerable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControlEnumerable>;
    getContractAt(
      name: "Ownable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Ownable>;
    getContractAt(
      name: "IERC2981",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC2981>;
    getContractAt(
      name: "Proxy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Proxy>;
    getContractAt(
      name: "Pausable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Pausable>;
    getContractAt(
      name: "ERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155>;
    getContractAt(
      name: "ERC1155Burnable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155Burnable>;
    getContractAt(
      name: "ERC1155Pausable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155Pausable>;
    getContractAt(
      name: "IERC1155MetadataURI",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155MetadataURI>;
    getContractAt(
      name: "IERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155>;
    getContractAt(
      name: "IERC1155Receiver",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC1155Receiver>;
    getContractAt(
      name: "ERC1155PresetMinterPauser",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155PresetMinterPauser>;
    getContractAt(
      name: "ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    getContractAt(
      name: "ERC20Permit",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Permit>;
    getContractAt(
      name: "IERC20Permit",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Permit>;
    getContractAt(
      name: "ERC20Burnable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Burnable>;
    getContractAt(
      name: "ERC20Pausable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Pausable>;
    getContractAt(
      name: "IERC20Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Metadata>;
    getContractAt(
      name: "IERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "ERC20PresetMinterPauser",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20PresetMinterPauser>;
    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: "AccessNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessNFT>;
    getContractAt(
      name: "Bundle",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Bundle>;
    getContractAt(
      name: "DropERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DropERC1155>;
    getContractAt(
      name: "IDropERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IDropERC1155>;
    getContractAt(
      name: "DropERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DropERC20>;
    getContractAt(
      name: "IDropERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IDropERC20>;
    getContractAt(
      name: "DropERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DropERC721>;
    getContractAt(
      name: "IDropERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IDropERC721>;
    getContractAt(
      name: "Forwarder",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Forwarder>;
    getContractAt(
      name: "IThirdwebModule",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IThirdwebModule>;
    getContractAt(
      name: "IThirdwebNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IThirdwebNFT>;
    getContractAt(
      name: "IThirdwebPrimarySale",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IThirdwebPrimarySale>;
    getContractAt(
      name: "IThirdwebToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IThirdwebToken>;
    getContractAt(
      name: "IWETH",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH>;
    getContractAt(
      name: "TWCurrencyTransfers",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TWCurrencyTransfers>;
    getContractAt(
      name: "IMarketplace",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMarketplace>;
    getContractAt(
      name: "Marketplace",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Marketplace>;
    getContractAt(
      name: "MintableERC20Permit",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MintableERC20Permit>;
    getContractAt(
      name: "MockERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MockERC1155>;
    getContractAt(
      name: "WETH9",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.WETH9>;
    getContractAt(
      name: "ERC1155PresetUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155PresetUpgradeable>;
    getContractAt(
      name: "PaymentSplitterUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PaymentSplitterUpgradeable>;
    getContractAt(
      name: "MulticallUpgradeable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MulticallUpgradeable>;
    getContractAt(
      name: "Pack",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Pack>;
    getContractAt(
      name: "Splits",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Splits>;
    getContractAt(
      name: "ThirdwebFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ThirdwebFactory>;
    getContractAt(
      name: "ThirdwebFees",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ThirdwebFees>;
    getContractAt(
      name: "ThirdwebProxy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ThirdwebProxy>;
    getContractAt(
      name: "ThirdwebRegistry",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ThirdwebRegistry>;
    getContractAt(
      name: "ITokenERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITokenERC1155>;
    getContractAt(
      name: "TokenERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenERC1155>;
    getContractAt(
      name: "ITokenERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITokenERC721>;
    getContractAt(
      name: "TokenERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenERC721>;
    getContractAt(
      name: "TokenERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenERC20>;
    getContractAt(
      name: "VoteERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VoteERC20>;

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