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 { DeployBeaconProxyOptions } from './options.js';
import { ContractAddressOrInstance } from './utils.js';
export interface DeployBeaconProxyFunction {
    <ContractName extends StringWithArtifactContractNamesAutocompletion>(beacon: ContractAddressOrInstance, contractName: ContractName, args?: unknown[], opts?: DeployBeaconProxyOptions): Promise<ContractReturnType<ContractName>>;
    <ContractName extends StringWithArtifactContractNamesAutocompletion>(beacon: ContractAddressOrInstance, contractName: ContractName, opts?: DeployBeaconProxyOptions): Promise<ContractReturnType<ContractName>>;
}
export declare function makeDeployBeaconProxy(hre: HardhatRuntimeEnvironment, connection: NetworkConnection): DeployBeaconProxyFunction;
//# sourceMappingURL=deploy-beacon-proxy.d.ts.map