import type { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
import type { NetworkConnection } from 'hardhat/types/network';
import type { StringWithArtifactContractNamesAutocompletion } from 'hardhat/types/artifacts';
import type { ContractReturnType } from '@nomicfoundation/hardhat-viem/types';
import type { UpgradeProxyOptions } from './options.js';
import { ContractAddressOrInstance } from './utils.js';
export type UpgradeProxyFunction = <ContractName extends StringWithArtifactContractNamesAutocompletion>(proxy: ContractAddressOrInstance, contractName: ContractName, opts?: UpgradeProxyOptions) => Promise<ContractReturnType<ContractName>>;
export declare function makeUpgradeProxy(hre: HardhatRuntimeEnvironment, connection: NetworkConnection): UpgradeProxyFunction;
//# sourceMappingURL=upgrade-proxy.d.ts.map