-module(telega@model@types). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/telega/model/types.gleam"). -export([new_answer_callback_query_parameters/1, default_bot_command_parameters/0, new_send_paid_media_parameters/3]). -export_type([background_fill/0, background_type/0, bot_command_scope/0, chat_boost_source/0, chat_member/0, inline_query_result/0, input_message_content/0, input_paid_media/0, input_poll_media/0, input_poll_option_media/0, input_profile_photo/0, input_rich_block/0, input_story_content/0, maybe_inaccessible_message/0, menu_button/0, message_origin/0, owned_gift/0, paid_media/0, passport_element_error/0, reaction_type/0, revenue_withdrawal_state/0, rich_block/0, rich_text/0, story_area_type/0, transaction_partner/0, accepted_gift_types/0, affiliate_info/0, animation/0, audio/0, background_fill_freeform_gradient/0, background_fill_gradient/0, background_fill_solid/0, background_type_chat_theme/0, background_type_fill/0, background_type_pattern/0, background_type_wallpaper/0, birthdate/0, bot_access_settings/0, bot_command/0, bot_command_scope_all_chat_administrators/0, bot_command_scope_all_group_chats/0, bot_command_scope_all_private_chats/0, bot_command_scope_chat/0, bot_command_scope_chat_administrators/0, bot_command_scope_chat_member/0, bot_command_scope_default/0, bot_description/0, bot_name/0, bot_short_description/0, bot_subscription_updated/0, business_bot_rights/0, business_connection/0, business_intro/0, business_location/0, business_messages_deleted/0, business_opening_hours/0, business_opening_hours_interval/0, callback_game/0, callback_query/0, chat/0, chat_administrator_rights/0, chat_background/0, chat_boost/0, chat_boost_added/0, chat_boost_removed/0, chat_boost_source_gift_code/0, chat_boost_source_giveaway/0, chat_boost_source_premium/0, chat_boost_updated/0, chat_full_info/0, chat_invite_link/0, chat_join_request/0, chat_location/0, chat_member_administrator/0, chat_member_banned/0, chat_member_left/0, chat_member_member/0, chat_member_owner/0, chat_member_restricted/0, chat_member_updated/0, chat_owner_changed/0, chat_owner_left/0, chat_permissions/0, chat_photo/0, chat_shared/0, checklist/0, checklist_task/0, checklist_tasks_added/0, checklist_tasks_done/0, chosen_inline_result/0, community/0, community_chat_added/0, community_chat_removed/0, contact/0, copy_text_button/0, dice/0, direct_message_price_changed/0, direct_messages_topic/0, document/0, encrypted_credentials/0, encrypted_passport_element/0, external_reply_info/0, file/0, force_reply/0, forum_topic/0, forum_topic_closed/0, forum_topic_created/0, forum_topic_edited/0, forum_topic_reopened/0, game/0, game_high_score/0, general_forum_topic_hidden/0, general_forum_topic_unhidden/0, gift/0, gift_background/0, gift_info/0, gifts/0, giveaway/0, giveaway_completed/0, giveaway_created/0, giveaway_winners/0, inaccessible_message/0, inline_keyboard_button/0, inline_keyboard_markup/0, inline_query/0, inline_query_result_article/0, inline_query_result_audio/0, inline_query_result_cached_audio/0, inline_query_result_cached_document/0, inline_query_result_cached_gif/0, inline_query_result_cached_mpeg4_gif/0, inline_query_result_cached_photo/0, inline_query_result_cached_sticker/0, inline_query_result_cached_video/0, inline_query_result_cached_voice/0, inline_query_result_contact/0, inline_query_result_document/0, inline_query_result_game/0, inline_query_result_gif/0, inline_query_result_location/0, inline_query_result_mpeg4_gif/0, inline_query_result_photo/0, inline_query_result_venue/0, inline_query_result_video/0, inline_query_result_voice/0, inline_query_results_button/0, input_checklist/0, input_checklist_task/0, input_contact_message_content/0, input_invoice_message_content/0, input_location_message_content/0, input_media_animation/0, input_media_audio/0, input_media_document/0, input_media_link/0, input_media_live_photo/0, input_media_location/0, input_media_photo/0, input_media_sticker/0, input_media_venue/0, input_media_video/0, input_media_voice_note/0, input_paid_media_live_photo/0, input_paid_media_photo/0, input_paid_media_video/0, input_poll_option/0, input_profile_photo_animated/0, input_profile_photo_static/0, input_rich_block_anchor/0, input_rich_block_animation/0, input_rich_block_audio/0, input_rich_block_block_quotation/0, input_rich_block_collage/0, input_rich_block_details/0, input_rich_block_divider/0, input_rich_block_footer/0, input_rich_block_list/0, input_rich_block_list_item/0, input_rich_block_map/0, input_rich_block_mathematical_expression/0, input_rich_block_paragraph/0, input_rich_block_photo/0, input_rich_block_preformatted/0, input_rich_block_pull_quotation/0, input_rich_block_section_heading/0, input_rich_block_slideshow/0, input_rich_block_table/0, input_rich_block_thinking/0, input_rich_block_video/0, input_rich_block_voice_note/0, input_rich_message/0, input_rich_message_content/0, input_rich_message_media/0, input_sticker/0, input_story_content_photo/0, input_story_content_video/0, input_text_message_content/0, input_venue_message_content/0, invoice/0, keyboard_button/0, keyboard_button_poll_type/0, keyboard_button_request_chat/0, keyboard_button_request_managed_bot/0, keyboard_button_request_users/0, labeled_price/0, link/0, link_preview_options/0, live_photo/0, location/0, location_address/0, login_url/0, managed_bot_created/0, managed_bot_updated/0, mask_position/0, menu_button_commands/0, menu_button_default/0, menu_button_web_app/0, message/0, message_auto_delete_timer_changed/0, message_entity/0, message_id/0, message_origin_channel/0, message_origin_chat/0, message_origin_hidden_user/0, message_origin_user/0, message_reaction_count_updated/0, message_reaction_updated/0, order_info/0, owned_gift_regular/0, owned_gift_unique/0, owned_gifts/0, paid_media_info/0, paid_media_live_photo/0, paid_media_photo/0, paid_media_preview/0, paid_media_purchased/0, paid_media_video/0, paid_message_price_changed/0, passport_data/0, passport_element_error_data_field/0, passport_element_error_file/0, passport_element_error_files/0, passport_element_error_front_side/0, passport_element_error_reverse_side/0, passport_element_error_selfie/0, passport_element_error_translation_file/0, passport_element_error_translation_files/0, passport_element_error_unspecified/0, passport_file/0, photo_size/0, poll/0, poll_answer/0, poll_media/0, poll_option/0, poll_option_added/0, poll_option_deleted/0, pre_checkout_query/0, prepared_inline_message/0, prepared_keyboard_button/0, proximity_alert_triggered/0, reaction_count/0, reaction_type_custom_emoji/0, reaction_type_emoji/0, reaction_type_paid/0, refunded_payment/0, reply_keyboard_markup/0, reply_keyboard_remove/0, reply_parameters/0, response_parameters/0, revenue_withdrawal_state_failed/0, revenue_withdrawal_state_pending/0, revenue_withdrawal_state_succeeded/0, rich_block_anchor/0, rich_block_animation/0, rich_block_audio/0, rich_block_block_quotation/0, rich_block_caption/0, rich_block_collage/0, rich_block_details/0, rich_block_divider/0, rich_block_footer/0, rich_block_list/0, rich_block_list_item/0, rich_block_map/0, rich_block_mathematical_expression/0, rich_block_paragraph/0, rich_block_photo/0, rich_block_preformatted/0, rich_block_pull_quotation/0, rich_block_section_heading/0, rich_block_slideshow/0, rich_block_table/0, rich_block_table_cell/0, rich_block_thinking/0, rich_block_video/0, rich_block_voice_note/0, rich_message/0, rich_text_anchor/0, rich_text_anchor_link/0, rich_text_bank_card_number/0, rich_text_bold/0, rich_text_bot_command/0, rich_text_cashtag/0, rich_text_code/0, rich_text_custom_emoji/0, rich_text_date_time/0, rich_text_email_address/0, rich_text_hashtag/0, rich_text_italic/0, rich_text_marked/0, rich_text_mathematical_expression/0, rich_text_mention/0, rich_text_phone_number/0, rich_text_reference/0, rich_text_reference_link/0, rich_text_spoiler/0, rich_text_strikethrough/0, rich_text_subscript/0, rich_text_superscript/0, rich_text_text_mention/0, rich_text_underline/0, rich_text_url/0, sent_guest_message/0, sent_web_app_message/0, shared_user/0, shipping_address/0, shipping_option/0, shipping_query/0, star_amount/0, star_transaction/0, star_transactions/0, sticker/0, sticker_set/0, story/0, story_area/0, story_area_position/0, story_area_type_link/0, story_area_type_location/0, story_area_type_suggested_reaction/0, story_area_type_unique_gift/0, story_area_type_weather/0, successful_payment/0, suggested_post_approval_failed/0, suggested_post_approved/0, suggested_post_declined/0, suggested_post_info/0, suggested_post_paid/0, suggested_post_parameters/0, suggested_post_price/0, suggested_post_refunded/0, switch_inline_query_chosen_chat/0, text_quote/0, transaction_partner_affiliate_program/0, transaction_partner_chat/0, transaction_partner_fragment/0, transaction_partner_other/0, transaction_partner_telegram_ads/0, transaction_partner_telegram_api/0, transaction_partner_user/0, unique_gift/0, unique_gift_backdrop/0, unique_gift_backdrop_colors/0, unique_gift_colors/0, unique_gift_info/0, unique_gift_model/0, unique_gift_symbol/0, update/0, user/0, user_chat_boosts/0, user_profile_audios/0, user_profile_photos/0, user_rating/0, users_shared/0, venue/0, video/0, video_chat_ended/0, video_chat_participants_invited/0, video_chat_scheduled/0, video_chat_started/0, video_note/0, video_quality/0, voice/0, web_app_data/0, web_app_info/0, webhook_info/0, write_access_allowed/0, input_media/0, send_message_reply_markup_parameters/0, answer_callback_query_parameters/0, bot_command_parameters/0, edit_message_text_parameters/0, forward_message_parameters/0, forward_messages_parameters/0, set_webhook_parameters/0, get_updates_parameters/0, copy_message_parameters/0, copy_messages_parameters/0, set_chat_menu_button_parameters/0, send_message_parameters/0, send_dice_parameters/0, refund_star_payment_parameters/0, send_photo_parameters/0, send_audio_parameters/0, send_document_parameters/0, send_video_parameters/0, send_animation_parameters/0, send_voice_parameters/0, send_video_note_parameters/0, send_media_group_parameters/0, send_location_parameters/0, send_venue_parameters/0, send_contact_parameters/0, send_poll_parameters/0, chat_action/0, send_chat_action_parameters/0, send_invoice_parameters/0, create_invoice_link_parameters/0, send_sticker_parameters/0, get_sticker_set_parameters/0, set_message_reaction_parameters/0, get_user_profile_photos_parameters/0, get_user_profile_audios_parameters/0, set_my_profile_photo_parameters/0, edit_message_caption_parameters/0, edit_message_media_parameters/0, edit_message_live_location_parameters/0, stop_message_live_location_parameters/0, edit_message_reply_markup_parameters/0, stop_poll_parameters/0, delete_message_parameters/0, delete_messages_parameters/0, ban_chat_member_parameters/0, unban_chat_member_parameters/0, restrict_chat_member_parameters/0, promote_chat_member_parameters/0, set_chat_administrator_custom_title_parameters/0, ban_chat_sender_chat_parameters/0, unban_chat_sender_chat_parameters/0, set_chat_permissions_parameters/0, export_chat_invite_link_parameters/0, create_chat_invite_link_parameters/0, edit_chat_invite_link_parameters/0, create_chat_subscription_invite_link_parameters/0, edit_chat_subscription_invite_link_parameters/0, revoke_chat_invite_link_parameters/0, approve_chat_join_request_parameters/0, decline_chat_join_request_parameters/0, set_chat_photo_parameters/0, delete_chat_photo_parameters/0, set_chat_title_parameters/0, set_chat_description_parameters/0, pin_chat_message_parameters/0, unpin_chat_message_parameters/0, unpin_all_chat_messages_parameters/0, leave_chat_parameters/0, get_chat_administrators_parameters/0, get_chat_member_count_parameters/0, get_chat_member_parameters/0, set_chat_sticker_set_parameters/0, delete_chat_sticker_set_parameters/0, create_forum_topic_parameters/0, edit_forum_topic_parameters/0, close_forum_topic_parameters/0, reopen_forum_topic_parameters/0, delete_forum_topic_parameters/0, unpin_all_forum_topic_messages_parameters/0, unpin_all_general_forum_topic_pinned_messages_parameters/0, edit_general_forum_topic_parameters/0, close_general_forum_topic_parameters/0, reopen_general_forum_topic_parameters/0, hide_general_forum_topic_parameters/0, unhide_general_forum_topic_parameters/0, unpin_all_general_forum_topic_messages_parameters/0, get_user_chat_boosts_parameters/0, get_business_connection_parameters/0, set_my_name_parameters/0, get_my_name_parameters/0, set_my_description_parameters/0, get_my_description_parameters/0, set_my_short_description_parameters/0, get_my_short_description_parameters/0, get_chat_menu_button_parameters/0, set_my_default_administrator_rights_parameters/0, get_my_default_administrator_rights_parameters/0, send_gift_parameters/0, gift_premium_subscription_parameters/0, send_message_draft_parameters/0, get_user_gifts_parameters/0, get_chat_gifts_parameters/0, repost_story_parameters/0, verify_user_parameters/0, verify_chat_parameters/0, remove_user_verification_parameters/0, remove_chat_verification_parameters/0, get_custom_emoji_stickers_parameters/0, upload_sticker_file_parameters/0, create_new_sticker_set_parameters/0, add_sticker_to_set_parameters/0, set_sticker_position_in_set_parameters/0, delete_sticker_from_set_parameters/0, replace_sticker_in_set_parameters/0, set_sticker_emoji_list_parameters/0, set_sticker_keywords_parameters/0, set_sticker_mask_position_parameters/0, set_sticker_set_title_parameters/0, set_sticker_set_thumbnail_parameters/0, set_custom_emoji_sticker_set_thumbnail_parameters/0, delete_sticker_set_parameters/0, answer_inline_query_parameters/0, answer_shipping_query_parameters/0, answer_pre_checkout_query_parameters/0, get_star_transactions_parameters/0, edit_user_star_subscription_parameters/0, send_game_parameters/0, set_game_score_parameters/0, get_game_high_scores_parameters/0, read_business_message_parameters/0, delete_business_messages_parameters/0, set_business_account_name_parameters/0, set_business_account_username_parameters/0, set_business_account_bio_parameters/0, set_business_account_profile_photo_parameters/0, remove_business_account_profile_photo_parameters/0, set_business_account_gift_settings_parameters/0, get_business_account_star_balance_parameters/0, transfer_business_account_stars_parameters/0, get_business_account_gifts_parameters/0, convert_gift_to_stars_parameters/0, upgrade_gift_parameters/0, transfer_gift_parameters/0, post_story_parameters/0, edit_story_parameters/0, delete_story_parameters/0, answer_guest_query_parameters/0, delete_message_reaction_parameters/0, delete_all_message_reactions_parameters/0, send_live_photo_parameters/0, send_rich_message_parameters/0, send_rich_message_draft_parameters/0, delete_ephemeral_message_parameters/0, edit_ephemeral_message_text_parameters/0, edit_ephemeral_message_caption_parameters/0, edit_ephemeral_message_media_parameters/0, edit_ephemeral_message_reply_markup_parameters/0, answer_chat_join_request_query_parameters/0, send_chat_join_request_web_app_parameters/0, send_paid_media_parameters/0, get_managed_bot_access_settings_parameters/0, set_managed_bot_access_settings_parameters/0, get_user_personal_chat_messages_parameters/0, file_or_string/0, int_or_string/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC( " This module contains all types from [Telegram Bot API](https://core.telegram.org/bots/api).\n" "\n" " Most of types named in the same way as in the official documentation.\n" " But some types are renamed to more verbose names for using from Gleam code (ex. `type` -> `type_`).\n" ). -type background_fill() :: {background_fill_solid_background_fill, background_fill_solid()} | {background_fill_gradient_background_fill, background_fill_gradient()} | {background_fill_freeform_gradient_background_fill, background_fill_freeform_gradient()}. -type background_type() :: {background_type_fill_background_type, background_type_fill()} | {background_type_wallpaper_background_type, background_type_wallpaper()} | {background_type_pattern_background_type, background_type_pattern()} | {background_type_chat_theme_background_type, background_type_chat_theme()}. -type bot_command_scope() :: {bot_command_scope_default_bot_command_scope, bot_command_scope_default()} | {bot_command_scope_all_private_chats_bot_command_scope, bot_command_scope_all_private_chats()} | {bot_command_scope_all_group_chats_bot_command_scope, bot_command_scope_all_group_chats()} | {bot_command_scope_all_chat_administrators_bot_command_scope, bot_command_scope_all_chat_administrators()} | {bot_command_scope_chat_bot_command_scope, bot_command_scope_chat()} | {bot_command_scope_chat_administrators_bot_command_scope, bot_command_scope_chat_administrators()} | {bot_command_scope_chat_member_bot_command_scope, bot_command_scope_chat_member()}. -type chat_boost_source() :: {chat_boost_source_premium_chat_boost_source, chat_boost_source_premium()} | {chat_boost_source_gift_code_chat_boost_source, chat_boost_source_gift_code()} | {chat_boost_source_giveaway_chat_boost_source, chat_boost_source_giveaway()}. -type chat_member() :: {chat_member_owner_chat_member, chat_member_owner()} | {chat_member_administrator_chat_member, chat_member_administrator()} | {chat_member_member_chat_member, chat_member_member()} | {chat_member_restricted_chat_member, chat_member_restricted()} | {chat_member_left_chat_member, chat_member_left()} | {chat_member_banned_chat_member, chat_member_banned()}. -type inline_query_result() :: {inline_query_result_cached_audio_inline_query_result, inline_query_result_cached_audio()} | {inline_query_result_cached_document_inline_query_result, inline_query_result_cached_document()} | {inline_query_result_cached_gif_inline_query_result, inline_query_result_cached_gif()} | {inline_query_result_cached_mpeg4_gif_inline_query_result, inline_query_result_cached_mpeg4_gif()} | {inline_query_result_cached_photo_inline_query_result, inline_query_result_cached_photo()} | {inline_query_result_cached_sticker_inline_query_result, inline_query_result_cached_sticker()} | {inline_query_result_cached_video_inline_query_result, inline_query_result_cached_video()} | {inline_query_result_cached_voice_inline_query_result, inline_query_result_cached_voice()} | {inline_query_result_article_inline_query_result, inline_query_result_article()} | {inline_query_result_audio_inline_query_result, inline_query_result_audio()} | {inline_query_result_contact_inline_query_result, inline_query_result_contact()} | {inline_query_result_game_inline_query_result, inline_query_result_game()} | {inline_query_result_document_inline_query_result, inline_query_result_document()} | {inline_query_result_gif_inline_query_result, inline_query_result_gif()} | {inline_query_result_location_inline_query_result, inline_query_result_location()} | {inline_query_result_mpeg4_gif_inline_query_result, inline_query_result_mpeg4_gif()} | {inline_query_result_photo_inline_query_result, inline_query_result_photo()} | {inline_query_result_venue_inline_query_result, inline_query_result_venue()} | {inline_query_result_video_inline_query_result, inline_query_result_video()} | {inline_query_result_voice_inline_query_result, inline_query_result_voice()}. -type input_message_content() :: {input_text_message_content_input_message_content, input_text_message_content()} | {input_rich_message_content_input_message_content, input_rich_message_content()} | {input_location_message_content_input_message_content, input_location_message_content()} | {input_venue_message_content_input_message_content, input_venue_message_content()} | {input_contact_message_content_input_message_content, input_contact_message_content()} | {input_invoice_message_content_input_message_content, input_invoice_message_content()}. -type input_paid_media() :: {input_paid_media_live_photo_input_paid_media, input_paid_media_live_photo()} | {input_paid_media_photo_input_paid_media, input_paid_media_photo()} | {input_paid_media_video_input_paid_media, input_paid_media_video()}. -type input_poll_media() :: {input_media_animation_input_poll_media, input_media_animation()} | {input_media_audio_input_poll_media, input_media_audio()} | {input_media_document_input_poll_media, input_media_document()} | {input_media_live_photo_input_poll_media, input_media_live_photo()} | {input_media_location_input_poll_media, input_media_location()} | {input_media_photo_input_poll_media, input_media_photo()} | {input_media_venue_input_poll_media, input_media_venue()} | {input_media_video_input_poll_media, input_media_video()}. -type input_poll_option_media() :: {input_media_animation_input_poll_option_media, input_media_animation()} | {input_media_link_input_poll_option_media, input_media_link()} | {input_media_live_photo_input_poll_option_media, input_media_live_photo()} | {input_media_location_input_poll_option_media, input_media_location()} | {input_media_photo_input_poll_option_media, input_media_photo()} | {input_media_sticker_input_poll_option_media, input_media_sticker()} | {input_media_venue_input_poll_option_media, input_media_venue()} | {input_media_video_input_poll_option_media, input_media_video()}. -type input_profile_photo() :: {input_profile_photo_static_input_profile_photo, input_profile_photo_static()} | {input_profile_photo_animated_input_profile_photo, input_profile_photo_animated()}. -type input_rich_block() :: {input_rich_block_paragraph_input_rich_block, input_rich_block_paragraph()} | {input_rich_block_section_heading_input_rich_block, input_rich_block_section_heading()} | {input_rich_block_preformatted_input_rich_block, input_rich_block_preformatted()} | {input_rich_block_footer_input_rich_block, input_rich_block_footer()} | {input_rich_block_divider_input_rich_block, input_rich_block_divider()} | {input_rich_block_mathematical_expression_input_rich_block, input_rich_block_mathematical_expression()} | {input_rich_block_anchor_input_rich_block, input_rich_block_anchor()} | {input_rich_block_list_input_rich_block, input_rich_block_list()} | {input_rich_block_block_quotation_input_rich_block, input_rich_block_block_quotation()} | {input_rich_block_pull_quotation_input_rich_block, input_rich_block_pull_quotation()} | {input_rich_block_collage_input_rich_block, input_rich_block_collage()} | {input_rich_block_slideshow_input_rich_block, input_rich_block_slideshow()} | {input_rich_block_table_input_rich_block, input_rich_block_table()} | {input_rich_block_details_input_rich_block, input_rich_block_details()} | {input_rich_block_map_input_rich_block, input_rich_block_map()} | {input_rich_block_animation_input_rich_block, input_rich_block_animation()} | {input_rich_block_audio_input_rich_block, input_rich_block_audio()} | {input_rich_block_photo_input_rich_block, input_rich_block_photo()} | {input_rich_block_video_input_rich_block, input_rich_block_video()} | {input_rich_block_voice_note_input_rich_block, input_rich_block_voice_note()} | {input_rich_block_thinking_input_rich_block, input_rich_block_thinking()}. -type input_story_content() :: {input_story_content_photo_input_story_content, input_story_content_photo()} | {input_story_content_video_input_story_content, input_story_content_video()}. -type maybe_inaccessible_message() :: {message_maybe_inaccessible_message, message()} | {inaccessible_message_maybe_inaccessible_message, inaccessible_message()}. -type menu_button() :: {menu_button_commands_menu_button, menu_button_commands()} | {menu_button_web_app_menu_button, menu_button_web_app()} | {menu_button_default_menu_button, menu_button_default()}. -type message_origin() :: {message_origin_user_message_origin, message_origin_user()} | {message_origin_hidden_user_message_origin, message_origin_hidden_user()} | {message_origin_chat_message_origin, message_origin_chat()} | {message_origin_channel_message_origin, message_origin_channel()}. -type owned_gift() :: {owned_gift_regular_owned_gift, owned_gift_regular()} | {owned_gift_unique_owned_gift, owned_gift_unique()}. -type paid_media() :: {paid_media_live_photo_paid_media, paid_media_live_photo()} | {paid_media_photo_paid_media, paid_media_photo()} | {paid_media_preview_paid_media, paid_media_preview()} | {paid_media_video_paid_media, paid_media_video()}. -type passport_element_error() :: {passport_element_error_data_field_passport_element_error, passport_element_error_data_field()} | {passport_element_error_front_side_passport_element_error, passport_element_error_front_side()} | {passport_element_error_reverse_side_passport_element_error, passport_element_error_reverse_side()} | {passport_element_error_selfie_passport_element_error, passport_element_error_selfie()} | {passport_element_error_file_passport_element_error, passport_element_error_file()} | {passport_element_error_files_passport_element_error, passport_element_error_files()} | {passport_element_error_translation_file_passport_element_error, passport_element_error_translation_file()} | {passport_element_error_translation_files_passport_element_error, passport_element_error_translation_files()} | {passport_element_error_unspecified_passport_element_error, passport_element_error_unspecified()}. -type reaction_type() :: {reaction_type_emoji_reaction_type, reaction_type_emoji()} | {reaction_type_custom_emoji_reaction_type, reaction_type_custom_emoji()} | {reaction_type_paid_reaction_type, reaction_type_paid()}. -type revenue_withdrawal_state() :: {revenue_withdrawal_state_pending_revenue_withdrawal_state, revenue_withdrawal_state_pending()} | {revenue_withdrawal_state_succeeded_revenue_withdrawal_state, revenue_withdrawal_state_succeeded()} | {revenue_withdrawal_state_failed_revenue_withdrawal_state, revenue_withdrawal_state_failed()}. -type rich_block() :: {rich_block_paragraph_rich_block, rich_block_paragraph()} | {rich_block_section_heading_rich_block, rich_block_section_heading()} | {rich_block_preformatted_rich_block, rich_block_preformatted()} | {rich_block_footer_rich_block, rich_block_footer()} | {rich_block_divider_rich_block, rich_block_divider()} | {rich_block_mathematical_expression_rich_block, rich_block_mathematical_expression()} | {rich_block_anchor_rich_block, rich_block_anchor()} | {rich_block_list_rich_block, rich_block_list()} | {rich_block_block_quotation_rich_block, rich_block_block_quotation()} | {rich_block_pull_quotation_rich_block, rich_block_pull_quotation()} | {rich_block_collage_rich_block, rich_block_collage()} | {rich_block_slideshow_rich_block, rich_block_slideshow()} | {rich_block_table_rich_block, rich_block_table()} | {rich_block_details_rich_block, rich_block_details()} | {rich_block_map_rich_block, rich_block_map()} | {rich_block_animation_rich_block, rich_block_animation()} | {rich_block_audio_rich_block, rich_block_audio()} | {rich_block_photo_rich_block, rich_block_photo()} | {rich_block_video_rich_block, rich_block_video()} | {rich_block_voice_note_rich_block, rich_block_voice_note()} | {rich_block_thinking_rich_block, rich_block_thinking()}. -type rich_text() :: {string_rich_text, binary()} | {list_rich_text, list(rich_text())} | {rich_text_bold_rich_text, rich_text_bold()} | {rich_text_italic_rich_text, rich_text_italic()} | {rich_text_underline_rich_text, rich_text_underline()} | {rich_text_strikethrough_rich_text, rich_text_strikethrough()} | {rich_text_spoiler_rich_text, rich_text_spoiler()} | {rich_text_date_time_rich_text, rich_text_date_time()} | {rich_text_text_mention_rich_text, rich_text_text_mention()} | {rich_text_subscript_rich_text, rich_text_subscript()} | {rich_text_superscript_rich_text, rich_text_superscript()} | {rich_text_marked_rich_text, rich_text_marked()} | {rich_text_code_rich_text, rich_text_code()} | {rich_text_custom_emoji_rich_text, rich_text_custom_emoji()} | {rich_text_mathematical_expression_rich_text, rich_text_mathematical_expression()} | {rich_text_url_rich_text, rich_text_url()} | {rich_text_email_address_rich_text, rich_text_email_address()} | {rich_text_phone_number_rich_text, rich_text_phone_number()} | {rich_text_bank_card_number_rich_text, rich_text_bank_card_number()} | {rich_text_mention_rich_text, rich_text_mention()} | {rich_text_hashtag_rich_text, rich_text_hashtag()} | {rich_text_cashtag_rich_text, rich_text_cashtag()} | {rich_text_bot_command_rich_text, rich_text_bot_command()} | {rich_text_anchor_rich_text, rich_text_anchor()} | {rich_text_anchor_link_rich_text, rich_text_anchor_link()} | {rich_text_reference_rich_text, rich_text_reference()} | {rich_text_reference_link_rich_text, rich_text_reference_link()}. -type story_area_type() :: {story_area_type_location_story_area_type, story_area_type_location()} | {story_area_type_suggested_reaction_story_area_type, story_area_type_suggested_reaction()} | {story_area_type_link_story_area_type, story_area_type_link()} | {story_area_type_weather_story_area_type, story_area_type_weather()} | {story_area_type_unique_gift_story_area_type, story_area_type_unique_gift()}. -type transaction_partner() :: {transaction_partner_user_transaction_partner, transaction_partner_user()} | {transaction_partner_chat_transaction_partner, transaction_partner_chat()} | {transaction_partner_affiliate_program_transaction_partner, transaction_partner_affiliate_program()} | {transaction_partner_fragment_transaction_partner, transaction_partner_fragment()} | {transaction_partner_telegram_ads_transaction_partner, transaction_partner_telegram_ads()} | {transaction_partner_telegram_api_transaction_partner, transaction_partner_telegram_api()} | {transaction_partner_other_transaction_partner, transaction_partner_other()}. -type accepted_gift_types() :: {accepted_gift_types, boolean(), boolean(), boolean(), boolean(), boolean()}. -type affiliate_info() :: {affiliate_info, gleam@option:option(user()), gleam@option:option(chat()), integer(), integer(), gleam@option:option(integer())}. -type animation() :: {animation, binary(), binary(), integer(), integer(), integer(), gleam@option:option(photo_size()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer())}. -type audio() :: {audio, binary(), binary(), integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(photo_size())}. -type background_fill_freeform_gradient() :: {background_fill_freeform_gradient, binary(), list(integer())}. -type background_fill_gradient() :: {background_fill_gradient, binary(), integer(), integer(), integer()}. -type background_fill_solid() :: {background_fill_solid, binary(), integer()}. -type background_type_chat_theme() :: {background_type_chat_theme, binary(), binary()}. -type background_type_fill() :: {background_type_fill, binary(), background_fill(), integer()}. -type background_type_pattern() :: {background_type_pattern, binary(), document(), background_fill(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type background_type_wallpaper() :: {background_type_wallpaper, binary(), document(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type birthdate() :: {birthdate, integer(), integer(), gleam@option:option(integer())}. -type bot_access_settings() :: {bot_access_settings, boolean(), gleam@option:option(list(user()))}. -type bot_command() :: {bot_command, binary(), binary(), gleam@option:option(boolean())}. -type bot_command_scope_all_chat_administrators() :: {bot_command_scope_all_chat_administrators, binary()}. -type bot_command_scope_all_group_chats() :: {bot_command_scope_all_group_chats, binary()}. -type bot_command_scope_all_private_chats() :: {bot_command_scope_all_private_chats, binary()}. -type bot_command_scope_chat() :: {bot_command_scope_chat, binary(), int_or_string()}. -type bot_command_scope_chat_administrators() :: {bot_command_scope_chat_administrators, binary(), int_or_string()}. -type bot_command_scope_chat_member() :: {bot_command_scope_chat_member, binary(), int_or_string(), integer()}. -type bot_command_scope_default() :: {bot_command_scope_default, binary()}. -type bot_description() :: {bot_description, binary()}. -type bot_name() :: {bot_name, binary()}. -type bot_short_description() :: {bot_short_description, binary()}. -type bot_subscription_updated() :: {bot_subscription_updated, user(), binary(), binary()}. -type business_bot_rights() :: {business_bot_rights, gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type business_connection() :: {business_connection, binary(), user(), integer(), integer(), gleam@option:option(business_bot_rights()), boolean()}. -type business_intro() :: {business_intro, gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(sticker())}. -type business_location() :: {business_location, binary(), gleam@option:option(location())}. -type business_messages_deleted() :: {business_messages_deleted, binary(), chat(), list(integer())}. -type business_opening_hours() :: {business_opening_hours, binary(), list(business_opening_hours_interval())}. -type business_opening_hours_interval() :: {business_opening_hours_interval, integer(), integer()}. -type callback_game() :: callback_game. -type callback_query() :: {callback_query, binary(), user(), gleam@option:option(maybe_inaccessible_message()), gleam@option:option(binary()), binary(), gleam@option:option(binary()), gleam@option:option(binary())}. -type chat() :: {chat, integer(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type chat_administrator_rights() :: {chat_administrator_rights, boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type chat_background() :: {chat_background, background_type()}. -type chat_boost() :: {chat_boost, binary(), integer(), integer(), chat_boost_source()}. -type chat_boost_added() :: {chat_boost_added, integer()}. -type chat_boost_removed() :: {chat_boost_removed, chat(), binary(), integer(), chat_boost_source()}. -type chat_boost_source_gift_code() :: {chat_boost_source_gift_code, binary(), user()}. -type chat_boost_source_giveaway() :: {chat_boost_source_giveaway, binary(), integer(), gleam@option:option(user()), gleam@option:option(integer()), gleam@option:option(boolean())}. -type chat_boost_source_premium() :: {chat_boost_source_premium, binary(), user()}. -type chat_boost_updated() :: {chat_boost_updated, chat(), chat_boost()}. -type chat_full_info() :: {chat_full_info, integer(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), integer(), integer(), gleam@option:option(chat_photo()), gleam@option:option(list(binary())), gleam@option:option(birthdate()), gleam@option:option(business_intro()), gleam@option:option(business_location()), gleam@option:option(business_opening_hours()), gleam@option:option(chat()), gleam@option:option(chat()), gleam@option:option(list(reaction_type())), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(message()), gleam@option:option(chat_permissions()), accepted_gift_types(), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(chat_location()), gleam@option:option(user_rating()), gleam@option:option(audio()), gleam@option:option(unique_gift_colors()), gleam@option:option(integer()), gleam@option:option(user()), gleam@option:option(community())}. -type chat_invite_link() :: {chat_invite_link, binary(), user(), boolean(), boolean(), boolean(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer())}. -type chat_join_request() :: {chat_join_request, chat(), user(), integer(), integer(), gleam@option:option(binary()), gleam@option:option(chat_invite_link()), gleam@option:option(binary())}. -type chat_location() :: {chat_location, location(), binary()}. -type chat_member_administrator() :: {chat_member_administrator, binary(), user(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary())}. -type chat_member_banned() :: {chat_member_banned, binary(), user(), integer()}. -type chat_member_left() :: {chat_member_left, binary(), user()}. -type chat_member_member() :: {chat_member_member, binary(), gleam@option:option(binary()), user(), gleam@option:option(integer())}. -type chat_member_owner() :: {chat_member_owner, binary(), user(), boolean(), gleam@option:option(binary())}. -type chat_member_restricted() :: {chat_member_restricted, binary(), gleam@option:option(binary()), user(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), boolean(), integer()}. -type chat_member_updated() :: {chat_member_updated, chat(), user(), integer(), chat_member(), chat_member(), gleam@option:option(chat_invite_link()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type chat_owner_changed() :: {chat_owner_changed, user()}. -type chat_owner_left() :: {chat_owner_left, gleam@option:option(user())}. -type chat_permissions() :: {chat_permissions, gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type chat_photo() :: {chat_photo, binary(), binary(), binary(), binary()}. -type chat_shared() :: {chat_shared, integer(), integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(photo_size()))}. -type checklist() :: {checklist, binary(), gleam@option:option(list(message_entity())), list(checklist_task()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type checklist_task() :: {checklist_task, integer(), binary(), gleam@option:option(list(message_entity())), gleam@option:option(user()), gleam@option:option(chat()), gleam@option:option(integer())}. -type checklist_tasks_added() :: {checklist_tasks_added, gleam@option:option(message()), list(checklist_task())}. -type checklist_tasks_done() :: {checklist_tasks_done, gleam@option:option(message()), gleam@option:option(list(integer())), gleam@option:option(list(integer()))}. -type chosen_inline_result() :: {chosen_inline_result, binary(), user(), gleam@option:option(location()), gleam@option:option(binary()), binary()}. -type community() :: {community, integer(), binary()}. -type community_chat_added() :: {community_chat_added, community()}. -type community_chat_removed() :: community_chat_removed. -type contact() :: {contact, binary(), binary(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary())}. -type copy_text_button() :: {copy_text_button, binary()}. -type dice() :: {dice, binary(), integer()}. -type direct_message_price_changed() :: {direct_message_price_changed, boolean(), gleam@option:option(integer())}. -type direct_messages_topic() :: {direct_messages_topic, integer(), gleam@option:option(user())}. -type document() :: {document, binary(), binary(), gleam@option:option(photo_size()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer())}. -type encrypted_credentials() :: {encrypted_credentials, binary(), binary(), binary()}. -type encrypted_passport_element() :: {encrypted_passport_element, binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(passport_file())), gleam@option:option(passport_file()), gleam@option:option(passport_file()), gleam@option:option(passport_file()), gleam@option:option(list(passport_file())), binary()}. -type external_reply_info() :: {external_reply_info, message_origin(), gleam@option:option(chat()), gleam@option:option(integer()), gleam@option:option(link_preview_options()), gleam@option:option(animation()), gleam@option:option(audio()), gleam@option:option(document()), gleam@option:option(live_photo()), gleam@option:option(paid_media_info()), gleam@option:option(list(photo_size())), gleam@option:option(sticker()), gleam@option:option(story()), gleam@option:option(video()), gleam@option:option(video_note()), gleam@option:option(voice()), gleam@option:option(boolean()), gleam@option:option(checklist()), gleam@option:option(contact()), gleam@option:option(dice()), gleam@option:option(game()), gleam@option:option(giveaway()), gleam@option:option(giveaway_winners()), gleam@option:option(invoice()), gleam@option:option(location()), gleam@option:option(poll()), gleam@option:option(venue())}. -type file() :: {file, binary(), binary(), gleam@option:option(integer()), gleam@option:option(binary())}. -type force_reply() :: {force_reply, boolean(), gleam@option:option(binary()), gleam@option:option(boolean())}. -type forum_topic() :: {forum_topic, integer(), binary(), integer(), gleam@option:option(binary()), gleam@option:option(boolean())}. -type forum_topic_closed() :: forum_topic_closed. -type forum_topic_created() :: {forum_topic_created, binary(), integer(), gleam@option:option(binary()), gleam@option:option(boolean())}. -type forum_topic_edited() :: {forum_topic_edited, gleam@option:option(binary()), gleam@option:option(binary())}. -type forum_topic_reopened() :: forum_topic_reopened. -type game() :: {game, binary(), binary(), list(photo_size()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(animation())}. -type game_high_score() :: {game_high_score, integer(), user(), integer()}. -type general_forum_topic_hidden() :: general_forum_topic_hidden. -type general_forum_topic_unhidden() :: general_forum_topic_unhidden. -type gift() :: {gift, binary(), sticker(), integer(), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(gift_background()), gleam@option:option(integer()), gleam@option:option(chat())}. -type gift_background() :: {gift_background, integer(), integer(), integer()}. -type gift_info() :: {gift_info, gift(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(integer())}. -type gifts() :: {gifts, list(gift())}. -type giveaway() :: {giveaway, list(chat()), integer(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(list(binary())), gleam@option:option(integer()), gleam@option:option(integer())}. -type giveaway_completed() :: {giveaway_completed, integer(), gleam@option:option(integer()), gleam@option:option(message()), gleam@option:option(boolean())}. -type giveaway_created() :: {giveaway_created, gleam@option:option(integer())}. -type giveaway_winners() :: {giveaway_winners, chat(), integer(), integer(), integer(), list(user()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary())}. -type inaccessible_message() :: {inaccessible_message, chat(), integer(), integer()}. -type inline_keyboard_button() :: {inline_keyboard_button, binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(web_app_info()), gleam@option:option(login_url()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(switch_inline_query_chosen_chat()), gleam@option:option(copy_text_button()), gleam@option:option(callback_game()), gleam@option:option(boolean())}. -type inline_keyboard_markup() :: {inline_keyboard_markup, list(list(inline_keyboard_button()))}. -type inline_query() :: {inline_query, binary(), user(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(location())}. -type inline_query_result_article() :: {inline_query_result_article, binary(), binary(), binary(), input_message_content(), gleam@option:option(inline_keyboard_markup()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer())}. -type inline_query_result_audio() :: {inline_query_result_audio, binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_audio() :: {inline_query_result_cached_audio, binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_document() :: {inline_query_result_cached_document, binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_gif() :: {inline_query_result_cached_gif, binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_mpeg4_gif() :: {inline_query_result_cached_mpeg4_gif, binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_photo() :: {inline_query_result_cached_photo, binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_sticker() :: {inline_query_result_cached_sticker, binary(), binary(), binary(), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_video() :: {inline_query_result_cached_video, binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_cached_voice() :: {inline_query_result_cached_voice, binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_contact() :: {inline_query_result_contact, binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer())}. -type inline_query_result_document() :: {inline_query_result_document, binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), binary(), binary(), gleam@option:option(binary()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer())}. -type inline_query_result_game() :: {inline_query_result_game, binary(), binary(), binary(), gleam@option:option(inline_keyboard_markup())}. -type inline_query_result_gif() :: {inline_query_result_gif, binary(), binary(), binary(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_location() :: {inline_query_result_location, binary(), binary(), float(), float(), binary(), gleam@option:option(float()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer())}. -type inline_query_result_mpeg4_gif() :: {inline_query_result_mpeg4_gif, binary(), binary(), binary(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_photo() :: {inline_query_result_photo, binary(), binary(), binary(), binary(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_venue() :: {inline_query_result_venue, binary(), binary(), float(), float(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer())}. -type inline_query_result_video() :: {inline_query_result_video, binary(), binary(), binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_result_voice() :: {inline_query_result_voice, binary(), binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(integer()), gleam@option:option(inline_keyboard_markup()), gleam@option:option(input_message_content())}. -type inline_query_results_button() :: {inline_query_results_button, binary(), gleam@option:option(web_app_info()), gleam@option:option(binary())}. -type input_checklist() :: {input_checklist, binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), list(input_checklist_task()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type input_checklist_task() :: {input_checklist_task, integer(), binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity()))}. -type input_contact_message_content() :: {input_contact_message_content, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary())}. -type input_invoice_message_content() :: {input_invoice_message_content, binary(), binary(), binary(), gleam@option:option(binary()), binary(), list(labeled_price()), gleam@option:option(integer()), gleam@option:option(list(integer())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type input_location_message_content() :: {input_location_message_content, float(), float(), gleam@option:option(float()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer())}. -type input_media_animation() :: {input_media_animation, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean())}. -type input_media_audio() :: {input_media_audio, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary())}. -type input_media_document() :: {input_media_document, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean())}. -type input_media_link() :: {input_media_link, binary(), binary()}. -type input_media_live_photo() :: {input_media_live_photo, binary(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type input_media_location() :: {input_media_location, binary(), float(), float(), gleam@option:option(float())}. -type input_media_photo() :: {input_media_photo, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type input_media_sticker() :: {input_media_sticker, binary(), binary(), gleam@option:option(binary())}. -type input_media_venue() :: {input_media_venue, binary(), float(), float(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary())}. -type input_media_video() :: {input_media_video, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type input_media_voice_note() :: {input_media_voice_note, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(integer())}. -type input_paid_media_live_photo() :: {input_paid_media_live_photo, binary(), binary(), binary()}. -type input_paid_media_photo() :: {input_paid_media_photo, binary(), binary()}. -type input_paid_media_video() :: {input_paid_media_video, binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean())}. -type input_poll_option() :: {input_poll_option, binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(input_poll_option_media())}. -type input_profile_photo_animated() :: {input_profile_photo_animated, binary(), binary(), gleam@option:option(float())}. -type input_profile_photo_static() :: {input_profile_photo_static, binary(), binary()}. -type input_rich_block_anchor() :: {input_rich_block_anchor, binary(), binary()}. -type input_rich_block_animation() :: {input_rich_block_animation, binary(), input_media_animation(), gleam@option:option(rich_block_caption())}. -type input_rich_block_audio() :: {input_rich_block_audio, binary(), input_media_audio(), gleam@option:option(rich_block_caption())}. -type input_rich_block_block_quotation() :: {input_rich_block_block_quotation, binary(), list(input_rich_block()), gleam@option:option(rich_text())}. -type input_rich_block_collage() :: {input_rich_block_collage, binary(), list(input_rich_block()), gleam@option:option(rich_block_caption())}. -type input_rich_block_details() :: {input_rich_block_details, binary(), rich_text(), list(input_rich_block()), gleam@option:option(boolean())}. -type input_rich_block_divider() :: {input_rich_block_divider, binary()}. -type input_rich_block_footer() :: {input_rich_block_footer, binary(), rich_text()}. -type input_rich_block_list() :: {input_rich_block_list, binary(), list(input_rich_block_list_item())}. -type input_rich_block_list_item() :: {input_rich_block_list_item, list(input_rich_block()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(binary())}. -type input_rich_block_map() :: {input_rich_block_map, binary(), location(), integer(), integer(), integer(), gleam@option:option(rich_block_caption())}. -type input_rich_block_mathematical_expression() :: {input_rich_block_mathematical_expression, binary(), binary()}. -type input_rich_block_paragraph() :: {input_rich_block_paragraph, binary(), rich_text()}. -type input_rich_block_photo() :: {input_rich_block_photo, binary(), input_media_photo(), gleam@option:option(rich_block_caption())}. -type input_rich_block_preformatted() :: {input_rich_block_preformatted, binary(), rich_text(), gleam@option:option(binary())}. -type input_rich_block_pull_quotation() :: {input_rich_block_pull_quotation, binary(), rich_text(), gleam@option:option(rich_text())}. -type input_rich_block_section_heading() :: {input_rich_block_section_heading, binary(), rich_text(), integer()}. -type input_rich_block_slideshow() :: {input_rich_block_slideshow, binary(), list(input_rich_block()), gleam@option:option(rich_block_caption())}. -type input_rich_block_table() :: {input_rich_block_table, binary(), list(list(rich_block_table_cell())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(rich_text())}. -type input_rich_block_thinking() :: {input_rich_block_thinking, binary(), rich_text()}. -type input_rich_block_video() :: {input_rich_block_video, binary(), input_media_video(), gleam@option:option(rich_block_caption())}. -type input_rich_block_voice_note() :: {input_rich_block_voice_note, binary(), input_media_voice_note(), gleam@option:option(rich_block_caption())}. -type input_rich_message() :: {input_rich_message, gleam@option:option(list(input_rich_block())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(input_rich_message_media())), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type input_rich_message_content() :: {input_rich_message_content, input_rich_message()}. -type input_rich_message_media() :: {input_rich_message_media, binary(), input_media_animation()}. -type input_sticker() :: {input_sticker, binary(), binary(), list(binary()), gleam@option:option(mask_position()), gleam@option:option(list(binary()))}. -type input_story_content_photo() :: {input_story_content_photo, binary(), binary()}. -type input_story_content_video() :: {input_story_content_video, binary(), binary(), gleam@option:option(float()), gleam@option:option(float()), gleam@option:option(boolean())}. -type input_text_message_content() :: {input_text_message_content, binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(link_preview_options())}. -type input_venue_message_content() :: {input_venue_message_content, float(), float(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary())}. -type invoice() :: {invoice, binary(), binary(), binary(), binary(), integer()}. -type keyboard_button() :: {keyboard_button, binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(keyboard_button_request_users()), gleam@option:option(keyboard_button_request_chat()), gleam@option:option(keyboard_button_request_managed_bot()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(keyboard_button_poll_type()), gleam@option:option(web_app_info())}. -type keyboard_button_poll_type() :: {keyboard_button_poll_type, gleam@option:option(binary())}. -type keyboard_button_request_chat() :: {keyboard_button_request_chat, integer(), boolean(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(chat_administrator_rights()), gleam@option:option(chat_administrator_rights()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type keyboard_button_request_managed_bot() :: {keyboard_button_request_managed_bot, integer(), gleam@option:option(binary()), gleam@option:option(binary())}. -type keyboard_button_request_users() :: {keyboard_button_request_users, integer(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type labeled_price() :: {labeled_price, binary(), integer()}. -type link() :: {link, binary()}. -type link_preview_options() :: {link_preview_options, gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type live_photo() :: {live_photo, gleam@option:option(list(photo_size())), binary(), binary(), integer(), integer(), integer(), gleam@option:option(binary()), gleam@option:option(integer())}. -type location() :: {location, float(), float(), gleam@option:option(float()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer())}. -type location_address() :: {location_address, binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary())}. -type login_url() :: {login_url, binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean())}. -type managed_bot_created() :: {managed_bot_created, user()}. -type managed_bot_updated() :: {managed_bot_updated, user(), user()}. -type mask_position() :: {mask_position, binary(), float(), float(), float()}. -type menu_button_commands() :: {menu_button_commands, binary()}. -type menu_button_default() :: {menu_button_default, binary()}. -type menu_button_web_app() :: {menu_button_web_app, binary(), binary(), web_app_info()}. -type message() :: {message, integer(), gleam@option:option(integer()), gleam@option:option(direct_messages_topic()), gleam@option:option(user()), gleam@option:option(chat()), gleam@option:option(integer()), gleam@option:option(user()), gleam@option:option(binary()), gleam@option:option(user()), gleam@option:option(integer()), integer(), gleam@option:option(binary()), gleam@option:option(binary()), chat(), gleam@option:option(message_origin()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(message()), gleam@option:option(external_reply_info()), gleam@option:option(text_quote()), gleam@option:option(story()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(user()), gleam@option:option(user()), gleam@option:option(chat()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(link_preview_options()), gleam@option:option(suggested_post_info()), gleam@option:option(binary()), gleam@option:option(rich_message()), gleam@option:option(animation()), gleam@option:option(audio()), gleam@option:option(document()), gleam@option:option(live_photo()), gleam@option:option(paid_media_info()), gleam@option:option(list(photo_size())), gleam@option:option(sticker()), gleam@option:option(story()), gleam@option:option(video()), gleam@option:option(video_note()), gleam@option:option(voice()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(checklist()), gleam@option:option(contact()), gleam@option:option(dice()), gleam@option:option(game()), gleam@option:option(poll()), gleam@option:option(venue()), gleam@option:option(location()), gleam@option:option(list(user())), gleam@option:option(user()), gleam@option:option(chat_owner_left()), gleam@option:option(chat_owner_changed()), gleam@option:option(binary()), gleam@option:option(list(photo_size())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(message_auto_delete_timer_changed()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(maybe_inaccessible_message()), gleam@option:option(invoice()), gleam@option:option(successful_payment()), gleam@option:option(refunded_payment()), gleam@option:option(users_shared()), gleam@option:option(chat_shared()), gleam@option:option(gift_info()), gleam@option:option(unique_gift_info()), gleam@option:option(gift_info()), gleam@option:option(binary()), gleam@option:option(write_access_allowed()), gleam@option:option(passport_data()), gleam@option:option(proximity_alert_triggered()), gleam@option:option(chat_boost_added()), gleam@option:option(chat_background()), gleam@option:option(checklist_tasks_done()), gleam@option:option(checklist_tasks_added()), gleam@option:option(community_chat_added()), gleam@option:option(community_chat_removed()), gleam@option:option(direct_message_price_changed()), gleam@option:option(forum_topic_created()), gleam@option:option(forum_topic_edited()), gleam@option:option(forum_topic_closed()), gleam@option:option(forum_topic_reopened()), gleam@option:option(general_forum_topic_hidden()), gleam@option:option(general_forum_topic_unhidden()), gleam@option:option(giveaway_created()), gleam@option:option(giveaway()), gleam@option:option(giveaway_winners()), gleam@option:option(giveaway_completed()), gleam@option:option(managed_bot_created()), gleam@option:option(paid_message_price_changed()), gleam@option:option(poll_option_added()), gleam@option:option(poll_option_deleted()), gleam@option:option(suggested_post_approved()), gleam@option:option(suggested_post_approval_failed()), gleam@option:option(suggested_post_declined()), gleam@option:option(suggested_post_paid()), gleam@option:option(suggested_post_refunded()), gleam@option:option(video_chat_scheduled()), gleam@option:option(video_chat_started()), gleam@option:option(video_chat_ended()), gleam@option:option(video_chat_participants_invited()), gleam@option:option(web_app_data()), gleam@option:option(inline_keyboard_markup())}. -type message_auto_delete_timer_changed() :: {message_auto_delete_timer_changed, integer()}. -type message_entity() :: {message_entity, binary(), integer(), integer(), gleam@option:option(binary()), gleam@option:option(user()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary())}. -type message_id() :: {message_id, integer()}. -type message_origin_channel() :: {message_origin_channel, binary(), integer(), chat(), integer(), gleam@option:option(binary())}. -type message_origin_chat() :: {message_origin_chat, binary(), integer(), chat(), gleam@option:option(binary())}. -type message_origin_hidden_user() :: {message_origin_hidden_user, binary(), integer(), binary()}. -type message_origin_user() :: {message_origin_user, binary(), integer(), user()}. -type message_reaction_count_updated() :: {message_reaction_count_updated, chat(), integer(), integer(), list(reaction_count())}. -type message_reaction_updated() :: {message_reaction_updated, chat(), integer(), gleam@option:option(user()), gleam@option:option(chat()), integer(), list(reaction_type()), list(reaction_type())}. -type order_info() :: {order_info, gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(shipping_address())}. -type owned_gift_regular() :: {owned_gift_regular, binary(), gift(), gleam@option:option(binary()), gleam@option:option(user()), integer(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(integer())}. -type owned_gift_unique() :: {owned_gift_unique, binary(), unique_gift(), gleam@option:option(binary()), gleam@option:option(user()), integer(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer())}. -type owned_gifts() :: {owned_gifts, integer(), list(owned_gift()), gleam@option:option(binary())}. -type paid_media_info() :: {paid_media_info, integer(), list(paid_media())}. -type paid_media_live_photo() :: {paid_media_live_photo, binary(), live_photo()}. -type paid_media_photo() :: {paid_media_photo, binary(), list(photo_size())}. -type paid_media_preview() :: {paid_media_preview, binary(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer())}. -type paid_media_purchased() :: {paid_media_purchased, user(), binary()}. -type paid_media_video() :: {paid_media_video, binary(), video()}. -type paid_message_price_changed() :: {paid_message_price_changed, integer()}. -type passport_data() :: {passport_data, list(encrypted_passport_element()), encrypted_credentials()}. -type passport_element_error_data_field() :: {passport_element_error_data_field, binary(), binary(), binary(), binary(), binary()}. -type passport_element_error_file() :: {passport_element_error_file, binary(), binary(), binary(), binary()}. -type passport_element_error_files() :: {passport_element_error_files, binary(), binary(), list(binary()), binary()}. -type passport_element_error_front_side() :: {passport_element_error_front_side, binary(), binary(), binary(), binary()}. -type passport_element_error_reverse_side() :: {passport_element_error_reverse_side, binary(), binary(), binary(), binary()}. -type passport_element_error_selfie() :: {passport_element_error_selfie, binary(), binary(), binary(), binary()}. -type passport_element_error_translation_file() :: {passport_element_error_translation_file, binary(), binary(), binary(), binary()}. -type passport_element_error_translation_files() :: {passport_element_error_translation_files, binary(), binary(), list(binary()), binary()}. -type passport_element_error_unspecified() :: {passport_element_error_unspecified, binary(), binary(), binary(), binary()}. -type passport_file() :: {passport_file, binary(), binary(), integer(), integer()}. -type photo_size() :: {photo_size, binary(), binary(), integer(), integer(), gleam@option:option(integer())}. -type poll() :: {poll, binary(), binary(), gleam@option:option(list(message_entity())), list(poll_option()), integer(), boolean(), boolean(), binary(), boolean(), boolean(), boolean(), gleam@option:option(list(binary())), gleam@option:option(list(integer())), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(poll_media()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(poll_media())}. -type poll_answer() :: {poll_answer, binary(), gleam@option:option(chat()), gleam@option:option(user()), list(integer()), list(binary())}. -type poll_media() :: {poll_media, gleam@option:option(animation()), gleam@option:option(audio()), gleam@option:option(document()), gleam@option:option(link()), gleam@option:option(live_photo()), gleam@option:option(location()), gleam@option:option(list(photo_size())), gleam@option:option(sticker()), gleam@option:option(venue()), gleam@option:option(video())}. -type poll_option() :: {poll_option, binary(), binary(), gleam@option:option(list(message_entity())), gleam@option:option(poll_media()), integer(), gleam@option:option(user()), gleam@option:option(chat()), gleam@option:option(integer())}. -type poll_option_added() :: {poll_option_added, gleam@option:option(maybe_inaccessible_message()), binary(), binary(), gleam@option:option(list(message_entity()))}. -type poll_option_deleted() :: {poll_option_deleted, gleam@option:option(maybe_inaccessible_message()), binary(), binary(), gleam@option:option(list(message_entity()))}. -type pre_checkout_query() :: {pre_checkout_query, binary(), user(), binary(), integer(), binary(), gleam@option:option(binary()), gleam@option:option(order_info())}. -type prepared_inline_message() :: {prepared_inline_message, binary(), integer()}. -type prepared_keyboard_button() :: {prepared_keyboard_button, binary()}. -type proximity_alert_triggered() :: {proximity_alert_triggered, user(), user(), integer()}. -type reaction_count() :: {reaction_count, reaction_type(), integer()}. -type reaction_type_custom_emoji() :: {reaction_type_custom_emoji, binary(), binary()}. -type reaction_type_emoji() :: {reaction_type_emoji, binary(), binary()}. -type reaction_type_paid() :: {reaction_type_paid, binary()}. -type refunded_payment() :: {refunded_payment, binary(), integer(), binary(), binary(), gleam@option:option(binary())}. -type reply_keyboard_markup() :: {reply_keyboard_markup, list(list(keyboard_button())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean())}. -type reply_keyboard_remove() :: {reply_keyboard_remove, boolean(), gleam@option:option(boolean())}. -type reply_parameters() :: {reply_parameters, gleam@option:option(integer()), gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(binary())}. -type response_parameters() :: {response_parameters, gleam@option:option(integer()), gleam@option:option(integer())}. -type revenue_withdrawal_state_failed() :: {revenue_withdrawal_state_failed, binary()}. -type revenue_withdrawal_state_pending() :: {revenue_withdrawal_state_pending, binary()}. -type revenue_withdrawal_state_succeeded() :: {revenue_withdrawal_state_succeeded, binary(), integer(), binary()}. -type rich_block_anchor() :: {rich_block_anchor, binary(), binary()}. -type rich_block_animation() :: {rich_block_animation, binary(), animation(), gleam@option:option(boolean()), gleam@option:option(rich_block_caption())}. -type rich_block_audio() :: {rich_block_audio, binary(), audio(), gleam@option:option(rich_block_caption())}. -type rich_block_block_quotation() :: {rich_block_block_quotation, binary(), list(rich_block()), gleam@option:option(rich_text())}. -type rich_block_caption() :: {rich_block_caption, rich_text(), gleam@option:option(rich_text())}. -type rich_block_collage() :: {rich_block_collage, binary(), list(rich_block()), gleam@option:option(rich_block_caption())}. -type rich_block_details() :: {rich_block_details, binary(), rich_text(), list(rich_block()), gleam@option:option(boolean())}. -type rich_block_divider() :: {rich_block_divider, binary()}. -type rich_block_footer() :: {rich_block_footer, binary(), rich_text()}. -type rich_block_list() :: {rich_block_list, binary(), list(rich_block_list_item())}. -type rich_block_list_item() :: {rich_block_list_item, binary(), list(rich_block()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(binary())}. -type rich_block_map() :: {rich_block_map, binary(), location(), integer(), integer(), integer(), gleam@option:option(rich_block_caption())}. -type rich_block_mathematical_expression() :: {rich_block_mathematical_expression, binary(), binary()}. -type rich_block_paragraph() :: {rich_block_paragraph, binary(), rich_text()}. -type rich_block_photo() :: {rich_block_photo, binary(), list(photo_size()), gleam@option:option(boolean()), gleam@option:option(rich_block_caption())}. -type rich_block_preformatted() :: {rich_block_preformatted, binary(), rich_text(), gleam@option:option(binary())}. -type rich_block_pull_quotation() :: {rich_block_pull_quotation, binary(), rich_text(), gleam@option:option(rich_text())}. -type rich_block_section_heading() :: {rich_block_section_heading, binary(), rich_text(), integer()}. -type rich_block_slideshow() :: {rich_block_slideshow, binary(), list(rich_block()), gleam@option:option(rich_block_caption())}. -type rich_block_table() :: {rich_block_table, binary(), list(list(rich_block_table_cell())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(rich_text())}. -type rich_block_table_cell() :: {rich_block_table_cell, gleam@option:option(rich_text()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), binary(), binary()}. -type rich_block_thinking() :: {rich_block_thinking, binary(), rich_text()}. -type rich_block_video() :: {rich_block_video, binary(), video(), gleam@option:option(boolean()), gleam@option:option(rich_block_caption())}. -type rich_block_voice_note() :: {rich_block_voice_note, binary(), voice(), gleam@option:option(rich_block_caption())}. -type rich_message() :: {rich_message, list(rich_block()), gleam@option:option(boolean())}. -type rich_text_anchor() :: {rich_text_anchor, binary(), binary()}. -type rich_text_anchor_link() :: {rich_text_anchor_link, binary(), rich_text(), binary()}. -type rich_text_bank_card_number() :: {rich_text_bank_card_number, binary(), rich_text(), binary()}. -type rich_text_bold() :: {rich_text_bold, binary(), rich_text()}. -type rich_text_bot_command() :: {rich_text_bot_command, binary(), rich_text(), binary()}. -type rich_text_cashtag() :: {rich_text_cashtag, binary(), rich_text(), binary()}. -type rich_text_code() :: {rich_text_code, binary(), rich_text()}. -type rich_text_custom_emoji() :: {rich_text_custom_emoji, binary(), binary(), binary()}. -type rich_text_date_time() :: {rich_text_date_time, binary(), rich_text(), integer(), binary()}. -type rich_text_email_address() :: {rich_text_email_address, binary(), rich_text(), binary()}. -type rich_text_hashtag() :: {rich_text_hashtag, binary(), rich_text(), binary()}. -type rich_text_italic() :: {rich_text_italic, binary(), rich_text()}. -type rich_text_marked() :: {rich_text_marked, binary(), rich_text()}. -type rich_text_mathematical_expression() :: {rich_text_mathematical_expression, binary(), binary()}. -type rich_text_mention() :: {rich_text_mention, binary(), rich_text(), binary()}. -type rich_text_phone_number() :: {rich_text_phone_number, binary(), rich_text(), binary()}. -type rich_text_reference() :: {rich_text_reference, binary(), rich_text(), binary()}. -type rich_text_reference_link() :: {rich_text_reference_link, binary(), rich_text(), binary()}. -type rich_text_spoiler() :: {rich_text_spoiler, binary(), rich_text()}. -type rich_text_strikethrough() :: {rich_text_strikethrough, binary(), rich_text()}. -type rich_text_subscript() :: {rich_text_subscript, binary(), rich_text()}. -type rich_text_superscript() :: {rich_text_superscript, binary(), rich_text()}. -type rich_text_text_mention() :: {rich_text_text_mention, binary(), rich_text(), user()}. -type rich_text_underline() :: {rich_text_underline, binary(), rich_text()}. -type rich_text_url() :: {rich_text_url, binary(), rich_text(), binary()}. -type sent_guest_message() :: {sent_guest_message, binary()}. -type sent_web_app_message() :: {sent_web_app_message, gleam@option:option(binary())}. -type shared_user() :: {shared_user, integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(photo_size()))}. -type shipping_address() :: {shipping_address, binary(), binary(), binary(), binary(), binary(), binary()}. -type shipping_option() :: {shipping_option, binary(), binary(), list(labeled_price())}. -type shipping_query() :: {shipping_query, binary(), user(), binary(), shipping_address()}. -type star_amount() :: {star_amount, integer(), gleam@option:option(integer())}. -type star_transaction() :: {star_transaction, binary(), integer(), gleam@option:option(integer()), integer(), gleam@option:option(transaction_partner()), gleam@option:option(transaction_partner())}. -type star_transactions() :: {star_transactions, list(star_transaction())}. -type sticker() :: {sticker, binary(), binary(), binary(), integer(), integer(), boolean(), boolean(), gleam@option:option(photo_size()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(file()), gleam@option:option(mask_position()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(integer())}. -type sticker_set() :: {sticker_set, binary(), binary(), binary(), list(sticker()), gleam@option:option(photo_size())}. -type story() :: {story, chat(), integer()}. -type story_area() :: {story_area, story_area_position(), story_area_type()}. -type story_area_position() :: {story_area_position, float(), float(), float(), float(), float(), float()}. -type story_area_type_link() :: {story_area_type_link, binary(), binary()}. -type story_area_type_location() :: {story_area_type_location, binary(), float(), float(), gleam@option:option(location_address())}. -type story_area_type_suggested_reaction() :: {story_area_type_suggested_reaction, binary(), reaction_type(), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type story_area_type_unique_gift() :: {story_area_type_unique_gift, binary(), binary()}. -type story_area_type_weather() :: {story_area_type_weather, binary(), float(), binary(), integer()}. -type successful_payment() :: {successful_payment, binary(), integer(), binary(), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(order_info()), binary(), binary()}. -type suggested_post_approval_failed() :: {suggested_post_approval_failed, gleam@option:option(message()), suggested_post_price()}. -type suggested_post_approved() :: {suggested_post_approved, gleam@option:option(message()), gleam@option:option(suggested_post_price()), integer()}. -type suggested_post_declined() :: {suggested_post_declined, gleam@option:option(message()), gleam@option:option(binary())}. -type suggested_post_info() :: {suggested_post_info, binary(), gleam@option:option(suggested_post_price()), gleam@option:option(integer())}. -type suggested_post_paid() :: {suggested_post_paid, gleam@option:option(message()), binary(), gleam@option:option(integer()), gleam@option:option(star_amount())}. -type suggested_post_parameters() :: {suggested_post_parameters, gleam@option:option(suggested_post_price()), gleam@option:option(integer())}. -type suggested_post_price() :: {suggested_post_price, binary(), integer()}. -type suggested_post_refunded() :: {suggested_post_refunded, gleam@option:option(message()), binary()}. -type switch_inline_query_chosen_chat() :: {switch_inline_query_chosen_chat, gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type text_quote() :: {text_quote, binary(), gleam@option:option(list(message_entity())), integer(), gleam@option:option(boolean())}. -type transaction_partner_affiliate_program() :: {transaction_partner_affiliate_program, binary(), gleam@option:option(user()), integer()}. -type transaction_partner_chat() :: {transaction_partner_chat, binary(), chat(), gleam@option:option(gift())}. -type transaction_partner_fragment() :: {transaction_partner_fragment, binary(), gleam@option:option(revenue_withdrawal_state())}. -type transaction_partner_other() :: {transaction_partner_other, binary()}. -type transaction_partner_telegram_ads() :: {transaction_partner_telegram_ads, binary()}. -type transaction_partner_telegram_api() :: {transaction_partner_telegram_api, binary(), integer()}. -type transaction_partner_user() :: {transaction_partner_user, binary(), binary(), user(), gleam@option:option(affiliate_info()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(list(paid_media())), gleam@option:option(binary()), gleam@option:option(gift()), gleam@option:option(integer())}. -type unique_gift() :: {unique_gift, binary(), binary(), binary(), integer(), unique_gift_model(), unique_gift_symbol(), unique_gift_backdrop(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(unique_gift_colors()), gleam@option:option(chat())}. -type unique_gift_backdrop() :: {unique_gift_backdrop, binary(), unique_gift_backdrop_colors(), integer()}. -type unique_gift_backdrop_colors() :: {unique_gift_backdrop_colors, integer(), integer(), integer(), integer()}. -type unique_gift_colors() :: {unique_gift_colors, binary(), binary(), integer(), list(integer()), integer(), list(integer())}. -type unique_gift_info() :: {unique_gift_info, unique_gift(), binary(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer())}. -type unique_gift_model() :: {unique_gift_model, binary(), sticker(), integer(), gleam@option:option(binary())}. -type unique_gift_symbol() :: {unique_gift_symbol, binary(), sticker(), integer()}. -type update() :: {update, integer(), gleam@option:option(message()), gleam@option:option(message()), gleam@option:option(message()), gleam@option:option(message()), gleam@option:option(business_connection()), gleam@option:option(message()), gleam@option:option(message()), gleam@option:option(business_messages_deleted()), gleam@option:option(message()), gleam@option:option(message_reaction_updated()), gleam@option:option(message_reaction_count_updated()), gleam@option:option(inline_query()), gleam@option:option(chosen_inline_result()), gleam@option:option(callback_query()), gleam@option:option(shipping_query()), gleam@option:option(pre_checkout_query()), gleam@option:option(paid_media_purchased()), gleam@option:option(poll()), gleam@option:option(poll_answer()), gleam@option:option(chat_member_updated()), gleam@option:option(chat_member_updated()), gleam@option:option(chat_join_request()), gleam@option:option(chat_boost_updated()), gleam@option:option(chat_boost_removed()), gleam@option:option(managed_bot_updated()), gleam@option:option(bot_subscription_updated())}. -type user() :: {user, integer(), boolean(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type user_chat_boosts() :: {user_chat_boosts, list(chat_boost())}. -type user_profile_audios() :: {user_profile_audios, integer(), list(audio())}. -type user_profile_photos() :: {user_profile_photos, integer(), list(list(photo_size()))}. -type user_rating() :: {user_rating, integer(), integer(), integer(), gleam@option:option(integer())}. -type users_shared() :: {users_shared, integer(), list(shared_user())}. -type venue() :: {venue, location(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary())}. -type video() :: {video, binary(), binary(), integer(), integer(), integer(), gleam@option:option(photo_size()), gleam@option:option(list(photo_size())), gleam@option:option(integer()), gleam@option:option(list(video_quality())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer())}. -type video_chat_ended() :: {video_chat_ended, integer()}. -type video_chat_participants_invited() :: {video_chat_participants_invited, list(user())}. -type video_chat_scheduled() :: {video_chat_scheduled, integer()}. -type video_chat_started() :: video_chat_started. -type video_note() :: {video_note, binary(), binary(), integer(), integer(), gleam@option:option(photo_size()), gleam@option:option(integer())}. -type video_quality() :: {video_quality, binary(), binary(), integer(), integer(), binary(), gleam@option:option(integer())}. -type voice() :: {voice, binary(), binary(), integer(), gleam@option:option(binary()), gleam@option:option(integer())}. -type web_app_data() :: {web_app_data, binary(), binary()}. -type web_app_info() :: {web_app_info, binary()}. -type webhook_info() :: {webhook_info, binary(), boolean(), integer(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(list(binary()))}. -type write_access_allowed() :: {write_access_allowed, gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean())}. -type input_media() :: {input_media_animation_input_media, input_media_animation()} | {input_media_document_input_media, input_media_document()} | {input_media_audio_input_media, input_media_audio()} | {input_media_photo_input_media, input_media_photo()} | {input_media_video_input_media, input_media_video()} | {input_media_live_photo_input_media, input_media_live_photo()} | {input_media_location_input_media, input_media_location()} | {input_media_sticker_input_media, input_media_sticker()} | {input_media_venue_input_media, input_media_venue()}. -type send_message_reply_markup_parameters() :: {send_message_reply_inline_keyboard_markup_parameters, inline_keyboard_markup()} | {send_message_reply_reply_keyboard_markup_parameters, reply_keyboard_markup()} | {send_message_reply_remove_keyboard_markup_parameters, reply_keyboard_remove()} | {send_message_reply_force_reply_markup_parameters, force_reply()}. -type answer_callback_query_parameters() :: {answer_callback_query_parameters, binary(), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(integer())}. -type bot_command_parameters() :: {bot_command_parameters, gleam@option:option(bot_command_scope()), gleam@option:option(binary())}. -type edit_message_text_parameters() :: {edit_message_text_parameters, gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(link_preview_options()), gleam@option:option(inline_keyboard_markup())}. -type forward_message_parameters() :: {forward_message_parameters, int_or_string(), int_or_string(), integer(), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(boolean())}. -type forward_messages_parameters() :: {forward_messages_parameters, int_or_string(), gleam@option:option(integer()), int_or_string(), list(integer()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type set_webhook_parameters() :: {set_webhook_parameters, binary(), gleam@option:option(file()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(list(binary())), gleam@option:option(boolean()), gleam@option:option(binary())}. -type get_updates_parameters() :: {get_updates_parameters, gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(list(binary()))}. -type copy_message_parameters() :: {copy_message_parameters, int_or_string(), gleam@option:option(integer()), int_or_string(), integer(), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type copy_messages_parameters() :: {copy_messages_parameters, int_or_string(), gleam@option:option(integer()), int_or_string(), list(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type set_chat_menu_button_parameters() :: {set_chat_menu_button_parameters, gleam@option:option(integer()), gleam@option:option(menu_button())}. -type send_message_parameters() :: {send_message_parameters, gleam@option:option(binary()), int_or_string(), gleam@option:option(integer()), binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(link_preview_options()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_dice_parameters() :: {send_dice_parameters, int_or_string(), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(reply_keyboard_markup())}. -type refund_star_payment_parameters() :: {refund_star_payment_parameters, integer(), binary()}. -type send_photo_parameters() :: {send_photo_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_audio_parameters() :: {send_audio_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(file_or_string()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_document_parameters() :: {send_document_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(file_or_string()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_video_parameters() :: {send_video_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(file_or_string()), gleam@option:option(file_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_animation_parameters() :: {send_animation_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(file_or_string()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_voice_parameters() :: {send_voice_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_video_note_parameters() :: {send_video_note_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(file_or_string()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_media_group_parameters() :: {send_media_group_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), list(input_media()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters())}. -type send_location_parameters() :: {send_location_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), float(), float(), gleam@option:option(float()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_venue_parameters() :: {send_venue_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), float(), float(), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_contact_parameters() :: {send_contact_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), binary(), binary(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_poll_parameters() :: {send_poll_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), list(binary()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(list(binary())), gleam@option:option(list(integer())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(input_poll_media()), gleam@option:option(input_poll_media()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type chat_action() :: typing | upload_photo | record_video | upload_video | record_voice | upload_voice | upload_document | choose_sticker | find_location | record_video_note | upload_video_note. -type send_chat_action_parameters() :: {send_chat_action_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), chat_action()}. -type send_invoice_parameters() :: {send_invoice_parameters, int_or_string(), gleam@option:option(integer()), binary(), binary(), binary(), gleam@option:option(binary()), binary(), list(labeled_price()), gleam@option:option(integer()), gleam@option:option(list(integer())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(inline_keyboard_markup())}. -type create_invoice_link_parameters() :: {create_invoice_link_parameters, gleam@option:option(binary()), binary(), binary(), binary(), gleam@option:option(binary()), binary(), list(labeled_price()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(list(integer())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type send_sticker_parameters() :: {send_sticker_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), file_or_string(), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type get_sticker_set_parameters() :: {get_sticker_set_parameters, binary()}. -type set_message_reaction_parameters() :: {set_message_reaction_parameters, int_or_string(), integer(), gleam@option:option(list(reaction_type())), gleam@option:option(boolean())}. -type get_user_profile_photos_parameters() :: {get_user_profile_photos_parameters, integer(), gleam@option:option(integer()), gleam@option:option(integer())}. -type get_user_profile_audios_parameters() :: {get_user_profile_audios_parameters, integer(), gleam@option:option(integer()), gleam@option:option(integer())}. -type set_my_profile_photo_parameters() :: {set_my_profile_photo_parameters, input_profile_photo()}. -type edit_message_caption_parameters() :: {edit_message_caption_parameters, gleam@option:option(binary()), gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(inline_keyboard_markup())}. -type edit_message_media_parameters() :: {edit_message_media_parameters, gleam@option:option(binary()), gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), input_media(), gleam@option:option(inline_keyboard_markup())}. -type edit_message_live_location_parameters() :: {edit_message_live_location_parameters, gleam@option:option(binary()), gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), float(), float(), gleam@option:option(integer()), gleam@option:option(float()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(inline_keyboard_markup())}. -type stop_message_live_location_parameters() :: {stop_message_live_location_parameters, gleam@option:option(binary()), gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(inline_keyboard_markup())}. -type edit_message_reply_markup_parameters() :: {edit_message_reply_markup_parameters, gleam@option:option(binary()), gleam@option:option(int_or_string()), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(inline_keyboard_markup())}. -type stop_poll_parameters() :: {stop_poll_parameters, gleam@option:option(binary()), int_or_string(), integer(), gleam@option:option(inline_keyboard_markup())}. -type delete_message_parameters() :: {delete_message_parameters, int_or_string(), integer()}. -type delete_messages_parameters() :: {delete_messages_parameters, int_or_string(), list(integer())}. -type ban_chat_member_parameters() :: {ban_chat_member_parameters, int_or_string(), integer(), gleam@option:option(integer()), gleam@option:option(boolean())}. -type unban_chat_member_parameters() :: {unban_chat_member_parameters, int_or_string(), integer(), gleam@option:option(boolean())}. -type restrict_chat_member_parameters() :: {restrict_chat_member_parameters, int_or_string(), integer(), chat_permissions(), gleam@option:option(integer())}. -type promote_chat_member_parameters() :: {promote_chat_member_parameters, int_or_string(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type set_chat_administrator_custom_title_parameters() :: {set_chat_administrator_custom_title_parameters, int_or_string(), integer(), binary()}. -type ban_chat_sender_chat_parameters() :: {ban_chat_sender_chat_parameters, int_or_string(), integer()}. -type unban_chat_sender_chat_parameters() :: {unban_chat_sender_chat_parameters, int_or_string(), integer()}. -type set_chat_permissions_parameters() :: {set_chat_permissions_parameters, int_or_string(), chat_permissions(), gleam@option:option(boolean())}. -type export_chat_invite_link_parameters() :: {export_chat_invite_link_parameters, int_or_string()}. -type create_chat_invite_link_parameters() :: {create_chat_invite_link_parameters, int_or_string(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean())}. -type edit_chat_invite_link_parameters() :: {edit_chat_invite_link_parameters, int_or_string(), binary(), gleam@option:option(binary()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean())}. -type create_chat_subscription_invite_link_parameters() :: {create_chat_subscription_invite_link_parameters, int_or_string(), gleam@option:option(binary()), integer(), integer()}. -type edit_chat_subscription_invite_link_parameters() :: {edit_chat_subscription_invite_link_parameters, int_or_string(), binary(), gleam@option:option(binary())}. -type revoke_chat_invite_link_parameters() :: {revoke_chat_invite_link_parameters, int_or_string(), binary()}. -type approve_chat_join_request_parameters() :: {approve_chat_join_request_parameters, int_or_string(), integer()}. -type decline_chat_join_request_parameters() :: {decline_chat_join_request_parameters, int_or_string(), integer()}. -type set_chat_photo_parameters() :: {set_chat_photo_parameters, int_or_string(), file()}. -type delete_chat_photo_parameters() :: {delete_chat_photo_parameters, int_or_string()}. -type set_chat_title_parameters() :: {set_chat_title_parameters, int_or_string(), binary()}. -type set_chat_description_parameters() :: {set_chat_description_parameters, int_or_string(), gleam@option:option(binary())}. -type pin_chat_message_parameters() :: {pin_chat_message_parameters, int_or_string(), integer(), gleam@option:option(binary()), gleam@option:option(boolean())}. -type unpin_chat_message_parameters() :: {unpin_chat_message_parameters, int_or_string(), gleam@option:option(integer()), gleam@option:option(binary())}. -type unpin_all_chat_messages_parameters() :: {unpin_all_chat_messages_parameters, int_or_string()}. -type leave_chat_parameters() :: {leave_chat_parameters, int_or_string()}. -type get_chat_administrators_parameters() :: {get_chat_administrators_parameters, int_or_string(), gleam@option:option(boolean())}. -type get_chat_member_count_parameters() :: {get_chat_member_count_parameters, int_or_string()}. -type get_chat_member_parameters() :: {get_chat_member_parameters, int_or_string(), integer()}. -type set_chat_sticker_set_parameters() :: {set_chat_sticker_set_parameters, int_or_string(), binary()}. -type delete_chat_sticker_set_parameters() :: {delete_chat_sticker_set_parameters, int_or_string()}. -type create_forum_topic_parameters() :: {create_forum_topic_parameters, int_or_string(), binary(), gleam@option:option(integer()), gleam@option:option(binary())}. -type edit_forum_topic_parameters() :: {edit_forum_topic_parameters, int_or_string(), integer(), gleam@option:option(binary()), gleam@option:option(binary())}. -type close_forum_topic_parameters() :: {close_forum_topic_parameters, int_or_string(), integer()}. -type reopen_forum_topic_parameters() :: {reopen_forum_topic_parameters, int_or_string(), integer()}. -type delete_forum_topic_parameters() :: {delete_forum_topic_parameters, int_or_string(), integer()}. -type unpin_all_forum_topic_messages_parameters() :: {unpin_all_forum_topic_messages_parameters, int_or_string(), integer()}. -type unpin_all_general_forum_topic_pinned_messages_parameters() :: {unpin_all_general_forum_topic_pinned_messages_parameters, int_or_string()}. -type edit_general_forum_topic_parameters() :: {edit_general_forum_topic_parameters, int_or_string(), binary()}. -type close_general_forum_topic_parameters() :: {close_general_forum_topic_parameters, int_or_string()}. -type reopen_general_forum_topic_parameters() :: {reopen_general_forum_topic_parameters, int_or_string()}. -type hide_general_forum_topic_parameters() :: {hide_general_forum_topic_parameters, int_or_string()}. -type unhide_general_forum_topic_parameters() :: {unhide_general_forum_topic_parameters, int_or_string()}. -type unpin_all_general_forum_topic_messages_parameters() :: {unpin_all_general_forum_topic_messages_parameters, int_or_string()}. -type get_user_chat_boosts_parameters() :: {get_user_chat_boosts_parameters, int_or_string(), integer()}. -type get_business_connection_parameters() :: {get_business_connection_parameters, binary()}. -type set_my_name_parameters() :: {set_my_name_parameters, gleam@option:option(binary()), gleam@option:option(binary())}. -type get_my_name_parameters() :: {get_my_name_parameters, gleam@option:option(binary())}. -type set_my_description_parameters() :: {set_my_description_parameters, gleam@option:option(binary()), gleam@option:option(binary())}. -type get_my_description_parameters() :: {get_my_description_parameters, gleam@option:option(binary())}. -type set_my_short_description_parameters() :: {set_my_short_description_parameters, gleam@option:option(binary()), gleam@option:option(binary())}. -type get_my_short_description_parameters() :: {get_my_short_description_parameters, gleam@option:option(binary())}. -type get_chat_menu_button_parameters() :: {get_chat_menu_button_parameters, gleam@option:option(integer())}. -type set_my_default_administrator_rights_parameters() :: {set_my_default_administrator_rights_parameters, gleam@option:option(chat_administrator_rights()), gleam@option:option(boolean())}. -type get_my_default_administrator_rights_parameters() :: {get_my_default_administrator_rights_parameters, gleam@option:option(boolean())}. -type send_gift_parameters() :: {send_gift_parameters, gleam@option:option(integer()), gleam@option:option(int_or_string()), binary(), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity()))}. -type gift_premium_subscription_parameters() :: {gift_premium_subscription_parameters, integer(), integer(), integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity()))}. -type send_message_draft_parameters() :: {send_message_draft_parameters, integer(), integer(), binary(), gleam@option:option(integer()), gleam@option:option(binary()), gleam@option:option(list(message_entity()))}. -type get_user_gifts_parameters() :: {get_user_gifts_parameters, integer(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(integer())}. -type get_chat_gifts_parameters() :: {get_chat_gifts_parameters, int_or_string(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(integer())}. -type repost_story_parameters() :: {repost_story_parameters, binary(), integer(), integer(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type verify_user_parameters() :: {verify_user_parameters, integer(), gleam@option:option(binary())}. -type verify_chat_parameters() :: {verify_chat_parameters, int_or_string(), gleam@option:option(binary())}. -type remove_user_verification_parameters() :: {remove_user_verification_parameters, integer()}. -type remove_chat_verification_parameters() :: {remove_chat_verification_parameters, int_or_string()}. -type get_custom_emoji_stickers_parameters() :: {get_custom_emoji_stickers_parameters, list(binary())}. -type upload_sticker_file_parameters() :: {upload_sticker_file_parameters, integer(), file(), binary()}. -type create_new_sticker_set_parameters() :: {create_new_sticker_set_parameters, integer(), binary(), binary(), list(input_sticker()), gleam@option:option(binary()), gleam@option:option(boolean())}. -type add_sticker_to_set_parameters() :: {add_sticker_to_set_parameters, integer(), binary(), input_sticker()}. -type set_sticker_position_in_set_parameters() :: {set_sticker_position_in_set_parameters, binary(), integer()}. -type delete_sticker_from_set_parameters() :: {delete_sticker_from_set_parameters, binary()}. -type replace_sticker_in_set_parameters() :: {replace_sticker_in_set_parameters, integer(), binary(), binary(), input_sticker()}. -type set_sticker_emoji_list_parameters() :: {set_sticker_emoji_list_parameters, binary(), list(binary())}. -type set_sticker_keywords_parameters() :: {set_sticker_keywords_parameters, binary(), gleam@option:option(list(binary()))}. -type set_sticker_mask_position_parameters() :: {set_sticker_mask_position_parameters, binary(), gleam@option:option(mask_position())}. -type set_sticker_set_title_parameters() :: {set_sticker_set_title_parameters, binary(), binary()}. -type set_sticker_set_thumbnail_parameters() :: {set_sticker_set_thumbnail_parameters, binary(), integer(), gleam@option:option(file_or_string()), binary()}. -type set_custom_emoji_sticker_set_thumbnail_parameters() :: {set_custom_emoji_sticker_set_thumbnail_parameters, binary(), gleam@option:option(binary())}. -type delete_sticker_set_parameters() :: {delete_sticker_set_parameters, binary()}. -type answer_inline_query_parameters() :: {answer_inline_query_parameters, binary(), list(inline_query_result()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(inline_query_results_button())}. -type answer_shipping_query_parameters() :: {answer_shipping_query_parameters, binary(), boolean(), gleam@option:option(list(shipping_option())), gleam@option:option(binary())}. -type answer_pre_checkout_query_parameters() :: {answer_pre_checkout_query_parameters, binary(), boolean(), gleam@option:option(binary())}. -type get_star_transactions_parameters() :: {get_star_transactions_parameters, gleam@option:option(integer()), gleam@option:option(integer())}. -type edit_user_star_subscription_parameters() :: {edit_user_star_subscription_parameters, integer(), binary(), boolean()}. -type send_game_parameters() :: {send_game_parameters, gleam@option:option(binary()), integer(), gleam@option:option(integer()), binary(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(inline_keyboard_markup())}. -type set_game_score_parameters() :: {set_game_score_parameters, integer(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(binary())}. -type get_game_high_scores_parameters() :: {get_game_high_scores_parameters, integer(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(binary())}. -type read_business_message_parameters() :: {read_business_message_parameters, binary(), integer(), integer()}. -type delete_business_messages_parameters() :: {delete_business_messages_parameters, binary(), list(integer())}. -type set_business_account_name_parameters() :: {set_business_account_name_parameters, binary(), binary(), gleam@option:option(binary())}. -type set_business_account_username_parameters() :: {set_business_account_username_parameters, binary(), gleam@option:option(binary())}. -type set_business_account_bio_parameters() :: {set_business_account_bio_parameters, binary(), gleam@option:option(binary())}. -type set_business_account_profile_photo_parameters() :: {set_business_account_profile_photo_parameters, binary(), input_profile_photo(), gleam@option:option(boolean())}. -type remove_business_account_profile_photo_parameters() :: {remove_business_account_profile_photo_parameters, binary(), gleam@option:option(boolean())}. -type set_business_account_gift_settings_parameters() :: {set_business_account_gift_settings_parameters, binary(), boolean(), accepted_gift_types()}. -type get_business_account_star_balance_parameters() :: {get_business_account_star_balance_parameters, binary()}. -type transfer_business_account_stars_parameters() :: {transfer_business_account_stars_parameters, binary(), integer()}. -type get_business_account_gifts_parameters() :: {get_business_account_gifts_parameters, binary(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(integer())}. -type convert_gift_to_stars_parameters() :: {convert_gift_to_stars_parameters, binary(), binary()}. -type upgrade_gift_parameters() :: {upgrade_gift_parameters, binary(), binary(), gleam@option:option(boolean()), gleam@option:option(integer())}. -type transfer_gift_parameters() :: {transfer_gift_parameters, binary(), binary(), integer(), gleam@option:option(integer())}. -type post_story_parameters() :: {post_story_parameters, binary(), input_story_content(), integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(list(story_area())), gleam@option:option(boolean()), gleam@option:option(boolean())}. -type edit_story_parameters() :: {edit_story_parameters, binary(), integer(), input_story_content(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(list(story_area()))}. -type delete_story_parameters() :: {delete_story_parameters, binary(), integer()}. -type answer_guest_query_parameters() :: {answer_guest_query_parameters, binary(), binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(link_preview_options()), gleam@option:option(inline_keyboard_markup())}. -type delete_message_reaction_parameters() :: {delete_message_reaction_parameters, int_or_string(), integer(), integer(), reaction_type()}. -type delete_all_message_reactions_parameters() :: {delete_all_message_reactions_parameters, int_or_string(), integer()}. -type send_live_photo_parameters() :: {send_live_photo_parameters, gleam@option:option(binary()), int_or_string(), gleam@option:option(integer()), gleam@option:option(integer()), file_or_string(), file_or_string(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_rich_message_parameters() :: {send_rich_message_parameters, gleam@option:option(binary()), int_or_string(), gleam@option:option(integer()), gleam@option:option(integer()), input_rich_message(), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(binary()), gleam@option:option(suggested_post_parameters()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type send_rich_message_draft_parameters() :: {send_rich_message_draft_parameters, integer(), gleam@option:option(integer()), integer(), input_rich_message()}. -type delete_ephemeral_message_parameters() :: {delete_ephemeral_message_parameters, int_or_string(), integer(), integer()}. -type edit_ephemeral_message_text_parameters() :: {edit_ephemeral_message_text_parameters, int_or_string(), integer(), integer(), binary(), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(link_preview_options()), gleam@option:option(inline_keyboard_markup())}. -type edit_ephemeral_message_caption_parameters() :: {edit_ephemeral_message_caption_parameters, int_or_string(), integer(), integer(), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(inline_keyboard_markup())}. -type edit_ephemeral_message_media_parameters() :: {edit_ephemeral_message_media_parameters, int_or_string(), integer(), integer(), input_media(), gleam@option:option(inline_keyboard_markup())}. -type edit_ephemeral_message_reply_markup_parameters() :: {edit_ephemeral_message_reply_markup_parameters, int_or_string(), integer(), integer(), gleam@option:option(inline_keyboard_markup())}. -type answer_chat_join_request_query_parameters() :: {answer_chat_join_request_query_parameters, binary(), binary()}. -type send_chat_join_request_web_app_parameters() :: {send_chat_join_request_web_app_parameters, binary(), binary()}. -type send_paid_media_parameters() :: {send_paid_media_parameters, gleam@option:option(binary()), int_or_string(), integer(), list(input_paid_media()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(list(message_entity())), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(boolean()), gleam@option:option(reply_parameters()), gleam@option:option(send_message_reply_markup_parameters())}. -type get_managed_bot_access_settings_parameters() :: {get_managed_bot_access_settings_parameters, integer()}. -type set_managed_bot_access_settings_parameters() :: {set_managed_bot_access_settings_parameters, integer(), bot_access_settings()}. -type get_user_personal_chat_messages_parameters() :: {get_user_personal_chat_messages_parameters, integer(), list(integer())}. -type file_or_string() :: {file_v, file()} | {string_v, binary()}. -type int_or_string() :: {int, integer()} | {str, binary()}. -file("src/telega/model/types.gleam", 6186). -spec new_answer_callback_query_parameters(binary()) -> answer_callback_query_parameters(). new_answer_callback_query_parameters(Callback_query_id) -> {answer_callback_query_parameters, Callback_query_id, none, none, none, none}. -file("src/telega/model/types.gleam", 6209). -spec default_bot_command_parameters() -> bot_command_parameters(). default_bot_command_parameters() -> {bot_command_parameters, none, none}. -file("src/telega/model/types.gleam", 8802). -spec new_send_paid_media_parameters( int_or_string(), integer(), list(input_paid_media()) ) -> send_paid_media_parameters(). new_send_paid_media_parameters(Chat_id, Star_count, Media) -> {send_paid_media_parameters, none, Chat_id, Star_count, Media, none, none, none, none, none, none, none, none, none, none}.