import { Interface } from '@ethersproject/abi';
import { TDecrementAllGaugesBoostParams, TDecrementGaugeAllBoostParams, TDecrementGaugeBoostParams, TDecrementGaugesBoostIndexedParams } from '../../types/bHermesBoost';
/**
 * @title BHermesBoost class
 * @notice Provides a set of function to encode calldata for the different bHermes gauges contract interactions.
 * @dev Actions such as incrementing or decrementing gauge vote allocations.
 * @author MaiaDAO
 */
export declare abstract class BHermesBoost {
    static readonly INTERFACE: Interface;
    /**
     * Cannot be constructed.
     */
    private constructor();
    /**
     * Creates the necessary execution params to decrement boost on a single gauge.
     * @param gauge  The address of the gauge to decrement boost from.
     * @param boost  The amount of boost to decrement.
     * @returns  The encoded decrement decrement gauge boost params.
     */
    static encodeDecrementGaugeBoostCalldata({ gauge, boost }: TDecrementGaugeBoostParams): string;
    /**
     * Creates the necessary execution params to decrement all boost on a single gauge.
     * @param gauge  The address of the gauge to decrement all boost from.
     * @returns  The encoded decrement all gauge boost params.
     */
    static encodeDecrementGaugeAllBoostCalldata({ gauge }: TDecrementGaugeAllBoostParams): string;
    /**
     * Creates the necessary execution params to decrement boost from all gauges.
     * @param boost The amount of boost to detach.
     * @returns  The encoded decrement all gauge boost params.
     */
    static encodeDecrementAllGaugesBoostCalldata({ boost }: TDecrementAllGaugesBoostParams): string;
    /**
     * Creates the necessary execution params to decrement boost from a subset of atached gauges, useful to prevent OUT_OF_GAS when many gauges are attached.
     * @param boost The amount of boost to detach.
     * @param offset The offset to start from.
     * @param num The number of gauges to detach boost from.
     * @returns  The encoded decrement all gauge boost params.
     */
    static encodeDecrementGaugesBoostIndexedCalldata({ boost, offset, num, }: TDecrementGaugesBoostIndexedParams): string;
    /**
     * Creates the necessary execution params to decrement all boost from all gauges.
     * @returns  The encoded decrement all gauge boost params.
     */
    static encodeDecrementAllGaugesAllBoostCalldata(): string;
}
