// This file generated by libqtelegram-code-generator.
// You can download it from: https://github.com/Aseman-Land/libqtelegram-code-generator
// DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

#ifndef TELEGRAMCORE_GLOBALS_H
#define TELEGRAMCORE_GLOBALS_H

#include <QtGlobal>
#include "telegram/types/types.h"

#define TG_CALLBACK_SIGNATURE(RETURN_TYPE) \
    qint64 msgId, RETURN_TYPE result, TelegramCore::CallbackError error

#define TG_ACCOUNT_REGISTER_DEVICE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_UNREGISTER_DEVICE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_UPDATE_NOTIFY_SETTINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_GET_NOTIFY_SETTINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(PeerNotifySettings)
#define TG_ACCOUNT_RESET_NOTIFY_SETTINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_UPDATE_PROFILE_CALLBACK \
    TG_CALLBACK_SIGNATURE(User)
#define TG_ACCOUNT_UPDATE_STATUS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_GET_WALL_PAPERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<WallPaper>)
#define TG_ACCOUNT_REPORT_PEER_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_CHECK_USERNAME_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_UPDATE_USERNAME_CALLBACK \
    TG_CALLBACK_SIGNATURE(User)
#define TG_ACCOUNT_GET_PRIVACY_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountPrivacyRules)
#define TG_ACCOUNT_SET_PRIVACY_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountPrivacyRules)
#define TG_ACCOUNT_DELETE_ACCOUNT_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_GET_ACCOUNT_T_T_L_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountDaysTTL)
#define TG_ACCOUNT_SET_ACCOUNT_T_T_L_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_SEND_CHANGE_PHONE_CODE_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthSentCode)
#define TG_ACCOUNT_CHANGE_PHONE_CALLBACK \
    TG_CALLBACK_SIGNATURE(User)
#define TG_ACCOUNT_UPDATE_DEVICE_LOCKED_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_GET_AUTHORIZATIONS_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountAuthorizations)
#define TG_ACCOUNT_RESET_AUTHORIZATION_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_GET_PASSWORD_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountPassword)
#define TG_ACCOUNT_GET_PASSWORD_SETTINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountPasswordSettings)
#define TG_ACCOUNT_UPDATE_PASSWORD_SETTINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_SEND_CONFIRM_PHONE_CODE_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthSentCode)
#define TG_ACCOUNT_CONFIRM_PHONE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_ACCOUNT_GET_TMP_PASSWORD_CALLBACK \
    TG_CALLBACK_SIGNATURE(AccountTmpPassword)

#define TG_AUTH_CHECK_PHONE_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthCheckedPhone)
#define TG_AUTH_SEND_CODE_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthSentCode)
#define TG_AUTH_SIGN_UP_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthAuthorization)
#define TG_AUTH_SIGN_IN_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthAuthorization)
#define TG_AUTH_LOG_OUT_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_AUTH_RESET_AUTHORIZATIONS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_AUTH_SEND_INVITES_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_AUTH_EXPORT_AUTHORIZATION_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthExportedAuthorization)
#define TG_AUTH_IMPORT_AUTHORIZATION_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthAuthorization)
#define TG_AUTH_BIND_TEMP_AUTH_KEY_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_AUTH_IMPORT_BOT_AUTHORIZATION_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthAuthorization)
#define TG_AUTH_CHECK_PASSWORD_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthAuthorization)
#define TG_AUTH_REQUEST_PASSWORD_RECOVERY_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthPasswordRecovery)
#define TG_AUTH_RECOVER_PASSWORD_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthAuthorization)
#define TG_AUTH_RESEND_CODE_CALLBACK \
    TG_CALLBACK_SIGNATURE(AuthSentCode)
#define TG_AUTH_CANCEL_CODE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_AUTH_DROP_TEMP_AUTH_KEYS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)

#define TG_BOTS_SEND_CUSTOM_REQUEST_CALLBACK \
    TG_CALLBACK_SIGNATURE(DataJSON)
#define TG_BOTS_ANSWER_WEBHOOK_J_S_O_N_QUERY_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)

#define TG_CHANNELS_READ_HISTORY_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CHANNELS_DELETE_MESSAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAffectedMessages)
#define TG_CHANNELS_DELETE_USER_HISTORY_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAffectedHistory)
#define TG_CHANNELS_REPORT_SPAM_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CHANNELS_GET_MESSAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesMessages)
#define TG_CHANNELS_GET_PARTICIPANTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(ChannelsChannelParticipants)
#define TG_CHANNELS_GET_PARTICIPANT_CALLBACK \
    TG_CALLBACK_SIGNATURE(ChannelsChannelParticipant)
#define TG_CHANNELS_GET_CHANNELS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChats)
#define TG_CHANNELS_GET_FULL_CHANNEL_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChatFull)
#define TG_CHANNELS_CREATE_CHANNEL_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_EDIT_ABOUT_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CHANNELS_EDIT_ADMIN_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_EDIT_TITLE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_EDIT_PHOTO_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_CHECK_USERNAME_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CHANNELS_UPDATE_USERNAME_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CHANNELS_JOIN_CHANNEL_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_LEAVE_CHANNEL_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_INVITE_TO_CHANNEL_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_EXPORT_INVITE_CALLBACK \
    TG_CALLBACK_SIGNATURE(ExportedChatInvite)
#define TG_CHANNELS_DELETE_CHANNEL_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_TOGGLE_INVITES_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_EXPORT_MESSAGE_LINK_CALLBACK \
    TG_CALLBACK_SIGNATURE(ExportedMessageLink)
#define TG_CHANNELS_TOGGLE_SIGNATURES_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_UPDATE_PINNED_MESSAGE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_GET_ADMINED_PUBLIC_CHANNELS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChats)
#define TG_CHANNELS_EDIT_BANNED_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_CHANNELS_GET_ADMIN_LOG_CALLBACK \
    TG_CALLBACK_SIGNATURE(ChannelsAdminLogResults)

#define TG_CONTACTS_GET_STATUSES_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<ContactStatus>)
#define TG_CONTACTS_GET_CONTACTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsContacts)
#define TG_CONTACTS_IMPORT_CONTACTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsImportedContacts)
#define TG_CONTACTS_DELETE_CONTACT_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsLink)
#define TG_CONTACTS_DELETE_CONTACTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CONTACTS_BLOCK_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CONTACTS_UNBLOCK_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_CONTACTS_GET_BLOCKED_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsBlocked)
#define TG_CONTACTS_EXPORT_CARD_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<qint32>)
#define TG_CONTACTS_IMPORT_CARD_CALLBACK \
    TG_CALLBACK_SIGNATURE(User)
#define TG_CONTACTS_SEARCH_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsFound)
#define TG_CONTACTS_RESOLVE_USERNAME_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsResolvedPeer)
#define TG_CONTACTS_GET_TOP_PEERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(ContactsTopPeers)
#define TG_CONTACTS_RESET_TOP_PEER_RATING_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)

#define TG_HELP_GET_CONFIG_CALLBACK \
    TG_CALLBACK_SIGNATURE(Config)
#define TG_HELP_GET_NEAREST_DC_CALLBACK \
    TG_CALLBACK_SIGNATURE(NearestDc)
#define TG_HELP_GET_APP_UPDATE_CALLBACK \
    TG_CALLBACK_SIGNATURE(HelpAppUpdate)
#define TG_HELP_SAVE_APP_LOG_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_HELP_GET_INVITE_TEXT_CALLBACK \
    TG_CALLBACK_SIGNATURE(HelpInviteText)
#define TG_HELP_GET_SUPPORT_CALLBACK \
    TG_CALLBACK_SIGNATURE(HelpSupport)
#define TG_HELP_GET_APP_CHANGELOG_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_HELP_GET_TERMS_OF_SERVICE_CALLBACK \
    TG_CALLBACK_SIGNATURE(HelpTermsOfService)
#define TG_HELP_SET_BOT_UPDATES_STATUS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_HELP_GET_CDN_CONFIG_CALLBACK \
    TG_CALLBACK_SIGNATURE(CdnConfig)

#define TG_LANGPACK_GET_LANG_PACK_CALLBACK \
    TG_CALLBACK_SIGNATURE(LangPackDifference)
#define TG_LANGPACK_GET_STRINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<LangPackString>)
#define TG_LANGPACK_GET_DIFFERENCE_CALLBACK \
    TG_CALLBACK_SIGNATURE(LangPackDifference)
#define TG_LANGPACK_GET_LANGUAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<LangPackLanguage>)

#define TG_MESSAGES_GET_MESSAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesMessages)
#define TG_MESSAGES_GET_DIALOGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesDialogs)
#define TG_MESSAGES_GET_HISTORY_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesMessages)
#define TG_MESSAGES_SEARCH_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesMessages)
#define TG_MESSAGES_READ_HISTORY_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAffectedMessages)
#define TG_MESSAGES_DELETE_HISTORY_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAffectedHistory)
#define TG_MESSAGES_DELETE_MESSAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAffectedMessages)
#define TG_MESSAGES_RECEIVED_MESSAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<ReceivedNotifyMessage>)
#define TG_MESSAGES_SET_TYPING_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_SEND_MESSAGE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_SEND_MEDIA_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_FORWARD_MESSAGES_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_REPORT_SPAM_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_HIDE_REPORT_SPAM_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_PEER_SETTINGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(PeerSettings)
#define TG_MESSAGES_GET_CHATS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChats)
#define TG_MESSAGES_GET_FULL_CHAT_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChatFull)
#define TG_MESSAGES_EDIT_CHAT_TITLE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_EDIT_CHAT_PHOTO_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_ADD_CHAT_USER_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_DELETE_CHAT_USER_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_CREATE_CHAT_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_FORWARD_MESSAGE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_GET_DH_CONFIG_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesDhConfig)
#define TG_MESSAGES_REQUEST_ENCRYPTION_CALLBACK \
    TG_CALLBACK_SIGNATURE(EncryptedChat)
#define TG_MESSAGES_ACCEPT_ENCRYPTION_CALLBACK \
    TG_CALLBACK_SIGNATURE(EncryptedChat)
#define TG_MESSAGES_DISCARD_ENCRYPTION_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_SET_ENCRYPTED_TYPING_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_READ_ENCRYPTED_HISTORY_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_SEND_ENCRYPTED_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesSentEncryptedMessage)
#define TG_MESSAGES_SEND_ENCRYPTED_FILE_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesSentEncryptedMessage)
#define TG_MESSAGES_SEND_ENCRYPTED_SERVICE_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesSentEncryptedMessage)
#define TG_MESSAGES_RECEIVED_QUEUE_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<qint64>)
#define TG_MESSAGES_REPORT_ENCRYPTED_SPAM_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_READ_MESSAGE_CONTENTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAffectedMessages)
#define TG_MESSAGES_GET_ALL_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAllStickers)
#define TG_MESSAGES_GET_WEB_PAGE_PREVIEW_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessageMedia)
#define TG_MESSAGES_EXPORT_CHAT_INVITE_CALLBACK \
    TG_CALLBACK_SIGNATURE(ExportedChatInvite)
#define TG_MESSAGES_CHECK_CHAT_INVITE_CALLBACK \
    TG_CALLBACK_SIGNATURE(ChatInvite)
#define TG_MESSAGES_IMPORT_CHAT_INVITE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_GET_STICKER_SET_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesStickerSet)
#define TG_MESSAGES_INSTALL_STICKER_SET_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesStickerSetInstallResult)
#define TG_MESSAGES_UNINSTALL_STICKER_SET_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_START_BOT_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_GET_MESSAGES_VIEWS_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<qint32>)
#define TG_MESSAGES_TOGGLE_CHAT_ADMINS_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_EDIT_CHAT_ADMIN_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_MIGRATE_CHAT_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_SEARCH_GLOBAL_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesMessages)
#define TG_MESSAGES_REORDER_STICKER_SETS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_DOCUMENT_BY_HASH_CALLBACK \
    TG_CALLBACK_SIGNATURE(Document)
#define TG_MESSAGES_SEARCH_GIFS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesFoundGifs)
#define TG_MESSAGES_GET_SAVED_GIFS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesSavedGifs)
#define TG_MESSAGES_SAVE_GIF_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_INLINE_BOT_RESULTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesBotResults)
#define TG_MESSAGES_SET_INLINE_BOT_RESULTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_SEND_INLINE_BOT_RESULT_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_GET_MESSAGE_EDIT_DATA_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesMessageEditData)
#define TG_MESSAGES_EDIT_MESSAGE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_EDIT_INLINE_BOT_MESSAGE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_BOT_CALLBACK_ANSWER_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesBotCallbackAnswer)
#define TG_MESSAGES_SET_BOT_CALLBACK_ANSWER_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_PEER_DIALOGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesPeerDialogs)
#define TG_MESSAGES_SAVE_DRAFT_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_ALL_DRAFTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_GET_FEATURED_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesFeaturedStickers)
#define TG_MESSAGES_READ_FEATURED_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_RECENT_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesRecentStickers)
#define TG_MESSAGES_SAVE_RECENT_STICKER_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_CLEAR_RECENT_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_ARCHIVED_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesArchivedStickers)
#define TG_MESSAGES_GET_MASK_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesAllStickers)
#define TG_MESSAGES_GET_ATTACHED_STICKERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<StickerSetCovered>)
#define TG_MESSAGES_SET_GAME_SCORE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_MESSAGES_SET_INLINE_GAME_SCORE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_GAME_HIGH_SCORES_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesHighScores)
#define TG_MESSAGES_GET_INLINE_GAME_HIGH_SCORES_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesHighScores)
#define TG_MESSAGES_GET_COMMON_CHATS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChats)
#define TG_MESSAGES_GET_ALL_CHATS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesChats)
#define TG_MESSAGES_GET_WEB_PAGE_CALLBACK \
    TG_CALLBACK_SIGNATURE(WebPage)
#define TG_MESSAGES_TOGGLE_DIALOG_PIN_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_REORDER_PINNED_DIALOGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_GET_PINNED_DIALOGS_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesPeerDialogs)
#define TG_MESSAGES_SET_BOT_SHIPPING_RESULTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_SET_BOT_PRECHECKOUT_RESULTS_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_MESSAGES_UPLOAD_MEDIA_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessageMedia)

#define TG_PAYMENTS_GET_PAYMENT_FORM_CALLBACK \
    TG_CALLBACK_SIGNATURE(PaymentsPaymentForm)
#define TG_PAYMENTS_GET_PAYMENT_RECEIPT_CALLBACK \
    TG_CALLBACK_SIGNATURE(PaymentsPaymentReceipt)
#define TG_PAYMENTS_VALIDATE_REQUESTED_INFO_CALLBACK \
    TG_CALLBACK_SIGNATURE(PaymentsValidatedRequestedInfo)
#define TG_PAYMENTS_SEND_PAYMENT_FORM_CALLBACK \
    TG_CALLBACK_SIGNATURE(PaymentsPaymentResult)
#define TG_PAYMENTS_GET_SAVED_INFO_CALLBACK \
    TG_CALLBACK_SIGNATURE(PaymentsSavedInfo)
#define TG_PAYMENTS_CLEAR_SAVED_INFO_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)

#define TG_PHONE_GET_CALL_CONFIG_CALLBACK \
    TG_CALLBACK_SIGNATURE(DataJSON)
#define TG_PHONE_REQUEST_CALL_CALLBACK \
    TG_CALLBACK_SIGNATURE(PhonePhoneCall)
#define TG_PHONE_ACCEPT_CALL_CALLBACK \
    TG_CALLBACK_SIGNATURE(PhonePhoneCall)
#define TG_PHONE_CONFIRM_CALL_CALLBACK \
    TG_CALLBACK_SIGNATURE(PhonePhoneCall)
#define TG_PHONE_RECEIVED_CALL_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_PHONE_DISCARD_CALL_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_PHONE_SET_CALL_RATING_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesType)
#define TG_PHONE_SAVE_CALL_DEBUG_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)

#define TG_PHOTOS_UPDATE_PROFILE_PHOTO_CALLBACK \
    TG_CALLBACK_SIGNATURE(UserProfilePhoto)
#define TG_PHOTOS_UPLOAD_PROFILE_PHOTO_CALLBACK \
    TG_CALLBACK_SIGNATURE(PhotosPhoto)
#define TG_PHOTOS_DELETE_PHOTOS_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<qint64>)
#define TG_PHOTOS_GET_USER_PHOTOS_CALLBACK \
    TG_CALLBACK_SIGNATURE(PhotosPhotos)

#define TG_STICKERS_CREATE_STICKER_SET_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesStickerSet)
#define TG_STICKERS_REMOVE_STICKER_FROM_SET_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_STICKERS_CHANGE_STICKER_POSITION_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_STICKERS_ADD_STICKER_TO_SET_CALLBACK \
    TG_CALLBACK_SIGNATURE(MessagesStickerSet)

#define TG_UPDATES_GET_STATE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesState)
#define TG_UPDATES_GET_DIFFERENCE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesDifference)
#define TG_UPDATES_GET_CHANNEL_DIFFERENCE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UpdatesChannelDifference)

#define TG_UPLOAD_SAVE_FILE_PART_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_UPLOAD_GET_FILE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UploadFile)
#define TG_UPLOAD_SAVE_BIG_FILE_PART_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)
#define TG_UPLOAD_GET_WEB_FILE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UploadWebFile)
#define TG_UPLOAD_GET_CDN_FILE_CALLBACK \
    TG_CALLBACK_SIGNATURE(UploadCdnFile)
#define TG_UPLOAD_REUPLOAD_CDN_FILE_CALLBACK \
    TG_CALLBACK_SIGNATURE(bool)

#define TG_USERS_GET_USERS_CALLBACK \
    TG_CALLBACK_SIGNATURE(QList<User>)
#define TG_USERS_GET_FULL_USER_CALLBACK \
    TG_CALLBACK_SIGNATURE(UserFull)

#endif // TELEGRAMCORE_GLOBALS_H
