import { Interface } from '@ethersproject/abi';
import { TDelegateVotesParams, TUndelegateVotesParams } from '../../types/bHermesVotes';
/**
 * @title BHermesVotes class
 * @notice Provides a set of function to encode calldata for the different bHermes votes contract interactions.
 * @dev Actions such as delegating or undelegating governance power.
 * @author MaiaDAO
 */
export declare abstract class BHermesVotes {
    static readonly INTERFACE: Interface;
    /**
     * Cannot be constructed.
     */
    private constructor();
    /**
     *  Creates the necessary execution params to delegate bHermes governance power to a given address.
     * @param newDelegatee  The address of the gauge to delegate votes to.
     */
    static encodeDelegateCalldata({ newDelegatee }: TDelegateVotesParams): string;
    /**
     *  Creates the necessary execution params to undelegate bHermes governance power from a given address.
     * @param delegatee  The address of the gauge to undelegate votes from.
     * @param amount  The amount of votes to undelegate.
     */
    static encodeUndelegateCalldata({ delegatee, amount }: TUndelegateVotesParams): string;
}
