UNPKG

1.49 kBTypeScriptView Raw
1import { Action } from "@atomist/slack-messages";
2export declare type ParameterIndexType = string;
3export declare type ParameterType = {
4 [key in ParameterIndexType]?: number | boolean | string | ParameterType;
5};
6/**
7 * Create a slack button that invokes a command handler.
8 */
9export declare function buttonForCommand(buttonSpec: ButtonSpecification, command: string, parameters?: ParameterType): Action;
10/**
11 * Create a Slack menu that invokes a command handler.
12 */
13export declare function menuForCommand(selectSpec: MenuSpecification, command: string, parameterName: string, parameters?: ParameterType): Action;
14/**
15 * Merge the provided parameters into any parameters provided as
16 * command object instance variables.
17 */
18export declare function mergeParameters(command: any, parameters: any): any;
19export interface ActionConfirmation {
20 title?: string;
21 text: string;
22 ok_text?: string;
23 dismiss_text?: string;
24}
25export interface ButtonSpecification {
26 text: string;
27 style?: string;
28 confirm?: ActionConfirmation;
29 role?: string;
30}
31export interface SelectOption {
32 text: string;
33 value: string;
34}
35export interface OptionGroup {
36 text: string;
37 options: SelectOption[];
38}
39export declare type DataSource = "static" | "users" | "channels" | "conversations" | "external";
40export interface MenuSpecification {
41 text: string;
42 options: SelectOption[] | DataSource | OptionGroup[];
43 role?: string;
44}
45//# sourceMappingURL=button.d.ts.map
\No newline at end of file