export declare const Surface: { readonly MESSAGE: "message"; readonly MODAL: "modal"; readonly HOME_TAB: "home-tab"; }; export type SurfaceType = (typeof Surface)[keyof typeof Surface]; export declare const BlockType: { readonly ACTIONS: "actions"; readonly CONTEXT: "context"; readonly DIVIDER: "divider"; readonly FILE: "file"; readonly IMAGE: "image"; readonly INPUT: "input"; readonly SECTION: "section"; }; export type BlockTypeValue = (typeof BlockType)[keyof typeof BlockType]; export declare const ElementType: { readonly BUTTON: "button"; readonly CHECKBOX: "checkboxes"; readonly DATE_PICKER: "datepicker"; readonly IMAGE: "image"; readonly MULTI_SELECT: "multi_static_select"; readonly OVERFLOW: "overflow"; readonly PLAIN_TEXT_INPUT: "plain_text_input"; readonly RADIO_BUTTON: "radio_buttons"; readonly SELECT: "static_select"; readonly TIME_PICKER: "timepicker"; readonly URL_INPUT: "url_text_input"; }; export type ElementTypeValue = (typeof ElementType)[keyof typeof ElementType]; export declare const Style: { readonly PRIMARY: "primary"; readonly DANGER: "danger"; }; export type StyleValue = (typeof Style)[keyof typeof Style]; export declare const TextType: { readonly PLAIN_TEXT: "plain_text"; readonly MRKDWN: "mrkdwn"; }; export type TextTypeValue = (typeof TextType)[keyof typeof TextType]; export interface Typeable { readonly type: string; } export interface Surfaceable { getValidSurfaces(): SurfaceType[]; } export interface BlockInterface extends Typeable, Surfaceable { blockId?: string; toJSON(): Record; } export interface ElementInterface extends Typeable { getValidBlocks(): BlockTypeValue[]; toJSON(): Record; } export interface MessageInterface { readonly maxBlocks: number; channel?: string; text?: string; threadTs?: string; addBlock(block: BlockInterface): void; getBlocks(): BlockInterface[]; toJSON(): Record; } //# sourceMappingURL=types.d.ts.map