import { Interface } from '@ethersproject/abi';
import { TBurnHermesParams, TForfeitClaimMultipleParams, TForfeitClaimParams } from '../../types/bHermes';
/**
 * @title BHermes class
 * @notice Provides a set of function to encode calldata for the different bHermes contract interactions.
 * @author MaiaDAO
 */
export declare abstract class BHermes {
    static readonly INTERFACE: Interface;
    private constructor();
    /**
     * Encodes the contract interaction calldata to burn $Hermes in exchange for $bHermes.
     * @param amount amount of hermes that the user wants to burn.
     * @param receiver receiver address of the burnt hermes.
     * @returns the encoded calldata for the burn action.
     */
    static encodeBurnCalldata({ amount, receiver }: TBurnHermesParams): string;
    /**
     * Encodes the contract interaction calldata to claim outstanding rewards.
     * @returns the encoded calldata for the claimOutstanding action.
     */
    static encodeClaimOutstandingCalldata(): string;
    /**
     * Encodes the contract interaction calldata to forfeit outstanding rewards.
     * @returns the encoded calldata for the forfeitOutstanding action.
     */
    static encodeForfeitOutstandingCalldata(): string;
    /**
     * Encodes the contract interaction calldata to forfeit a certain amount of all types of rewards.
     * @param amount amount of each utility token to forfeit.
     * @returns the encoded calldata for the forfeitMultiple action.
     */
    static encodeForfeitMultipleCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to claim a certain amount of all types of rewards.
     * @param weight amount of weight to claim.
     * @param boost amount of boost to claim.
     * @param governance amount of governance to claim.
     * @returns the encoded calldata for the claimMultiple action.
     */
    static encodeForfeitMultipleAmoutnsCalldata({ weight, boost, governance, }: TForfeitClaimMultipleParams): string;
    /**
     * Encodes the contract interaction calldata to forfeit weight.
     * @param amount amount of weight to forfeit.
     * @returns the encoded calldata for the forfeitWeight action.
     */
    static encodeForfeitWeightCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to forfeit boost.
     * @param amount amount of boost to forfeit.
     * @returns the encoded calldata for the forfeitBoost action.
     */
    static encodeForfeitBoostCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to forfeit governance.
     * @param amount amount of governance to forfeit.
     * @returns the encoded calldata for the forfeitGovernance action.
     */
    static encodeForfeitGovernanceCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to claim multiple.
     * @param amount amount of each utility token to claim.
     * @returns the encoded calldata for the claimMultiple action.
     */
    static encodeClaimMultipleCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to claim multiple amounts.
     * @param weight amount of weight to claim.
     * @param boost amount of boost to claim.
     * @param governance amount of governance to claim.
     * @returns the encoded calldata for the claimMultipleAmounts action.
     */
    static encodeClaimMultipleAmountsCalldata({ weight, boost, governance }: TForfeitClaimMultipleParams): string;
    /**
     * Encodes the contract interaction calldata to claim weight.
     * @param amount amount of weight to claim.
     * @returns the encoded calldata for the claimWeight action.
     */
    static encodeClaimWeightCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to claim boost.
     * @param amount amount of boost to claim.
     * @returns the encoded calldata for the claimBoost action.
     */
    static encodeClaimBoostCalldata({ amount }: TForfeitClaimParams): string;
    /**
     * Encodes the contract interaction calldata to claim governance.
     * @param amount amount of governance to claim.
     * @returns the encoded calldata for the claimGovernance action.
     */
    static encodeClaimGovernanceCalldata({ amount }: TForfeitClaimParams): string;
}
