import { ICastVoteWithReasonAndParamsCommandParams } from '../../interfaces/commands/params/ICastVoteWithReasonAndParamsCommandParams';
import { IBaseCommand } from '../../interfaces/commands/IBaseCommand';
import { GovernanceContract } from '@contracts';
/**
 * @title Cast Vote With Reason And Params Command
 * @notice Executes a cast vote with reason and params operation on a governance proposal
 * @dev This command interacts with the Governance contract to cast a vote with reason and additional parameters
 */
export declare class CastVoteWithReasonAndParamsCommand implements IBaseCommand<ICastVoteWithReasonAndParamsCommandParams, void> {
    private readonly governance;
    constructor(governance: GovernanceContract);
    /**
     * @notice Executes the cast vote with reason and params command
     * @param params The parameters for executing the cast vote with reason and params operation
     */
    execute(params: ICastVoteWithReasonAndParamsCommandParams): Promise<void>;
}
