fox-block-builder
Version:
Maintainable code for loop slack-block-kit-like modal builder
37 lines (36 loc) • 1.32 kB
TypeScript
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;
}