import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
import type { NetworkConnection } from 'hardhat/types/network';
import type { ContractFactory } from 'ethers';
import { DeployContractOptions } from './utils/index.js';
import { ContractTypeOfFactory } from './type-extensions.js';
export interface DeployContractFunction {
    <F extends ContractFactory>(Contract: F, args?: unknown[], opts?: DeployContractOptions): Promise<ContractTypeOfFactory<F>>;
    <F extends ContractFactory>(Contract: ContractFactory, opts?: DeployContractOptions): Promise<ContractTypeOfFactory<F>>;
}
export declare function makeDeployContract(hre: HardhatRuntimeEnvironment, defenderModule: boolean, connection: NetworkConnection): DeployContractFunction;
//# sourceMappingURL=deploy-contract.d.ts.map