import { TDelegateVotesParams } from 'hermes-v2-sdk';
import { SupportedChainId } from 'maia-core-sdk';
import { IAction, IActionResult } from '../../../../utils/action';
/**
 * @title DelegateAction class
 * @notice Provides a set of function to encode calldata for the delegate action in bHermesVotes contract.
 * @author MaiaDAO
 */
export declare class DelegateVotesAction implements IAction<TDelegateVotesParams, IActionResult<void>> {
    params: TDelegateVotesParams;
    chainId?: SupportedChainId;
    /**
     * Constructor for the DelegateAction class.
     * @param params the parameters for the delegate action in bHermesVotes.
     * @returns a new instance of DelegateAction.
     * @notice the constructor is used to set the parameters for the delegate action in bHermesVotes.
     */
    constructor(params: TDelegateVotesParams, chainId?: SupportedChainId);
    /**
     * Encodes the contract interaction calldata to delegate bHermesVotes.
     * @param params the parameters for the delegate action in bHermesVotes.
     * @returns the target contract, encoded calldata and message value to send onchain for the delegate action.
     */
    encode(params: TDelegateVotesParams): IActionResult<IActionResult<void>>;
}
