/* 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: "AccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.AccessControl__factory>;
    getContractFactory(
      name: "IAccessControl",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IAccessControl__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: "IDataPointRegistry",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDataPointRegistry__factory>;
    getContractFactory(
      name: "IDataPointStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IDataPointStorage__factory>;
    getContractFactory(
      name: "IOwnable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IOwnable__factory>;
    getContractFactory(
      name: "IBaseWTTPPermissions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaseWTTPPermissions__factory>;
    getContractFactory(
      name: "IBaseWTTPSite",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaseWTTPSite__factory>;
    getContractFactory(
      name: "IBaseWTTPStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IBaseWTTPStorage__factory>;
    getContractFactory(
      name: "BaseWTTPPermissions",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaseWTTPPermissions__factory>;
    getContractFactory(
      name: "BaseWTTPSite",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaseWTTPSite__factory>;
    getContractFactory(
      name: "BaseWTTPStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaseWTTPStorage__factory>;
    getContractFactory(
      name: "ExtendedWTTPSite",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ExtendedWTTPSite__factory>;
    getContractFactory(
      name: "WTTPErrorSite",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WTTPErrorSite__factory>;
    getContractFactory(
      name: "WTTPForwarder",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WTTPForwarder__factory>;
    getContractFactory(
      name: "Web3Site",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Web3Site__factory>;

    getContractAt(
      name: "AccessControl",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.AccessControl>;
    getContractAt(
      name: "IAccessControl",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IAccessControl>;
    getContractAt(
      name: "ERC165",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC165>;
    getContractAt(
      name: "IERC165",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC165>;
    getContractAt(
      name: "IDataPointRegistry",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDataPointRegistry>;
    getContractAt(
      name: "IDataPointStorage",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IDataPointStorage>;
    getContractAt(
      name: "IOwnable",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IOwnable>;
    getContractAt(
      name: "IBaseWTTPPermissions",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaseWTTPPermissions>;
    getContractAt(
      name: "IBaseWTTPSite",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaseWTTPSite>;
    getContractAt(
      name: "IBaseWTTPStorage",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.IBaseWTTPStorage>;
    getContractAt(
      name: "BaseWTTPPermissions",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaseWTTPPermissions>;
    getContractAt(
      name: "BaseWTTPSite",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaseWTTPSite>;
    getContractAt(
      name: "BaseWTTPStorage",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.BaseWTTPStorage>;
    getContractAt(
      name: "ExtendedWTTPSite",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.ExtendedWTTPSite>;
    getContractAt(
      name: "WTTPErrorSite",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.WTTPErrorSite>;
    getContractAt(
      name: "WTTPForwarder",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.WTTPForwarder>;
    getContractAt(
      name: "Web3Site",
      address: string | ethers.Addressable,
      signer?: ethers.Signer
    ): Promise<Contracts.Web3Site>;

    deployContract(
      name: "AccessControl",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControl>;
    deployContract(
      name: "IAccessControl",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControl>;
    deployContract(
      name: "ERC165",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC165>;
    deployContract(
      name: "IERC165",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165>;
    deployContract(
      name: "IDataPointRegistry",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataPointRegistry>;
    deployContract(
      name: "IDataPointStorage",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataPointStorage>;
    deployContract(
      name: "IOwnable",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IOwnable>;
    deployContract(
      name: "IBaseWTTPPermissions",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaseWTTPPermissions>;
    deployContract(
      name: "IBaseWTTPSite",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaseWTTPSite>;
    deployContract(
      name: "IBaseWTTPStorage",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaseWTTPStorage>;
    deployContract(
      name: "BaseWTTPPermissions",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaseWTTPPermissions>;
    deployContract(
      name: "BaseWTTPSite",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaseWTTPSite>;
    deployContract(
      name: "BaseWTTPStorage",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaseWTTPStorage>;
    deployContract(
      name: "ExtendedWTTPSite",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ExtendedWTTPSite>;
    deployContract(
      name: "WTTPErrorSite",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WTTPErrorSite>;
    deployContract(
      name: "WTTPForwarder",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WTTPForwarder>;
    deployContract(
      name: "Web3Site",
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Web3Site>;

    deployContract(
      name: "AccessControl",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.AccessControl>;
    deployContract(
      name: "IAccessControl",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IAccessControl>;
    deployContract(
      name: "ERC165",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ERC165>;
    deployContract(
      name: "IERC165",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IERC165>;
    deployContract(
      name: "IDataPointRegistry",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataPointRegistry>;
    deployContract(
      name: "IDataPointStorage",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IDataPointStorage>;
    deployContract(
      name: "IOwnable",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IOwnable>;
    deployContract(
      name: "IBaseWTTPPermissions",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaseWTTPPermissions>;
    deployContract(
      name: "IBaseWTTPSite",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaseWTTPSite>;
    deployContract(
      name: "IBaseWTTPStorage",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.IBaseWTTPStorage>;
    deployContract(
      name: "BaseWTTPPermissions",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaseWTTPPermissions>;
    deployContract(
      name: "BaseWTTPSite",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaseWTTPSite>;
    deployContract(
      name: "BaseWTTPStorage",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.BaseWTTPStorage>;
    deployContract(
      name: "ExtendedWTTPSite",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.ExtendedWTTPSite>;
    deployContract(
      name: "WTTPErrorSite",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WTTPErrorSite>;
    deployContract(
      name: "WTTPForwarder",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.WTTPForwarder>;
    deployContract(
      name: "Web3Site",
      args: any[],
      signerOrOptions?: ethers.Signer | DeployContractOptions
    ): Promise<Contracts.Web3Site>;

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