import { ParameterType } from "@atomist/automation-client/lib/SmartParameters";
import { ButtonSpecification, MenuSpecification } from "@atomist/automation-client/lib/spi/message/MessageClient";
import { Action } from "@atomist/slack-messages";
import { CommandRegistration } from "../../registration/CommandRegistration";
/**
 * Create an actionable button invoking the given command
 * @param buttonSpec
 * @param commandHandlerRegistration command registration or command name
 * @param parameters parameters to the command
 * @return
 */
export declare function actionableButton<T extends ParameterType>(buttonSpec: ButtonSpecification, commandHandlerRegistration: CommandRegistration<T> | string, parameters?: ParameterType): Action;
/**
 * Create an actionable menu invoking the given command
 * @param menuSpec
 * @param commandHandlerRegistration command registration or command name
 * @param parameterName name of the parameter to bind the menu to
 * @param parameters parameters to the command
 */
export declare function actionableMenu<T extends ParameterType>(menuSpec: MenuSpecification, commandHandlerRegistration: CommandRegistration<T> | string, parameterName: string, parameters?: ParameterType): Action;
//# sourceMappingURL=buttons.d.ts.map