export interface MessageBotPayload { token?: string; enterprise_id?: string; team_id?: string; api_app_id?: string; type?: string; authed_users?: string[]; authed_teams?: string[]; authorizations?: Authorization[]; is_ext_shared_channel?: boolean; event_id?: string; event_time?: number; event_context?: string; event?: Event; } export interface Authorization { enterprise_id?: string; team_id?: string; user_id?: string; is_bot?: boolean; is_enterprise_install?: boolean; } export interface Event { type?: string; subtype?: string; bot_id?: string; username?: string; icons?: Icons; channel?: string; text?: string; blocks?: Block[]; attachments?: Attachment[]; thread_ts?: string; ts?: string; event_ts?: string; channel_type?: string; } export interface Attachment { msg_subtype?: string; fallback?: string; callback_id?: string; color?: string; pretext?: string; service_url?: string; service_name?: string; service_icon?: string; author_id?: string; author_name?: string; author_link?: string; author_icon?: string; from_url?: string; original_url?: string; author_subname?: string; channel_id?: string; channel_name?: string; channel_team?: string; id?: number; app_id?: string; bot_id?: string; indent?: boolean; is_msg_unfurl?: boolean; is_reply_unfurl?: boolean; is_thread_root_unfurl?: boolean; is_app_unfurl?: boolean; app_unfurl_url?: string; title?: string; title_link?: string; text?: string; fields?: Field[]; image_url?: string; image_width?: number; image_height?: number; image_bytes?: number; thumb_url?: string; thumb_width?: number; thumb_height?: number; video_url?: string; video_html?: string; video_html_width?: number; video_html_height?: number; footer?: string; footer_icon?: string; ts?: string; mrkdwn_in?: string[]; actions?: Action[]; preview?: Preview; filename?: string; size?: number; mimetype?: string; url?: string; metadata?: Metadata; } export interface Action { id?: string; name?: string; text?: string; style?: string; type?: string; value?: string; confirm?: ActionConfirm; options?: any[]; selected_options?: any[]; data_source?: string; min_query_length?: number; url?: string; } export interface ActionConfirm { title?: string; text?: string; ok_text?: string; dismiss_text?: string; } export interface Field { title?: string; value?: string; short?: boolean; } export interface Metadata { thumb_64?: boolean; thumb_80?: boolean; thumb_160?: boolean; original_w?: number; original_h?: number; thumb_360_w?: number; thumb_360_h?: number; format?: string; extension?: string; rotation?: number; thumb_tiny?: string; } export interface Preview { type?: string; can_remove?: boolean; title?: Text; subtitle?: Text; icon_url?: string; } export interface Text { type?: Type; text?: string; emoji?: boolean; verbatim?: boolean; } export enum Type { Mrkdwn = "mrkdwn", PlainText = "plain_text", } export interface Block { type?: string; elements?: Element[]; block_id?: string; fallback?: string; image_url?: string; image_width?: number; image_height?: number; image_bytes?: number; alt_text?: string; title?: Text; text?: Text; fields?: Text[]; accessory?: Accessory; } export interface Accessory { type?: string; image_url?: string; alt_text?: string; fallback?: string; image_width?: number; image_height?: number; image_bytes?: number; } export interface Element { type?: string; text?: Text; action_id?: string; url?: string; value?: string; style?: string; confirm?: ElementConfirm; accessibility_label?: string; placeholder?: Text; initial_channel?: string; response_url_enabled?: boolean; focus_on_load?: boolean; max_selected_items?: number; initial_conversation?: string; default_to_current_conversation?: boolean; filter?: Filter; initial_date?: string; initial_option?: InitialOption; min_query_length?: number; image_url?: string; alt_text?: string; fallback?: string; image_width?: number; image_height?: number; image_bytes?: number; initial_user?: string; } export interface ElementConfirm { title?: Text; text?: Text; confirm?: Text; deny?: Text; style?: string; } export interface Filter { include?: string[]; exclude_external_shared_channels?: boolean; exclude_bot_users?: boolean; } export interface InitialOption { text?: Text; value?: string; description?: Text; url?: string; } export interface Icons { emoji?: string; image_36?: string; image_48?: string; image_64?: string; image_72?: string; }