slack-block-builder
Version:
Maintainable code for interactive Slack messages, modals, home tabs, and workflow steps. A must-have for the Slack Block Kit framework.
104 lines (103 loc) • 6.84 kB
TypeScript
import { ActionsBuilder, ActionsParams } from './actions';
import { ContextBuilder, ContextParams } from './context';
import { DividerBuilder, DividerParams } from './divider';
import { FileBuilder, FileParams } from './file';
import { HeaderBuilder, HeaderParams } from './header';
import { ImageBuilder, ImageParams } from './image';
import { InputBuilder, InputParams } from './input';
import { SectionBuilder, SectionParams } from './section';
import { VideoBuilder, VideoParams } from './video';
export type { ActionsBuilder, ActionsParams, ContextBuilder, ContextParams, DividerBuilder, DividerParams, FileBuilder, FileParams, HeaderBuilder, HeaderParams, ImageBuilder, ImageParams, InputBuilder, InputParams, SectionBuilder, SectionParams, VideoBuilder, VideoParams, };
/**
* Functions here do not use arrow functions stored in variables for IDE color compatibility.
*/
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
*
* {@link https://api.slack.com/reference/block-kit/blocks#actions|View in Slack API Documentation}
*/
export declare function Actions(params?: ActionsParams): ActionsBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
*
* {@link https://api.slack.com/reference/block-kit/blocks#context|View in Slack API Documentation}
*/
export declare function Context(params?: ContextParams): ContextBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
*
* {@link https://api.slack.com/reference/block-kit/blocks#divider|View in Slack API Documentation}
*/
export declare function Divider(params?: DividerParams): DividerBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
* @param {string} [params.externalId] Sets a custom identifier for the file that must be unique for all images on a per-team basis.
*
* {@link https://api.slack.com/reference/block-kit/blocks#file|View in Slack API Documentation}
*/
export declare function File(params?: FileParams): FileBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
* @param {string} [params.text] Sets the text to be displayed in the header block.
*
* {@link https://api.slack.com/reference/block-kit/blocks#header|View in Slack API Documentation}
*/
export declare function Header(params?: HeaderParams): HeaderBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
* @param {string} [params.imageUrl] Sets the source URL from which the image will be loaded.
* @param {string} [params.altText] Sets a textual summary for the image.
* @param {string} [params.title] Sets an optional title for the image.
*
* {@link https://api.slack.com/reference/block-kit/blocks#image|View in Slack API Documentation}
*/
export declare function Image(params?: ImageParams): ImageBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
* @param {string} [params.label] Sets the label to be displayed above the input.
* @param {string} [params.hint] Sets the hint to be displayed under the input.
*
* {@link https://api.slack.com/reference/block-kit/blocks#input|View in Slack API Documentation}
*/
export declare function Input(params?: InputParams): InputBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for the block, that will be available in interaction payloadsSets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
* @param {string} [params.text] Sets the text to be displayed in the section block.
*
* {@link https://api.slack.com/reference/block-kit/blocks#section|View in Slack API Documentation}
*/
export declare function Section(params?: SectionParams): SectionBuilder;
/**
* @param {Object} [params] Parameters passed to the constructor.
* @param {string} [params.blockId] Sets a string to be an identifier for the block, that will be available in interaction payloadsSets a string to be an identifier for any given block in a view or message. This is sent back to your app in interaction payloads and view submissions for your app to process.
* @param {string} [params.description] Sets a description for the video.
* @param {string} [params.providerIconUrl] Icon for the video provider - ex. YouTube or Vimeo icon.
* @param {string} [params.providerName] The originating application or domain of the video ex. YouTube or Vimeo.
* @param {string} [params.thumbnailUrl] A URL that loads the thumbnail image of the video.
* @param {string} [params.title] Sets the title displayed for the block, element, or confirmation dialog.
* @param {string} [params.titleUrl] A hyperlink for the video's title text.
* @param {string} [params.videoUrl] The URL of the video to embed in the Video block.
*
* {@link https://api.slack.com/reference/block-kit/blocks#section|View in Slack API Documentation}
*/
export declare function Video(params?: VideoParams): VideoBuilder;
declare const blocks: {
Actions: typeof Actions;
Context: typeof Context;
Divider: typeof Divider;
File: typeof File;
Header: typeof Header;
Image: typeof Image;
Input: typeof Input;
Section: typeof Section;
Video: typeof Video;
};
export { blocks as Blocks };