import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
import type { NetworkConnection } from 'hardhat/types/network';
import type { ContractFactory } from 'ethers';
import { UpgradeProxyOptions, ContractAddressOrInstance } from './utils/index.js';
import { ContractTypeOfFactory } from './type-extensions.js';
export type UpgradeFunction = <F extends ContractFactory>(proxy: ContractAddressOrInstance, ImplFactory: F, opts?: UpgradeProxyOptions) => Promise<ContractTypeOfFactory<F>>;
export declare function makeUpgradeProxy(hre: HardhatRuntimeEnvironment, defenderModule: boolean, connection: NetworkConnection, log?: import("debug").Debugger): UpgradeFunction;
//# sourceMappingURL=upgrade-proxy.d.ts.map