/* 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: "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: "Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pausable__factory>;
    getContractFactory(
      name: "ERC1155",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155__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: "ERC1155Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155Receiver__factory>;
    getContractFactory(
      name: "ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20__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: "ERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721__factory>;
    getContractFactory(
      name: "IERC721Metadata",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Metadata__factory>;
    getContractFactory(
      name: "IERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721__factory>;
    getContractFactory(
      name: "IERC721Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC721Receiver__factory>;
    getContractFactory(
      name: "ERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC165__factory>;
    getContractFactory(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC165__factory>;
    getContractFactory(
      name: "DeterministicDeployFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.DeterministicDeployFactory__factory>;
    getContractFactory(
      name: "AnchorHandler",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AnchorHandler__factory>;
    getContractFactory(
      name: "HandlerHelpers",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.HandlerHelpers__factory>;
    getContractFactory(
      name: "RegistryHandler",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.RegistryHandler__factory>;
    getContractFactory(
      name: "TokenWrapperHandler",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenWrapperHandler__factory>;
    getContractFactory(
      name: "TreasuryHandler",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TreasuryHandler__factory>;
    getContractFactory(
      name: "IHasher",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IHasher__factory>;
    getContractFactory(
      name: "KeccakHasher",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.KeccakHasher__factory>;
    getContractFactory(
      name: "PoseidonT3",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PoseidonT3__factory>;
    getContractFactory(
      name: "PoseidonT4",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PoseidonT4__factory>;
    getContractFactory(
      name: "PoseidonT6",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PoseidonT6__factory>;
    getContractFactory(
      name: "PoseidonHasher",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.PoseidonHasher__factory>;
    getContractFactory(
      name: "ILinkableAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ILinkableAnchor__factory>;
    getContractFactory(
      name: "ISemaphoreGroups",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISemaphoreGroups__factory>;
    getContractFactory(
      name: "IAaveLendingPool",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAaveLendingPool__factory>;
    getContractFactory(
      name: "ISanctionsList",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISanctionsList__factory>;
    getContractFactory(
      name: "IExecutor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IExecutor__factory>;
    getContractFactory(
      name: "IMerkleSystem",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMerkleSystem__factory>;
    getContractFactory(
      name: "MerkleSystem",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MerkleSystem__factory>;
    getContractFactory(
      name: "ITreasury",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITreasury__factory>;
    getContractFactory(
      name: "IAaveTokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAaveTokenWrapper__factory>;
    getContractFactory(
      name: "IFungibleTokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFungibleTokenWrapper__factory>;
    getContractFactory(
      name: "IMintableERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMintableERC20__factory>;
    getContractFactory(
      name: "IMultiTokenManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMultiTokenManager__factory>;
    getContractFactory(
      name: "IMultiTokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMultiTokenWrapper__factory>;
    getContractFactory(
      name: "IRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IRegistry__factory>;
    getContractFactory(
      name: "ITokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ITokenWrapper__factory>;
    getContractFactory(
      name: "IAnchorVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAnchorVerifier__factory>;
    getContractFactory(
      name: "IBatchTreeVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBatchTreeVerifier__factory>;
    getContractFactory(
      name: "IBatchTreeVerifierSelector",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBatchTreeVerifierSelector__factory>;
    getContractFactory(
      name: "IIdentityVAnchorVerifier216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IIdentityVAnchorVerifier216__factory>;
    getContractFactory(
      name: "IIdentityVAnchorVerifier22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IIdentityVAnchorVerifier22__factory>;
    getContractFactory(
      name: "IIdentityVAnchorVerifier816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IIdentityVAnchorVerifier816__factory>;
    getContractFactory(
      name: "IIdentityVAnchorVerifier82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IIdentityVAnchorVerifier82__factory>;
    getContractFactory(
      name: "IMASPVAnchorVerifier216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMASPVAnchorVerifier216__factory>;
    getContractFactory(
      name: "IMASPVAnchorVerifier22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMASPVAnchorVerifier22__factory>;
    getContractFactory(
      name: "IMASPVAnchorVerifier816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMASPVAnchorVerifier816__factory>;
    getContractFactory(
      name: "IMASPVAnchorVerifier82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMASPVAnchorVerifier82__factory>;
    getContractFactory(
      name: "ISetVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISetVerifier__factory>;
    getContractFactory(
      name: "IVAnchorVerifier216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVAnchorVerifier216__factory>;
    getContractFactory(
      name: "IVAnchorVerifier22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVAnchorVerifier22__factory>;
    getContractFactory(
      name: "IVAnchorVerifier816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVAnchorVerifier816__factory>;
    getContractFactory(
      name: "IVAnchorVerifier82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVAnchorVerifier82__factory>;
    getContractFactory(
      name: "IVerifier2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVerifier2__factory>;
    getContractFactory(
      name: "IVerifier3",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVerifier3__factory>;
    getContractFactory(
      name: "IVerifier4",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVerifier4__factory>;
    getContractFactory(
      name: "IVerifier5",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVerifier5__factory>;
    getContractFactory(
      name: "IVerifier6",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVerifier6__factory>;
    getContractFactory(
      name: "IdentityVAnchorEncodeInputs",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IdentityVAnchorEncodeInputs__factory>;
    getContractFactory(
      name: "MASPVAnchorEncodeInputs",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MASPVAnchorEncodeInputs__factory>;
    getContractFactory(
      name: "VAnchorEncodeInputs",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VAnchorEncodeInputs__factory>;
    getContractFactory(
      name: "BatchMerkleTreeMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BatchMerkleTreeMock__factory>;
    getContractFactory(
      name: "ERC1155Mock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC1155Mock__factory>;
    getContractFactory(
      name: "ERC20Mock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Mock__factory>;
    getContractFactory(
      name: "ERC721Mintable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721Mintable__factory>;
    getContractFactory(
      name: "LinkableAnchorMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LinkableAnchorMock__factory>;
    getContractFactory(
      name: "MerkleForestMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MerkleForestMock__factory>;
    getContractFactory(
      name: "MerkleTreePoseidonMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MerkleTreePoseidonMock__factory>;
    getContractFactory(
      name: "SignatureBridge",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SignatureBridge__factory>;
    getContractFactory(
      name: "AaveTokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AaveTokenWrapper__factory>;
    getContractFactory(
      name: "FungibleTokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FungibleTokenWrapper__factory>;
    getContractFactory(
      name: "MultiFungibleTokenManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultiFungibleTokenManager__factory>;
    getContractFactory(
      name: "MultiNftTokenManager",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultiNftTokenManager__factory>;
    getContractFactory(
      name: "MultiTokenManagerBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultiTokenManagerBase__factory>;
    getContractFactory(
      name: "NftTokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.NftTokenWrapper__factory>;
    getContractFactory(
      name: "Registry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Registry__factory>;
    getContractFactory(
      name: "TokenWrapper",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TokenWrapper__factory>;
    getContractFactory(
      name: "Treasury",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Treasury__factory>;
    getContractFactory(
      name: "BatchMerkleTree",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BatchMerkleTree__factory>;
    getContractFactory(
      name: "LinkableIncrementalBinaryTree",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LinkableIncrementalBinaryTree__factory>;
    getContractFactory(
      name: "MerkleForest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MerkleForest__factory>;
    getContractFactory(
      name: "MerkleTree",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MerkleTree__factory>;
    getContractFactory(
      name: "MerkleTreeWithHistory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MerkleTreeWithHistory__factory>;
    getContractFactory(
      name: "ChainIdWithType",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ChainIdWithType__factory>;
    getContractFactory(
      name: "Governable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Governable__factory>;
    getContractFactory(
      name: "Initialized",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initialized__factory>;
    getContractFactory(
      name: "Pausable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Pausable__factory>;
    getContractFactory(
      name: "ProposalNonceTracker",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ProposalNonceTracker__factory>;
    getContractFactory(
      name: "LinkableAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.LinkableAnchor__factory>;
    getContractFactory(
      name: "MultiAssetVAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MultiAssetVAnchor__factory>;
    getContractFactory(
      name: "VAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VAnchor__factory>;
    getContractFactory(
      name: "VAnchorBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VAnchorBase__factory>;
    getContractFactory(
      name: "ZKVAnchorBase",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ZKVAnchorBase__factory>;
    getContractFactory(
      name: "ChainalysisVAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ChainalysisVAnchor__factory>;
    getContractFactory(
      name: "IdentityVAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IdentityVAnchor__factory>;
    getContractFactory(
      name: "OpenVAnchor",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.OpenVAnchor__factory>;
    getContractFactory(
      name: "VAnchorForest",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VAnchorForest__factory>;
    getContractFactory(
      name: "VAnchorTree",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VAnchorTree__factory>;
    getContractFactory(
      name: "Verifier2",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier2__factory>;
    getContractFactory(
      name: "Verifier3",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier3__factory>;
    getContractFactory(
      name: "Verifier4",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier4__factory>;
    getContractFactory(
      name: "Verifier5",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier5__factory>;
    getContractFactory(
      name: "Verifier6",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier6__factory>;
    getContractFactory(
      name: "Verifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier__factory>;
    getContractFactory(
      name: "VerifierBatch16",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierBatch16__factory>;
    getContractFactory(
      name: "VerifierBatch32",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierBatch32__factory>;
    getContractFactory(
      name: "VerifierBatch4",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierBatch4__factory>;
    getContractFactory(
      name: "VerifierBatch8",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierBatch8__factory>;
    getContractFactory(
      name: "BatchTreeVerifierSelector",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BatchTreeVerifierSelector__factory>;
    getContractFactory(
      name: "VerifierID216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierID216__factory>;
    getContractFactory(
      name: "VerifierID816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierID816__factory>;
    getContractFactory(
      name: "VerifierID22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierID22__factory>;
    getContractFactory(
      name: "VerifierID82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierID82__factory>;
    getContractFactory(
      name: "IdentityVAnchorVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IdentityVAnchorVerifier__factory>;
    getContractFactory(
      name: "VerifierMASP216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierMASP216__factory>;
    getContractFactory(
      name: "VerifierMASP816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierMASP816__factory>;
    getContractFactory(
      name: "VerifierMASP22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierMASP22__factory>;
    getContractFactory(
      name: "VerifierMASP82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierMASP82__factory>;
    getContractFactory(
      name: "MASPVAnchorVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MASPVAnchorVerifier__factory>;
    getContractFactory(
      name: "TxProofVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.TxProofVerifier__factory>;
    getContractFactory(
      name: "Verifier216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier216__factory>;
    getContractFactory(
      name: "Verifier816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier816__factory>;
    getContractFactory(
      name: "Verifier22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier22__factory>;
    getContractFactory(
      name: "Verifier82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Verifier82__factory>;
    getContractFactory(
      name: "VerifierF216",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierF216__factory>;
    getContractFactory(
      name: "VerifierF816",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierF816__factory>;
    getContractFactory(
      name: "VerifierF22",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierF22__factory>;
    getContractFactory(
      name: "VerifierF82",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VerifierF82__factory>;
    getContractFactory(
      name: "VAnchorVerifier",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VAnchorVerifier__factory>;

    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: "Pausable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Pausable>;
    getContractAt(
      name: "ERC1155",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155>;
    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: "ERC1155Receiver",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155Receiver>;
    getContractAt(
      name: "ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20>;
    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: "ERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721>;
    getContractAt(
      name: "IERC721Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Metadata>;
    getContractAt(
      name: "IERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721>;
    getContractAt(
      name: "IERC721Receiver",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC721Receiver>;
    getContractAt(
      name: "ERC165",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165>;
    getContractAt(
      name: "IERC165",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165>;
    getContractAt(
      name: "DeterministicDeployFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.DeterministicDeployFactory>;
    getContractAt(
      name: "AnchorHandler",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AnchorHandler>;
    getContractAt(
      name: "HandlerHelpers",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.HandlerHelpers>;
    getContractAt(
      name: "RegistryHandler",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.RegistryHandler>;
    getContractAt(
      name: "TokenWrapperHandler",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenWrapperHandler>;
    getContractAt(
      name: "TreasuryHandler",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TreasuryHandler>;
    getContractAt(
      name: "IHasher",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IHasher>;
    getContractAt(
      name: "KeccakHasher",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.KeccakHasher>;
    getContractAt(
      name: "PoseidonT3",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PoseidonT3>;
    getContractAt(
      name: "PoseidonT4",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PoseidonT4>;
    getContractAt(
      name: "PoseidonT6",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PoseidonT6>;
    getContractAt(
      name: "PoseidonHasher",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.PoseidonHasher>;
    getContractAt(
      name: "ILinkableAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ILinkableAnchor>;
    getContractAt(
      name: "ISemaphoreGroups",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISemaphoreGroups>;
    getContractAt(
      name: "IAaveLendingPool",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAaveLendingPool>;
    getContractAt(
      name: "ISanctionsList",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISanctionsList>;
    getContractAt(
      name: "IExecutor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IExecutor>;
    getContractAt(
      name: "IMerkleSystem",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMerkleSystem>;
    getContractAt(
      name: "MerkleSystem",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MerkleSystem>;
    getContractAt(
      name: "ITreasury",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITreasury>;
    getContractAt(
      name: "IAaveTokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAaveTokenWrapper>;
    getContractAt(
      name: "IFungibleTokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFungibleTokenWrapper>;
    getContractAt(
      name: "IMintableERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMintableERC20>;
    getContractAt(
      name: "IMultiTokenManager",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMultiTokenManager>;
    getContractAt(
      name: "IMultiTokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMultiTokenWrapper>;
    getContractAt(
      name: "IRegistry",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IRegistry>;
    getContractAt(
      name: "ITokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ITokenWrapper>;
    getContractAt(
      name: "IAnchorVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IAnchorVerifier>;
    getContractAt(
      name: "IBatchTreeVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IBatchTreeVerifier>;
    getContractAt(
      name: "IBatchTreeVerifierSelector",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IBatchTreeVerifierSelector>;
    getContractAt(
      name: "IIdentityVAnchorVerifier216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IIdentityVAnchorVerifier216>;
    getContractAt(
      name: "IIdentityVAnchorVerifier22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IIdentityVAnchorVerifier22>;
    getContractAt(
      name: "IIdentityVAnchorVerifier816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IIdentityVAnchorVerifier816>;
    getContractAt(
      name: "IIdentityVAnchorVerifier82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IIdentityVAnchorVerifier82>;
    getContractAt(
      name: "IMASPVAnchorVerifier216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMASPVAnchorVerifier216>;
    getContractAt(
      name: "IMASPVAnchorVerifier22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMASPVAnchorVerifier22>;
    getContractAt(
      name: "IMASPVAnchorVerifier816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMASPVAnchorVerifier816>;
    getContractAt(
      name: "IMASPVAnchorVerifier82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMASPVAnchorVerifier82>;
    getContractAt(
      name: "ISetVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISetVerifier>;
    getContractAt(
      name: "IVAnchorVerifier216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVAnchorVerifier216>;
    getContractAt(
      name: "IVAnchorVerifier22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVAnchorVerifier22>;
    getContractAt(
      name: "IVAnchorVerifier816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVAnchorVerifier816>;
    getContractAt(
      name: "IVAnchorVerifier82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVAnchorVerifier82>;
    getContractAt(
      name: "IVerifier2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVerifier2>;
    getContractAt(
      name: "IVerifier3",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVerifier3>;
    getContractAt(
      name: "IVerifier4",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVerifier4>;
    getContractAt(
      name: "IVerifier5",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVerifier5>;
    getContractAt(
      name: "IVerifier6",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVerifier6>;
    getContractAt(
      name: "IdentityVAnchorEncodeInputs",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IdentityVAnchorEncodeInputs>;
    getContractAt(
      name: "MASPVAnchorEncodeInputs",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MASPVAnchorEncodeInputs>;
    getContractAt(
      name: "VAnchorEncodeInputs",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VAnchorEncodeInputs>;
    getContractAt(
      name: "BatchMerkleTreeMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BatchMerkleTreeMock>;
    getContractAt(
      name: "ERC1155Mock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC1155Mock>;
    getContractAt(
      name: "ERC20Mock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Mock>;
    getContractAt(
      name: "ERC721Mintable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721Mintable>;
    getContractAt(
      name: "LinkableAnchorMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LinkableAnchorMock>;
    getContractAt(
      name: "MerkleForestMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MerkleForestMock>;
    getContractAt(
      name: "MerkleTreePoseidonMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MerkleTreePoseidonMock>;
    getContractAt(
      name: "SignatureBridge",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SignatureBridge>;
    getContractAt(
      name: "AaveTokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.AaveTokenWrapper>;
    getContractAt(
      name: "FungibleTokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FungibleTokenWrapper>;
    getContractAt(
      name: "MultiFungibleTokenManager",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultiFungibleTokenManager>;
    getContractAt(
      name: "MultiNftTokenManager",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultiNftTokenManager>;
    getContractAt(
      name: "MultiTokenManagerBase",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultiTokenManagerBase>;
    getContractAt(
      name: "NftTokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.NftTokenWrapper>;
    getContractAt(
      name: "Registry",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Registry>;
    getContractAt(
      name: "TokenWrapper",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TokenWrapper>;
    getContractAt(
      name: "Treasury",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Treasury>;
    getContractAt(
      name: "BatchMerkleTree",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BatchMerkleTree>;
    getContractAt(
      name: "LinkableIncrementalBinaryTree",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LinkableIncrementalBinaryTree>;
    getContractAt(
      name: "MerkleForest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MerkleForest>;
    getContractAt(
      name: "MerkleTree",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MerkleTree>;
    getContractAt(
      name: "MerkleTreeWithHistory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MerkleTreeWithHistory>;
    getContractAt(
      name: "ChainIdWithType",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ChainIdWithType>;
    getContractAt(
      name: "Governable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Governable>;
    getContractAt(
      name: "Initialized",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Initialized>;
    getContractAt(
      name: "Pausable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Pausable>;
    getContractAt(
      name: "ProposalNonceTracker",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ProposalNonceTracker>;
    getContractAt(
      name: "LinkableAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.LinkableAnchor>;
    getContractAt(
      name: "MultiAssetVAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MultiAssetVAnchor>;
    getContractAt(
      name: "VAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VAnchor>;
    getContractAt(
      name: "VAnchorBase",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VAnchorBase>;
    getContractAt(
      name: "ZKVAnchorBase",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ZKVAnchorBase>;
    getContractAt(
      name: "ChainalysisVAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ChainalysisVAnchor>;
    getContractAt(
      name: "IdentityVAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IdentityVAnchor>;
    getContractAt(
      name: "OpenVAnchor",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.OpenVAnchor>;
    getContractAt(
      name: "VAnchorForest",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VAnchorForest>;
    getContractAt(
      name: "VAnchorTree",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VAnchorTree>;
    getContractAt(
      name: "Verifier2",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier2>;
    getContractAt(
      name: "Verifier3",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier3>;
    getContractAt(
      name: "Verifier4",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier4>;
    getContractAt(
      name: "Verifier5",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier5>;
    getContractAt(
      name: "Verifier6",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier6>;
    getContractAt(
      name: "Verifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier>;
    getContractAt(
      name: "VerifierBatch16",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierBatch16>;
    getContractAt(
      name: "VerifierBatch32",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierBatch32>;
    getContractAt(
      name: "VerifierBatch4",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierBatch4>;
    getContractAt(
      name: "VerifierBatch8",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierBatch8>;
    getContractAt(
      name: "BatchTreeVerifierSelector",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BatchTreeVerifierSelector>;
    getContractAt(
      name: "VerifierID216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierID216>;
    getContractAt(
      name: "VerifierID816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierID816>;
    getContractAt(
      name: "VerifierID22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierID22>;
    getContractAt(
      name: "VerifierID82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierID82>;
    getContractAt(
      name: "IdentityVAnchorVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IdentityVAnchorVerifier>;
    getContractAt(
      name: "VerifierMASP216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierMASP216>;
    getContractAt(
      name: "VerifierMASP816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierMASP816>;
    getContractAt(
      name: "VerifierMASP22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierMASP22>;
    getContractAt(
      name: "VerifierMASP82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierMASP82>;
    getContractAt(
      name: "MASPVAnchorVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MASPVAnchorVerifier>;
    getContractAt(
      name: "TxProofVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.TxProofVerifier>;
    getContractAt(
      name: "Verifier216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier216>;
    getContractAt(
      name: "Verifier816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier816>;
    getContractAt(
      name: "Verifier22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier22>;
    getContractAt(
      name: "Verifier82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Verifier82>;
    getContractAt(
      name: "VerifierF216",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierF216>;
    getContractAt(
      name: "VerifierF816",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierF816>;
    getContractAt(
      name: "VerifierF22",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierF22>;
    getContractAt(
      name: "VerifierF82",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VerifierF82>;
    getContractAt(
      name: "VAnchorVerifier",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VAnchorVerifier>;

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