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