Nadia. Behaviour behaviour
(nadia v1.2.0)
View Source
Summary
Callbacks
@callback add_sticker_to_set(Nadia.Client.t(), integer(), binary(), binary(), binary(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_callback_query(binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_callback_query(Nadia.Client.t(), binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_chat_join_request_query(binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_chat_join_request_query(Nadia.Client.t(), binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_guest_query(binary(), Nadia.Model.InlineQueryResult.t(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.SentGuestMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback answer_guest_query( Nadia.Client.t(), binary(), Nadia.Model.InlineQueryResult.t(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.SentGuestMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback answer_inline_query(binary(), [Nadia.Model.InlineQueryResult.t()], [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_inline_query( Nadia.Client.t(), binary(), [Nadia.Model.InlineQueryResult.t()], [ {atom(), any()} ] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_pre_checkout_query(binary(), boolean()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_pre_checkout_query(binary(), boolean(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_pre_checkout_query(Nadia.Client.t(), binary(), boolean()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_pre_checkout_query( Nadia.Client.t(), binary(), boolean(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_shipping_query(binary(), boolean()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_shipping_query(binary(), boolean(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_shipping_query(Nadia.Client.t(), binary(), boolean()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_shipping_query( Nadia.Client.t(), binary(), boolean(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback answer_web_app_query(binary(), list() | map() | struct() | binary()) :: {:ok, Nadia.Model.SentWebAppMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback answer_web_app_query( Nadia.Client.t(), binary(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.SentWebAppMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback approve_chat_join_request(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback approve_chat_join_request(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback approve_suggested_post(integer(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback approve_suggested_post(integer(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback approve_suggested_post(Nadia.Client.t(), integer(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback approve_suggested_post(Nadia.Client.t(), integer(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback ban_chat_member(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback ban_chat_member(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback ban_chat_sender_chat(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback ban_chat_sender_chat(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback close() :: :ok | {:error, Nadia.Model.Error.t()}
@callback close(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback close_forum_topic(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback close_forum_topic(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback close_general_forum_topic(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback close_general_forum_topic(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback convert_gift_to_stars(binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback convert_gift_to_stars(Nadia.Client.t(), binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback copy_message(integer() | binary(), integer() | binary(), integer()) :: {:ok, Nadia.Model.MessageId.t()} | {:error, Nadia.Model.Error.t()}
@callback copy_message(integer() | binary(), integer() | binary(), integer(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.MessageId.t()} | {:error, Nadia.Model.Error.t()}
@callback copy_message( Nadia.Client.t(), integer() | binary(), integer() | binary(), integer() ) :: {:ok, Nadia.Model.MessageId.t()} | {:error, Nadia.Model.Error.t()}
@callback copy_message( Nadia.Client.t(), integer() | binary(), integer() | binary(), integer(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.MessageId.t()} | {:error, Nadia.Model.Error.t()}
@callback copy_messages(integer() | binary(), integer() | binary(), [integer()]) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback copy_messages(integer() | binary(), integer() | binary(), [integer()], [ {atom(), any()} ]) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback copy_messages(Nadia.Client.t(), integer() | binary(), integer() | binary(), [ integer() ]) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback copy_messages( Nadia.Client.t(), integer() | binary(), integer() | binary(), [integer()], [ {atom(), any()} ] ) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback create_chat_invite_link(integer() | binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_invite_link(integer() | binary(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_invite_link(Nadia.Client.t(), integer() | binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_invite_link( Nadia.Client.t(), integer() | binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_subscription_invite_link(integer() | binary(), integer(), integer()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_subscription_invite_link( integer() | binary(), integer(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_subscription_invite_link( Nadia.Client.t(), integer() | binary(), integer(), integer() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_chat_subscription_invite_link( Nadia.Client.t(), integer() | binary(), integer(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback create_forum_topic(integer() | binary(), binary()) :: {:ok, Nadia.Model.ForumTopic.t()} | {:error, Nadia.Model.Error.t()}
@callback create_forum_topic(integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.ForumTopic.t()} | {:error, Nadia.Model.Error.t()}
@callback create_forum_topic(Nadia.Client.t(), integer() | binary(), binary()) :: {:ok, Nadia.Model.ForumTopic.t()} | {:error, Nadia.Model.Error.t()}
@callback create_forum_topic(Nadia.Client.t(), integer() | binary(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.ForumTopic.t()} | {:error, Nadia.Model.Error.t()}
@callback create_invoice_link( binary(), binary(), binary(), binary(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback create_invoice_link( Nadia.Client.t(), binary(), binary(), binary(), binary(), list() | map() | struct() | binary() ) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback create_new_sticker_set( Nadia.Client.t(), integer(), binary(), binary(), binary(), binary(), [ {atom(), any()} ] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback decline_chat_join_request(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback decline_chat_join_request(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback decline_suggested_post(integer(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback decline_suggested_post(integer(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback decline_suggested_post(Nadia.Client.t(), integer(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback decline_suggested_post(Nadia.Client.t(), integer(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_all_message_reactions(integer() | binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_all_message_reactions(Nadia.Client.t(), integer() | binary(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_business_messages(binary(), [integer()]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_business_messages(Nadia.Client.t(), binary(), [integer()]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_chat_photo(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_chat_photo(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_chat_sticker_set(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_chat_sticker_set(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_forum_topic(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_forum_topic(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_message_reaction(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_messages(integer() | binary(), [integer()]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_messages(Nadia.Client.t(), integer() | binary(), [integer()]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_my_commands() :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_my_commands([{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_my_commands(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_my_commands(Nadia.Client.t(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_sticker_from_set(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_sticker_set(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_sticker_set(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_story(binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_story(Nadia.Client.t(), binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_webhook() :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_webhook([{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_webhook(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback delete_webhook(Nadia.Client.t(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_chat_invite_link(integer() | binary(), binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_invite_link(integer() | binary(), binary(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_invite_link(Nadia.Client.t(), integer() | binary(), binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_invite_link( Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_subscription_invite_link(integer() | binary(), binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_subscription_invite_link( integer() | binary(), binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_subscription_invite_link( Nadia.Client.t(), integer() | binary(), binary() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_chat_subscription_invite_link( Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_forum_topic(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_forum_topic(integer() | binary(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_forum_topic(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_forum_topic(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_general_forum_topic(integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_general_forum_topic(Nadia.Client.t(), integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_message_caption(integer() | binary(), integer(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_caption( Nadia.Client.t(), integer() | binary(), integer(), binary(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_checklist( binary(), integer() | binary(), integer(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_checklist( binary(), integer() | binary(), integer(), list() | map() | struct() | binary(), [{atom(), any()}] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_checklist( Nadia.Client.t(), binary(), integer() | binary(), integer(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_checklist( Nadia.Client.t(), binary(), integer() | binary(), integer(), list() | map() | struct() | binary(), [{atom(), any()}] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_live_location(float(), float(), [{atom(), any()}]) :: :ok | {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_live_location(Nadia.Client.t(), float(), float(), [{atom(), any()}]) :: :ok | {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_media(list() | map() | struct() | binary(), [{atom(), any()}]) :: :ok | {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_media(Nadia.Client.t(), list() | map() | struct() | binary(), [ {atom(), any()} ]) :: :ok | {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_reply_markup(integer() | binary(), integer(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_reply_markup( Nadia.Client.t(), integer() | binary(), integer(), binary(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_text( integer() | binary(), integer() | nil, binary() | nil, binary() | nil, [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_message_text( Nadia.Client.t(), integer() | binary(), integer() | nil, binary() | nil, binary() | nil, [{atom(), any()}] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_story(binary(), integer(), list() | map() | struct() | binary()) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_story( binary(), integer(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_story( Nadia.Client.t(), binary(), integer(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_story( Nadia.Client.t(), binary(), integer(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback edit_user_star_subscription(integer(), binary(), boolean()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback edit_user_star_subscription(Nadia.Client.t(), integer(), binary(), boolean()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback export_chat_invite_link(integer() | binary()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback export_chat_invite_link(Nadia.Client.t(), integer() | binary()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback forward_message(integer() | binary(), integer() | binary(), integer()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback forward_message(integer() | binary(), integer() | binary(), integer(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback forward_message( Nadia.Client.t(), integer() | binary(), integer() | binary(), integer() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback forward_message( Nadia.Client.t(), integer() | binary(), integer() | binary(), integer(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback forward_messages(integer() | binary(), integer() | binary(), [integer()]) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback forward_messages(integer() | binary(), integer() | binary(), [integer()], [ {atom(), any()} ]) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback forward_messages(Nadia.Client.t(), integer() | binary(), integer() | binary(), [ integer() ]) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback forward_messages( Nadia.Client.t(), integer() | binary(), integer() | binary(), [integer()], [ {atom(), any()} ] ) :: {:ok, [Nadia.Model.MessageId.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_available_gifts() :: {:ok, Nadia.Model.Gifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_available_gifts(Nadia.Client.t()) :: {:ok, Nadia.Model.Gifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_account_gifts(binary()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_account_gifts(binary(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_account_gifts(Nadia.Client.t(), binary()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_account_gifts( Nadia.Client.t(), binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_account_star_balance(binary()) :: {:ok, Nadia.Model.StarAmount.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_account_star_balance(Nadia.Client.t(), binary()) :: {:ok, Nadia.Model.StarAmount.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_connection(binary()) :: {:ok, Nadia.Model.BusinessConnection.t()} | {:error, Nadia.Model.Error.t()}
@callback get_business_connection(Nadia.Client.t(), binary()) :: {:ok, Nadia.Model.BusinessConnection.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat(integer() | binary()) :: {:ok, Nadia.Model.Chat.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat(Nadia.Client.t(), integer() | binary()) :: {:ok, Nadia.Model.Chat.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_administrators(integer() | binary()) :: {:ok, [Nadia.Model.ChatMember.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_chat_administrators(integer() | binary(), [{atom(), any()}]) :: {:ok, [Nadia.Model.ChatMember.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_chat_administrators(Nadia.Client.t(), integer() | binary()) :: {:ok, [Nadia.Model.ChatMember.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_chat_administrators(Nadia.Client.t(), integer() | binary(), [ {atom(), any()} ]) :: {:ok, [Nadia.Model.ChatMember.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_chat_gifts(integer() | binary()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_gifts(integer() | binary(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_gifts(Nadia.Client.t(), integer() | binary()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_gifts( Nadia.Client.t(), integer() | binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_member(integer() | binary(), integer()) :: {:ok, Nadia.Model.ChatMember.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_member(Nadia.Client.t(), integer() | binary(), integer()) :: {:ok, Nadia.Model.ChatMember.t()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_member_count(integer() | binary()) :: {:ok, integer()} | {:error, Nadia.Model.Error.t()}
@callback get_chat_member_count(Nadia.Client.t(), integer() | binary()) :: {:ok, integer()} | {:error, Nadia.Model.Error.t()}
@callback get_custom_emoji_stickers([binary()] | binary()) :: {:ok, [Nadia.Model.Sticker.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_custom_emoji_stickers(Nadia.Client.t(), [binary()] | binary()) :: {:ok, [Nadia.Model.Sticker.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_file(binary()) :: {:ok, Nadia.Model.File.t()} | {:error, Nadia.Model.Error.t()}
@callback get_file(Nadia.Client.t(), binary()) :: {:ok, Nadia.Model.File.t()} | {:error, Nadia.Model.Error.t()}
@callback get_file_link(Nadia.Model.File.t()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback get_file_link(Nadia.Client.t(), Nadia.Model.File.t()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback get_forum_topic_icon_stickers() :: {:ok, [Nadia.Model.Sticker.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_forum_topic_icon_stickers(Nadia.Client.t()) :: {:ok, [Nadia.Model.Sticker.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_game_high_scores(integer()) :: {:ok, [Nadia.Model.GameHighScore.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_game_high_scores(integer(), [{atom(), any()}] | map()) :: {:ok, [Nadia.Model.GameHighScore.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_game_high_scores(Nadia.Client.t(), integer()) :: {:ok, [Nadia.Model.GameHighScore.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_game_high_scores(Nadia.Client.t(), integer(), [{atom(), any()}] | map()) :: {:ok, [Nadia.Model.GameHighScore.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_managed_bot_access_settings(integer()) :: {:ok, Nadia.Model.BotAccessSettings.t()} | {:error, Nadia.Model.Error.t()}
@callback get_managed_bot_access_settings(Nadia.Client.t(), integer()) :: {:ok, Nadia.Model.BotAccessSettings.t()} | {:error, Nadia.Model.Error.t()}
@callback get_managed_bot_token(integer()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback get_managed_bot_token(Nadia.Client.t(), integer()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback get_me() :: {:ok, Nadia.Model.User.t()} | {:error, Nadia.Model.Error.t()}
@callback get_me(Nadia.Client.t()) :: {:ok, Nadia.Model.User.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_commands() :: {:ok, [Nadia.Model.BotCommand.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_my_commands([{atom(), any()}] | map()) :: {:ok, [Nadia.Model.BotCommand.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_my_commands(Nadia.Client.t()) :: {:ok, [Nadia.Model.BotCommand.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_my_commands(Nadia.Client.t(), [{atom(), any()}] | map()) :: {:ok, [Nadia.Model.BotCommand.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_my_default_administrator_rights() :: {:ok, Nadia.Model.ChatAdministratorRights.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_default_administrator_rights([{atom(), any()}] | map()) :: {:ok, Nadia.Model.ChatAdministratorRights.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_default_administrator_rights(Nadia.Client.t()) :: {:ok, Nadia.Model.ChatAdministratorRights.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_default_administrator_rights(Nadia.Client.t(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.ChatAdministratorRights.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_description() :: {:ok, Nadia.Model.BotDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_description([{atom(), any()}] | map()) :: {:ok, Nadia.Model.BotDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_description(Nadia.Client.t()) :: {:ok, Nadia.Model.BotDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_description(Nadia.Client.t(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.BotDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_name() :: {:ok, Nadia.Model.BotName.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_name([{atom(), any()}] | map()) :: {:ok, Nadia.Model.BotName.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_name(Nadia.Client.t()) :: {:ok, Nadia.Model.BotName.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_name(Nadia.Client.t(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.BotName.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_short_description() :: {:ok, Nadia.Model.BotShortDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_short_description([{atom(), any()}] | map()) :: {:ok, Nadia.Model.BotShortDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_short_description(Nadia.Client.t()) :: {:ok, Nadia.Model.BotShortDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_short_description(Nadia.Client.t(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.BotShortDescription.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_star_balance() :: {:ok, Nadia.Model.StarAmount.t()} | {:error, Nadia.Model.Error.t()}
@callback get_my_star_balance(Nadia.Client.t()) :: {:ok, Nadia.Model.StarAmount.t()} | {:error, Nadia.Model.Error.t()}
@callback get_star_transactions() :: {:ok, Nadia.Model.StarTransactions.t()} | {:error, Nadia.Model.Error.t()}
@callback get_star_transactions([{atom(), any()}] | map()) :: {:ok, Nadia.Model.StarTransactions.t()} | {:error, Nadia.Model.Error.t()}
@callback get_star_transactions(Nadia.Client.t()) :: {:ok, Nadia.Model.StarTransactions.t()} | {:error, Nadia.Model.Error.t()}
@callback get_star_transactions(Nadia.Client.t(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.StarTransactions.t()} | {:error, Nadia.Model.Error.t()}
@callback get_sticker_set(Nadia.Client.t(), binary()) :: {:ok, Nadia.Model.StickerSet.t()} | {:error, Nadia.Model.Error.t()}
@callback get_updates([{atom(), any()}]) :: {:ok, [Nadia.Model.Update.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_updates(Nadia.Client.t(), [{atom(), any()}]) :: {:ok, [Nadia.Model.Update.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_user_chat_boosts(integer() | binary(), integer()) :: {:ok, Nadia.Model.UserChatBoosts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_chat_boosts(Nadia.Client.t(), integer() | binary(), integer()) :: {:ok, Nadia.Model.UserChatBoosts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_gifts(integer()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_gifts(integer(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_gifts(Nadia.Client.t(), integer()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_gifts(Nadia.Client.t(), integer(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.OwnedGifts.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_personal_chat_messages(integer(), integer()) :: {:ok, [Nadia.Model.Message.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_user_personal_chat_messages(Nadia.Client.t(), integer(), integer()) :: {:ok, [Nadia.Model.Message.t()]} | {:error, Nadia.Model.Error.t()}
@callback get_user_profile_audios(integer()) :: {:ok, Nadia.Model.UserProfileAudios.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_profile_audios(integer(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.UserProfileAudios.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_profile_audios(Nadia.Client.t(), integer()) :: {:ok, Nadia.Model.UserProfileAudios.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_profile_audios(Nadia.Client.t(), integer(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.UserProfileAudios.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_profile_photos(integer(), [{atom(), any()}]) :: {:ok, Nadia.Model.UserProfilePhotos.t()} | {:error, Nadia.Model.Error.t()}
@callback get_user_profile_photos(Nadia.Client.t(), integer(), [{atom(), any()}]) :: {:ok, Nadia.Model.UserProfilePhotos.t()} | {:error, Nadia.Model.Error.t()}
@callback get_webhook_info(Nadia.Client.t()) :: {:ok, Nadia.Model.WebhookInfo.t()} | {:error, Nadia.Model.Error.t()}
@callback hide_general_forum_topic(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback hide_general_forum_topic(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback leave_chat(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback leave_chat(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback log_out() :: :ok | {:error, Nadia.Model.Error.t()}
@callback log_out(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback pin_chat_message(Nadia.Client.t(), integer() | binary(), integer() | binary(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback post_story(binary(), list() | map() | struct() | binary(), integer()) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback post_story( binary(), list() | map() | struct() | binary(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback post_story( Nadia.Client.t(), binary(), list() | map() | struct() | binary(), integer() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback post_story( Nadia.Client.t(), binary(), list() | map() | struct() | binary(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback promote_chat_member(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback promote_chat_member(integer() | binary(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback promote_chat_member(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback promote_chat_member(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback read_business_message(binary(), integer(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback read_business_message(Nadia.Client.t(), binary(), integer(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback refund_star_payment(integer(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback refund_star_payment(Nadia.Client.t(), integer(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_business_account_profile_photo(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_business_account_profile_photo(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_business_account_profile_photo(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_business_account_profile_photo( Nadia.Client.t(), binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_chat_verification(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_chat_verification(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_my_profile_photo() :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_my_profile_photo([{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_my_profile_photo(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_my_profile_photo(Nadia.Client.t(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_user_verification(integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback remove_user_verification(Nadia.Client.t(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback reopen_forum_topic(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback reopen_forum_topic(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback reopen_general_forum_topic(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback reopen_general_forum_topic(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback replace_managed_bot_token(integer()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback replace_managed_bot_token(Nadia.Client.t(), integer()) :: {:ok, binary()} | {:error, Nadia.Model.Error.t()}
@callback replace_sticker_in_set( Nadia.Client.t(), integer(), binary(), binary(), list() | map() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback repost_story(binary(), integer(), integer(), integer()) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback repost_story( binary(), integer(), integer(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback repost_story(Nadia.Client.t(), binary(), integer(), integer(), integer()) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback repost_story( Nadia.Client.t(), binary(), integer(), integer(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Story.t()} | {:error, Nadia.Model.Error.t()}
@callback restrict_chat_member( integer() | binary(), integer(), map() | keyword() | struct() | binary(), [{atom(), any()}] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback restrict_chat_member( Nadia.Client.t(), integer() | binary(), integer(), map() | keyword() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback revoke_chat_invite_link(integer() | binary(), binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback revoke_chat_invite_link(Nadia.Client.t(), integer() | binary(), binary()) :: {:ok, Nadia.Model.ChatInviteLink.t()} | {:error, Nadia.Model.Error.t()}
@callback save_prepared_inline_message(integer(), Nadia.Model.InlineQueryResult.t()) :: {:ok, Nadia.Model.PreparedInlineMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback save_prepared_inline_message( integer(), Nadia.Model.InlineQueryResult.t(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.PreparedInlineMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback save_prepared_inline_message( Nadia.Client.t(), integer(), Nadia.Model.InlineQueryResult.t() ) :: {:ok, Nadia.Model.PreparedInlineMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback save_prepared_inline_message( Nadia.Client.t(), integer(), Nadia.Model.InlineQueryResult.t(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.PreparedInlineMessage.t()} | {:error, Nadia.Model.Error.t()}
@callback save_prepared_keyboard_button(integer(), list() | map() | struct() | binary()) :: {:ok, Nadia.Model.PreparedKeyboardButton.t()} | {:error, Nadia.Model.Error.t()}
@callback save_prepared_keyboard_button( Nadia.Client.t(), integer(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.PreparedKeyboardButton.t()} | {:error, Nadia.Model.Error.t()}
@callback send_animation(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_animation(Nadia.Client.t(), integer() | binary(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_audio(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_audio(Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_chat_action(integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_chat_action(integer() | binary(), binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_chat_action(Nadia.Client.t(), integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_chat_action(Nadia.Client.t(), integer() | binary(), binary(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_chat_join_request_web_app(binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_chat_join_request_web_app(Nadia.Client.t(), binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_checklist( binary(), integer() | binary(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_checklist( binary(), integer() | binary(), list() | map() | struct() | binary(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_checklist( Nadia.Client.t(), binary(), integer() | binary(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_checklist( Nadia.Client.t(), binary(), integer() | binary(), list() | map() | struct() | binary(), [{atom(), any()}] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_contact(integer(), binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_contact(Nadia.Client.t(), integer() | binary(), binary(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_dice(integer() | binary()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_dice(integer() | binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_dice(Nadia.Client.t(), integer() | binary()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_dice(Nadia.Client.t(), integer() | binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_document(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_document(Nadia.Client.t(), integer() | binary(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_game(integer() | binary(), binary()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_game(integer() | binary(), binary(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_game(Nadia.Client.t(), integer() | binary(), binary()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_game( Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_gift(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_gift(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_gift(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_gift(Nadia.Client.t(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_invoice( integer() | binary(), binary(), binary(), binary(), binary(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_invoice( Nadia.Client.t(), integer() | binary(), binary(), binary(), binary(), binary(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_live_photo(integer() | binary(), binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_live_photo(Nadia.Client.t(), integer() | binary(), binary(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_location(integer(), float(), float(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_location(Nadia.Client.t(), integer() | binary(), float(), float(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_media_group(integer() | binary(), list() | map() | struct() | binary(), [ {atom(), any()} ]) :: {:ok, [Nadia.Model.Message.t()]} | {:error, Nadia.Model.Error.t()}
@callback send_media_group( Nadia.Client.t(), integer() | binary(), list() | map() | struct() | binary(), [ {atom(), any()} ] ) :: {:ok, [Nadia.Model.Message.t()]} | {:error, Nadia.Model.Error.t()}
@callback send_message(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_message(Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_message_draft(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_message_draft(integer() | binary(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_message_draft(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_message_draft(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_paid_media( Nadia.Client.t(), integer() | binary(), integer(), list() | map() | struct() | binary(), [{atom(), any()}] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_photo(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_photo(Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_poll(integer() | binary(), binary(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_poll( Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_rich_message(integer() | binary(), list() | map() | struct() | binary()) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_rich_message(integer() | binary(), list() | map() | struct() | binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_rich_message( Nadia.Client.t(), integer() | binary(), list() | map() | struct() | binary() ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_rich_message( Nadia.Client.t(), integer() | binary(), list() | map() | struct() | binary(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_rich_message_draft( integer(), integer(), list() | map() | struct() | binary(), [ {atom(), any()} ] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_rich_message_draft( Nadia.Client.t(), integer(), integer(), list() | map() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_rich_message_draft( Nadia.Client.t(), integer(), integer(), list() | map() | struct() | binary(), [{atom(), any()}] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback send_sticker(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_sticker(Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_venue(integer(), float(), float(), binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_venue( Nadia.Client.t(), integer() | binary(), float(), float(), binary(), binary(), [ {atom(), any()} ] ) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_video(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_video(Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_video_note(integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_video_note(Nadia.Client.t(), integer() | binary(), binary(), [ {atom(), any()} ]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_voice(integer(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback send_voice(Nadia.Client.t(), integer() | binary(), binary(), [{atom(), any()}]) :: {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback set_business_account_bio(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_bio(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_bio(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_bio(Nadia.Client.t(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_gift_settings( Nadia.Client.t(), binary(), boolean(), list() | map() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_name(binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_name(binary(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_name(Nadia.Client.t(), binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_name( Nadia.Client.t(), binary(), binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_profile_photo( binary(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_profile_photo( Nadia.Client.t(), binary(), list() | map() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_profile_photo( Nadia.Client.t(), binary(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_username(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_username(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_username(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_business_account_username( Nadia.Client.t(), binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_administrator_custom_title(integer() | binary(), integer(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_administrator_custom_title( Nadia.Client.t(), integer() | binary(), integer(), binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_description(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_description(integer() | binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_description(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_description(Nadia.Client.t(), integer() | binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_member_tag(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_member_tag(integer() | binary(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_member_tag(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_member_tag(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_permissions( integer() | binary(), map() | keyword() | struct() | binary(), [{atom(), any()}] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_permissions( Nadia.Client.t(), integer() | binary(), map() | keyword() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_permissions( Nadia.Client.t(), integer() | binary(), map() | keyword() | struct() | binary(), [{atom(), any()}] ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_photo(integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_photo(Nadia.Client.t(), integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_sticker_set(integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_sticker_set(Nadia.Client.t(), integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_title(integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_chat_title(Nadia.Client.t(), integer() | binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_custom_emoji_sticker_set_thumbnail(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_custom_emoji_sticker_set_thumbnail(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_custom_emoji_sticker_set_thumbnail(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_custom_emoji_sticker_set_thumbnail( Nadia.Client.t(), binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_game_score(integer(), integer()) :: {:ok, Nadia.Model.Message.t()} | :ok | {:error, Nadia.Model.Error.t()}
@callback set_game_score(integer(), integer(), [{atom(), any()}] | map()) :: {:ok, Nadia.Model.Message.t()} | :ok | {:error, Nadia.Model.Error.t()}
@callback set_game_score(Nadia.Client.t(), integer(), integer()) :: {:ok, Nadia.Model.Message.t()} | :ok | {:error, Nadia.Model.Error.t()}
@callback set_game_score( Nadia.Client.t(), integer(), integer(), [{atom(), any()}] | map() ) :: {:ok, Nadia.Model.Message.t()} | :ok | {:error, Nadia.Model.Error.t()}
@callback set_managed_bot_access_settings(integer(), boolean(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_managed_bot_access_settings(Nadia.Client.t(), integer(), boolean(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_message_reaction(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_commands(list() | map() | struct() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_commands(list() | map() | struct() | binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_commands(Nadia.Client.t(), list() | map() | struct() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_commands( Nadia.Client.t(), list() | map() | struct() | binary(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_default_administrator_rights() :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_default_administrator_rights([{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_default_administrator_rights(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_default_administrator_rights(Nadia.Client.t(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_description() :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_description([{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_description(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_description(Nadia.Client.t(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_name() :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_name([{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_name(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_name(Nadia.Client.t(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_profile_photo(list() | map() | struct() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_profile_photo(Nadia.Client.t(), list() | map() | struct() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_short_description() :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_short_description([{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_short_description(Nadia.Client.t()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_my_short_description(Nadia.Client.t(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_passport_data_errors( Nadia.Client.t(), integer(), list() | map() | struct() | binary() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_emoji_list(binary(), [binary()] | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_emoji_list(Nadia.Client.t(), binary(), [binary()] | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_keywords(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_keywords(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_keywords(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_keywords(Nadia.Client.t(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_mask_position(binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_mask_position(binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_mask_position(Nadia.Client.t(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_mask_position(Nadia.Client.t(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_position_in_set(Nadia.Client.t(), binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_set_thumbnail(binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_set_thumbnail(binary(), integer(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_set_thumbnail(Nadia.Client.t(), binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_set_thumbnail( Nadia.Client.t(), binary(), integer(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_set_title(binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_sticker_set_title(Nadia.Client.t(), binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_user_emoji_status(integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_user_emoji_status(integer(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_user_emoji_status(Nadia.Client.t(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_user_emoji_status(Nadia.Client.t(), integer(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_webhook([{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback set_webhook(Nadia.Client.t(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback stop_message_live_location([{atom(), any()}]) :: :ok | {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback stop_message_live_location(Nadia.Client.t(), [{atom(), any()}]) :: :ok | {:ok, Nadia.Model.Message.t()} | {:error, Nadia.Model.Error.t()}
@callback stop_poll(integer() | binary(), integer()) :: {:ok, Nadia.Model.Poll.t()} | {:error, Nadia.Model.Error.t()}
@callback stop_poll(integer() | binary(), integer(), [{atom(), any()}]) :: {:ok, Nadia.Model.Poll.t()} | {:error, Nadia.Model.Error.t()}
@callback stop_poll(Nadia.Client.t(), integer() | binary(), integer()) :: {:ok, Nadia.Model.Poll.t()} | {:error, Nadia.Model.Error.t()}
@callback stop_poll(Nadia.Client.t(), integer() | binary(), integer(), [{atom(), any()}]) :: {:ok, Nadia.Model.Poll.t()} | {:error, Nadia.Model.Error.t()}
@callback transfer_business_account_stars(binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback transfer_business_account_stars(Nadia.Client.t(), binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback transfer_gift(binary(), binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback transfer_gift(binary(), binary(), integer(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback transfer_gift(Nadia.Client.t(), binary(), binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback transfer_gift( Nadia.Client.t(), binary(), binary(), integer(), [{atom(), any()}] | map() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unban_chat_member(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unban_chat_member(integer() | binary(), integer(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unban_chat_member(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unban_chat_member(Nadia.Client.t(), integer() | binary(), integer(), [ {atom(), any()} ]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unban_chat_sender_chat(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unban_chat_sender_chat(Nadia.Client.t(), integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unhide_general_forum_topic(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unhide_general_forum_topic(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_all_chat_messages(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_all_chat_messages(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_all_forum_topic_messages(integer() | binary(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_all_forum_topic_messages( Nadia.Client.t(), integer() | binary(), integer() ) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_all_general_forum_topic_messages(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_all_general_forum_topic_messages(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_chat_message(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_chat_message(integer() | binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_chat_message(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback unpin_chat_message(Nadia.Client.t(), integer() | binary(), [{atom(), any()}]) :: :ok | {:error, Nadia.Model.Error.t()}
@callback upgrade_gift(binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback upgrade_gift(binary(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback upgrade_gift(Nadia.Client.t(), binary(), binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback upgrade_gift(Nadia.Client.t(), binary(), binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback upload_sticker_file(Nadia.Client.t(), integer(), binary()) :: {:ok, Nadia.Model.File.t()} | {:error, Nadia.Model.Error.t()}
@callback verify_chat(integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_chat(integer() | binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_chat(Nadia.Client.t(), integer() | binary()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_chat(Nadia.Client.t(), integer() | binary(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_user(integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_user(integer(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_user(Nadia.Client.t(), integer()) :: :ok | {:error, Nadia.Model.Error.t()}
@callback verify_user(Nadia.Client.t(), integer(), [{atom(), any()}] | map()) :: :ok | {:error, Nadia.Model.Error.t()}