import '../type-extensions.js';
import { ContractFactory, ethers } from 'ethers';
import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
import type { NetworkConnection } from 'hardhat/types/network';
import { DefenderDeployOptions, UpgradeOptions } from '../utils/index.js';
export interface UpgradeProposalResponse {
    proposalId: string;
    url?: string;
    txResponse?: ethers.TransactionResponse;
}
export type ProposeUpgradeWithApprovalFunction = (proxyAddress: string, contractNameOrImplFactory: string | ContractFactory, opts?: ProposalOptions) => Promise<UpgradeProposalResponse>;
export interface ProposalOptions extends UpgradeOptions, DefenderDeployOptions {
    approvalProcessId?: string;
}
export declare function makeProposeUpgradeWithApproval(hre: HardhatRuntimeEnvironment, defenderModule: boolean, connection: NetworkConnection): ProposeUpgradeWithApprovalFunction;
//# sourceMappingURL=propose-upgrade-with-approval.d.ts.map