import type { DeploymentsExtension } from "hardhat-deploy/types"; import type { HardhatRuntimeEnvironment } from "hardhat/types/runtime"; import type { EthereumProvider } from "hardhat/types"; import type { Extension as ExtendedWeb3 } from "../plugins/ExtendedWeb3"; import type Web3 from "web3"; type Address = string; interface DeployExtension { deployments: DeploymentsExtension; getNamedAccounts: () => Promise<{ [name: string]: Address; }>; getUnnamedAccounts: () => Promise; getChainId(): Promise; companionNetworks: { [name: string]: { deployments: DeploymentsExtension; getNamedAccounts: () => Promise<{ [name: string]: Address; }>; getUnnamedAccounts: () => Promise; getChainId(): Promise; provider: EthereumProvider; }; }; } export type CombinedHRE = HardhatRuntimeEnvironment & DeployExtension & ExtendedWeb3 & { web3: Web3; }; export {};