UNPKG

fox-block-builder

Version:

Maintainable code for loop slack-block-kit-like modal builder

37 lines (36 loc) 1.32 kB
import { SurfaceType, BlockType, ElementType } from '../constants'; import type { ObjectLiteral } from '../types'; import type { PlainTextObject } from '../objects'; export declare const Param: Record<string, string>; export declare class SlackDto implements ObjectLiteral { constructor(params: ObjectLiteral); static mapParam(param: string): string; } export declare class SlackMessageDto extends SlackDto { readonly text: string; readonly channel: string; readonly ts: string; readonly blocks?: SlackBlockDto[]; readonly attachments?: SlackDto[]; } export declare class SlackHomeTabDto extends SlackDto { readonly type = SurfaceType.HomeTab; readonly blocks: SlackBlockDto[]; } export declare class SlackModalDto extends SlackDto { readonly type = SurfaceType.Modal; readonly title: PlainTextObject; readonly blocks: SlackBlockDto[]; } export declare class SlackWorkflowStepDto extends SlackDto { readonly type = SurfaceType.WorkflowStep; readonly blocks: SlackBlockDto[]; } export type SlackViewDto = SlackModalDto | SlackWorkflowStepDto | SlackHomeTabDto; export declare class SlackBlockDto extends SlackDto { readonly type: BlockType; readonly block_id: string; } export declare class SlackElementDto extends SlackDto { readonly type: ElementType; }