#![warn(missing_docs)]
#![warn(clippy::missing_docs_in_private_items)]
#![doc = include_str!("./../README.md")]

mod block;
mod element;
mod error;
mod generated;
mod layout;
mod oauth;
mod object;
mod request;
mod response;
mod slash_command;

pub use block::actions::ActionsBlock;
pub use block::context::ContextBlock;
pub use block::divider::DividerBlock;
pub use block::file::{FileBlock, FileBlockSource};
pub use block::header::HeaderBlock;
pub use block::image::ImageBlock;
pub use block::input::InputBlock;
pub use block::rich_text::{
    RichTextBlock, RichTextElement, RichTextElementBroadcast, RichTextElementBroadcastRange,
    RichTextElementChannel, RichTextElementColor, RichTextElementDate, RichTextElementEmoji,
    RichTextElementLink, RichTextElementText, RichTextElementUser, RichTextElementUsergroup,
    RichTextList, RichTextListStyle, RichTextObject, RichTextPreformatted, RichTextQuote,
    RichTextSection, RichTextStyle, RichTextStyle2,
};
pub use block::section::SectionBlock;
pub use block::Block;
pub use block::{BlockId, ExternalId};
pub use element::{ButtonElement, ButtonStyle, Element};
pub use error::{ApiError, CoreError, Error, ServerError};
pub use layout::{Layouts, MessagePayloads};
pub use oauth::OauthRedirectQuery;
pub use object::{ConfirmObect, MarkdownTextObject, PlainTextObject, TextObject};
pub use request::chat::chat_post_message::{
    Attachments, ChatPostMessageContent, ChatPostMessageRequest,
};
pub use request::files::files_complete_upload_external::{
    FilesCompleteUploadExternalRequest, FilesCompleteUploadExternalRequestFile,
};
pub use request::files::files_get_upload_url_external::FilesGetUploadUrlExternalRequest;
pub use request::files::files_info::FilesInfoRequest;
pub use request::files::files_upload::{FilesUploadRequest, FilesUploadRequestContent};
pub use request::files::remote::files_remote_add::FilesRemoteAddRequest;
pub use request::oauth::v2::oauth_v2_access::OauthV2AccessRequest;
pub use response::chat_post_message::ChatPostMessageResponse;
pub use response::files_complete_upload_external::FilesCompleteUploadExternalResponse;
pub use response::files_get_upload_url_external::FilesGetUploadUrlExternalResponse;
pub use response::files_info::FilesInfoResponse;
pub use response::files_remote_add::FilesRemoteAddResponse;
pub use response::files_upload::FilesUploadResponse;
pub use response::oauth_v2_access::OauthV2AccessResponse;
pub use slash_command::{SlashCommandBody, SlashCommandResponse};
