import { Action } from "@atomist/slack-messages"; export declare type ParameterIndexType = string; export declare type ParameterType = { [key in ParameterIndexType]?: number | boolean | string | ParameterType; }; /** * Create a slack button that invokes a command handler. */ export declare function buttonForCommand(buttonSpec: ButtonSpecification, command: string, parameters?: ParameterType): Action; /** * Create a Slack menu that invokes a command handler. */ export declare function menuForCommand(selectSpec: MenuSpecification, command: string, parameterName: string, parameters?: ParameterType): Action; /** * Merge the provided parameters into any parameters provided as * command object instance variables. */ export declare function mergeParameters(command: any, parameters: any): any; export interface ActionConfirmation { title?: string; text: string; ok_text?: string; dismiss_text?: string; } export interface ButtonSpecification { text: string; style?: string; confirm?: ActionConfirmation; role?: string; } export interface SelectOption { text: string; value: string; } export interface OptionGroup { text: string; options: SelectOption[]; } export declare type DataSource = "static" | "users" | "channels" | "conversations" | "external"; export interface MenuSpecification { text: string; options: SelectOption[] | DataSource | OptionGroup[]; role?: string; } //# sourceMappingURL=button.d.ts.map