import type { HardhatRuntimeEnvironment } from "hardhat/types/hre";
import { BondingRegistry } from "../../types";
/**
 * The arguments for the deployAndSaveBondingRegistry function
 */
export interface BondingRegistryArgs {
    owner?: string;
    ticketToken?: string;
    licenseToken?: string;
    registry?: string;
    slashedFundsTreasury?: string;
    ticketPrice?: string;
    licenseRequiredBond?: string;
    minTicketBalance?: number;
    exitDelay?: number;
    hre: HardhatRuntimeEnvironment;
}
/**
 * Deploys the BondingRegistry contract and saves the deployment arguments
 * @param param0 - The deployment arguments
 * @returns The deployed BondingRegistry contract
 */
export declare const deployAndSaveBondingRegistry: ({ owner, ticketToken, licenseToken, registry, slashedFundsTreasury, ticketPrice, licenseRequiredBond, minTicketBalance, exitDelay, hre, }: BondingRegistryArgs) => Promise<{
    bondingRegistry: BondingRegistry;
}>;
/**
 * Upgrades the BondingRegistry implementation while keeping the same proxy address
 * @param param0 - The upgrade arguments
 * @returns The upgraded BondingRegistry contract (same proxy address)
 */
export declare const upgradeAndSaveBondingRegistry: ({ ownerAddress, hre, }: {
    ownerAddress: string;
    hre: HardhatRuntimeEnvironment;
}) => Promise<{
    bondingRegistry: BondingRegistry;
    implementationAddress: string;
}>;
//# sourceMappingURL=bondingRegistry.d.ts.map