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