import { IAction, IActionResult } from '../action';
import { IActionContext } from '../actionContext';
/**
 * @title ActionBuilder.
 * @notice A builder class for creating a batch of actions to be executed onchain.
 * @author MaiaDAO
 */
export declare class ActionBuilder<TParams, TResult> {
    private actions;
    private context;
    constructor(context: IActionContext<TParams, TResult>);
    addAction(action: IAction<TParams, TResult>): ActionBuilder<TParams, TResult>;
    build(): {
        results: IActionResult<TResult>[];
        encodedResults?: IActionResult<TResult>;
    };
    private beforeEncode;
    private afterEncode;
}
