/* 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: "Ownable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Ownable__factory>;
    getContractFactory(
      name: "IERC4626",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC4626__factory>;
    getContractFactory(
      name: "Initializable",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Initializable__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: "ERC4626",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC4626__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: "ERC721",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721__factory>;
    getContractFactory(
      name: "ERC721URIStorage",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC721URIStorage__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: "IUniswapV2Pair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Pair__factory>;
    getContractFactory(
      name: "IUniswapV2Router01",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Router01__factory>;
    getContractFactory(
      name: "IUniswapV2Router02",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Router02__factory>;
    getContractFactory(
      name: "BaseERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.BaseERC20__factory>;
    getContractFactory(
      name: "FarmingLPToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FarmingLPToken__factory>;
    getContractFactory(
      name: "FarmingLPTokenFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FarmingLPTokenFactory__factory>;
    getContractFactory(
      name: "FlashStrategySushiSwap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlashStrategySushiSwap__factory>;
    getContractFactory(
      name: "FlashStrategySushiSwapFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlashStrategySushiSwapFactory__factory>;
    getContractFactory(
      name: "IFlashProtocol",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashProtocol__factory>;
    getContractFactory(
      name: "FSushi",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushi__factory>;
    getContractFactory(
      name: "FSushiAirdrops",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiAirdrops__factory>;
    getContractFactory(
      name: "FSushiAirdropsVotingEscrow",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiAirdropsVotingEscrow__factory>;
    getContractFactory(
      name: "FSushiBar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiBar__factory>;
    getContractFactory(
      name: "FSushiBill",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiBill__factory>;
    getContractFactory(
      name: "FSushiCookV0",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiCookV0__factory>;
    getContractFactory(
      name: "IFlashProtocol_",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashProtocol___factory>;
    getContractFactory(
      name: "FSushiKitchen",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiKitchen__factory>;
    getContractFactory(
      name: "IERC20Receiver",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Receiver__factory>;
    getContractFactory(
      name: "IFarmingLPToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFarmingLPToken__factory>;
    getContractFactory(
      name: "IFarmingLPTokenFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFarmingLPTokenFactory__factory>;
    getContractFactory(
      name: "IFarmingLPTokenMigrator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFarmingLPTokenMigrator__factory>;
    getContractFactory(
      name: "IFlashFToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashFToken__factory>;
    getContractFactory(
      name: "IFlashFTokenFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashFTokenFactory__factory>;
    getContractFactory(
      name: "IFlashNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashNFT__factory>;
    getContractFactory(
      name: "IFlashStrategy",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashStrategy__factory>;
    getContractFactory(
      name: "IFlashStrategySushiSwap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashStrategySushiSwap__factory>;
    getContractFactory(
      name: "IFlashStrategySushiSwapFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFlashStrategySushiSwapFactory__factory>;
    getContractFactory(
      name: "IFSushi",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFSushi__factory>;
    getContractFactory(
      name: "IFSushiBar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFSushiBar__factory>;
    getContractFactory(
      name: "IFSushiBill",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFSushiBill__factory>;
    getContractFactory(
      name: "IFSushiKitchen",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFSushiKitchen__factory>;
    getContractFactory(
      name: "IFSushiRestaurant",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IFSushiRestaurant__factory>;
    getContractFactory(
      name: "IMasterChef",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMasterChef__factory>;
    getContractFactory(
      name: "ISousChef",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISousChef__factory>;
    getContractFactory(
      name: "ISushiBar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ISushiBar__factory>;
    getContractFactory(
      name: "IVotingEscrow",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IVotingEscrow__factory>;
    getContractFactory(
      name: "FSushiBarPriorityQueue",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FSushiBarPriorityQueue__factory>;
    getContractFactory(
      name: "Snapshots",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Snapshots__factory>;
    getContractFactory(
      name: "UniswapV2Utils",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV2Utils__factory>;
    getContractFactory(
      name: "ERC20Mock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.ERC20Mock__factory>;
    getContractFactory(
      name: "FeeVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FeeVault__factory>;
    getContractFactory(
      name: "FlashFToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlashFToken__factory>;
    getContractFactory(
      name: "FlashFTokenFactory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlashFTokenFactory__factory>;
    getContractFactory(
      name: "FlashNFT",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlashNFT__factory>;
    getContractFactory(
      name: "FlashProtocol",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.FlashProtocol__factory>;
    getContractFactory(
      name: "IERC20Uniswap",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IERC20Uniswap__factory>;
    getContractFactory(
      name: "Integers",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.Integers__factory>;
    getContractFactory(
      name: "SafeERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SafeERC20__factory>;
    getContractFactory(
      name: "IMigratorChef",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMigratorChef__factory>;
    getContractFactory(
      name: "MasterChef",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.MasterChef__factory>;
    getContractFactory(
      name: "SushiBar",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SushiBar__factory>;
    getContractFactory(
      name: "SushiToken",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SushiToken__factory>;
    getContractFactory(
      name: "IUniswapV2Callee",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Callee__factory>;
    getContractFactory(
      name: "IUniswapV2ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2ERC20__factory>;
    getContractFactory(
      name: "IUniswapV2Factory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Factory__factory>;
    getContractFactory(
      name: "IUniswapV2Pair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Pair__factory>;
    getContractFactory(
      name: "IUniswapV2Router01",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Router01__factory>;
    getContractFactory(
      name: "IUniswapV2Router02",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IUniswapV2Router02__factory>;
    getContractFactory(
      name: "IWETH",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IWETH__factory>;
    getContractFactory(
      name: "UniswapV2ERC20",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV2ERC20__factory>;
    getContractFactory(
      name: "UniswapV2Factory",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV2Factory__factory>;
    getContractFactory(
      name: "IMigrator",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.IMigrator__factory>;
    getContractFactory(
      name: "UniswapV2Pair",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV2Pair__factory>;
    getContractFactory(
      name: "UniswapV2Router02",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.UniswapV2Router02__factory>;
    getContractFactory(
      name: "VotingEscrowMock",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.VotingEscrowMock__factory>;
    getContractFactory(
      name: "WETH9",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.WETH9__factory>;
    getContractFactory(
      name: "SousChef",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SousChef__factory>;
    getContractFactory(
      name: "SushiBarVault",
      signerOrOptions?: ethers.Signer | FactoryOptions
    ): Promise<Contracts.SushiBarVault__factory>;

    getContractAt(
      name: "Ownable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Ownable>;
    getContractAt(
      name: "IERC4626",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC4626>;
    getContractAt(
      name: "Initializable",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Initializable>;
    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: "ERC4626",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC4626>;
    getContractAt(
      name: "IERC20Metadata",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Metadata>;
    getContractAt(
      name: "IERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20>;
    getContractAt(
      name: "ERC721",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721>;
    getContractAt(
      name: "ERC721URIStorage",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC721URIStorage>;
    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: "IUniswapV2Pair",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Pair>;
    getContractAt(
      name: "IUniswapV2Router01",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Router01>;
    getContractAt(
      name: "IUniswapV2Router02",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Router02>;
    getContractAt(
      name: "BaseERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.BaseERC20>;
    getContractAt(
      name: "FarmingLPToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FarmingLPToken>;
    getContractAt(
      name: "FarmingLPTokenFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FarmingLPTokenFactory>;
    getContractAt(
      name: "FlashStrategySushiSwap",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlashStrategySushiSwap>;
    getContractAt(
      name: "FlashStrategySushiSwapFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlashStrategySushiSwapFactory>;
    getContractAt(
      name: "IFlashProtocol",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashProtocol>;
    getContractAt(
      name: "FSushi",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushi>;
    getContractAt(
      name: "FSushiAirdrops",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiAirdrops>;
    getContractAt(
      name: "FSushiAirdropsVotingEscrow",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiAirdropsVotingEscrow>;
    getContractAt(
      name: "FSushiBar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiBar>;
    getContractAt(
      name: "FSushiBill",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiBill>;
    getContractAt(
      name: "FSushiCookV0",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiCookV0>;
    getContractAt(
      name: "IFlashProtocol_",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashProtocol_>;
    getContractAt(
      name: "FSushiKitchen",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiKitchen>;
    getContractAt(
      name: "IERC20Receiver",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Receiver>;
    getContractAt(
      name: "IFarmingLPToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFarmingLPToken>;
    getContractAt(
      name: "IFarmingLPTokenFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFarmingLPTokenFactory>;
    getContractAt(
      name: "IFarmingLPTokenMigrator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFarmingLPTokenMigrator>;
    getContractAt(
      name: "IFlashFToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashFToken>;
    getContractAt(
      name: "IFlashFTokenFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashFTokenFactory>;
    getContractAt(
      name: "IFlashNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashNFT>;
    getContractAt(
      name: "IFlashStrategy",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashStrategy>;
    getContractAt(
      name: "IFlashStrategySushiSwap",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashStrategySushiSwap>;
    getContractAt(
      name: "IFlashStrategySushiSwapFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFlashStrategySushiSwapFactory>;
    getContractAt(
      name: "IFSushi",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFSushi>;
    getContractAt(
      name: "IFSushiBar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFSushiBar>;
    getContractAt(
      name: "IFSushiBill",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFSushiBill>;
    getContractAt(
      name: "IFSushiKitchen",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFSushiKitchen>;
    getContractAt(
      name: "IFSushiRestaurant",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IFSushiRestaurant>;
    getContractAt(
      name: "IMasterChef",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMasterChef>;
    getContractAt(
      name: "ISousChef",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISousChef>;
    getContractAt(
      name: "ISushiBar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ISushiBar>;
    getContractAt(
      name: "IVotingEscrow",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IVotingEscrow>;
    getContractAt(
      name: "FSushiBarPriorityQueue",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FSushiBarPriorityQueue>;
    getContractAt(
      name: "Snapshots",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Snapshots>;
    getContractAt(
      name: "UniswapV2Utils",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV2Utils>;
    getContractAt(
      name: "ERC20Mock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.ERC20Mock>;
    getContractAt(
      name: "FeeVault",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FeeVault>;
    getContractAt(
      name: "FlashFToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlashFToken>;
    getContractAt(
      name: "FlashFTokenFactory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlashFTokenFactory>;
    getContractAt(
      name: "FlashNFT",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlashNFT>;
    getContractAt(
      name: "FlashProtocol",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.FlashProtocol>;
    getContractAt(
      name: "IERC20Uniswap",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IERC20Uniswap>;
    getContractAt(
      name: "Integers",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.Integers>;
    getContractAt(
      name: "SafeERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SafeERC20>;
    getContractAt(
      name: "IMigratorChef",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMigratorChef>;
    getContractAt(
      name: "MasterChef",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.MasterChef>;
    getContractAt(
      name: "SushiBar",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SushiBar>;
    getContractAt(
      name: "SushiToken",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SushiToken>;
    getContractAt(
      name: "IUniswapV2Callee",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Callee>;
    getContractAt(
      name: "IUniswapV2ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2ERC20>;
    getContractAt(
      name: "IUniswapV2Factory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Factory>;
    getContractAt(
      name: "IUniswapV2Pair",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Pair>;
    getContractAt(
      name: "IUniswapV2Router01",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Router01>;
    getContractAt(
      name: "IUniswapV2Router02",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IUniswapV2Router02>;
    getContractAt(
      name: "IWETH",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IWETH>;
    getContractAt(
      name: "UniswapV2ERC20",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV2ERC20>;
    getContractAt(
      name: "UniswapV2Factory",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV2Factory>;
    getContractAt(
      name: "IMigrator",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.IMigrator>;
    getContractAt(
      name: "UniswapV2Pair",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV2Pair>;
    getContractAt(
      name: "UniswapV2Router02",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.UniswapV2Router02>;
    getContractAt(
      name: "VotingEscrowMock",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.VotingEscrowMock>;
    getContractAt(
      name: "WETH9",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.WETH9>;
    getContractAt(
      name: "SousChef",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SousChef>;
    getContractAt(
      name: "SushiBarVault",
      address: string,
      signer?: ethers.Signer
    ): Promise<Contracts.SushiBarVault>;

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