import { BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessConnection, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, MaybePromise, PeersIndex, PollUpdate, PollVoteUpdate, StoryUpdate, tl, UserStatusUpdate, UserTypingUpdate } from '@mtcute/core'; import { TelegramClient } from '@mtcute/core/client.js'; import { UpdateContext } from './context/base.js'; import { BusinessCallbackQueryContext, BusinessMessageContext, CallbackQueryContext, ChatJoinRequestUpdateContext, ChosenInlineResultContext, InlineCallbackQueryContext, InlineQueryContext, MessageContext, PreCheckoutQueryContext } from './context/index.js'; import { PropagationAction } from './propagation.js'; export interface BaseUpdateHandler { name: Name; callback: Handler; check?: Checker; } export type ParsedUpdateHandler = BaseUpdateHandler MaybePromise, (update: Update, state: State) => MaybePromise>; export type RawUpdateHandler = BaseUpdateHandler<'raw', (client: TelegramClient, update: tl.TypeUpdate | tl.TypeMessage, peers: PeersIndex) => MaybePromise, (client: TelegramClient, update: tl.TypeUpdate | tl.TypeMessage, peers: PeersIndex) => MaybePromise>; export type NewMessageHandler = ParsedUpdateHandler<'new_message', T, S>; export type EditMessageHandler = ParsedUpdateHandler<'edit_message', T, S>; export type MessageGroupHandler = ParsedUpdateHandler<'message_group', T, S>; export type DeleteMessageHandler> = ParsedUpdateHandler<'delete_message', T>; export type ChatMemberUpdateHandler> = ParsedUpdateHandler<'chat_member', T>; export type InlineQueryHandler = ParsedUpdateHandler<'inline_query', T>; export type ChosenInlineResultHandler = ParsedUpdateHandler<'chosen_inline_result', T>; export type CallbackQueryHandler = ParsedUpdateHandler<'callback_query', T, S>; export type InlineCallbackQueryHandler = ParsedUpdateHandler<'inline_callback_query', T, S>; export type BusinessCallbackQueryHandler = ParsedUpdateHandler<'business_callback_query', T, S>; export type PollUpdateHandler> = ParsedUpdateHandler<'poll', T>; export type PollVoteHandler> = ParsedUpdateHandler<'poll_vote', T>; export type UserStatusUpdateHandler> = ParsedUpdateHandler<'user_status', T>; export type UserTypingHandler> = ParsedUpdateHandler<'user_typing', T>; export type HistoryReadHandler> = ParsedUpdateHandler<'history_read', T>; export type BotStoppedHandler> = ParsedUpdateHandler<'bot_stopped', T>; export type BotChatJoinRequestHandler = ParsedUpdateHandler<'bot_chat_join_request', T>; export type ChatJoinRequestHandler> = ParsedUpdateHandler<'chat_join_request', T>; export type PreCheckoutQueryHandler = ParsedUpdateHandler<'pre_checkout_query', T>; export type StoryUpdateHandler> = ParsedUpdateHandler<'story', T>; export type DeleteStoryHandler> = ParsedUpdateHandler<'delete_story', T>; export type BotReactionUpdateHandler> = ParsedUpdateHandler<'bot_reaction', T>; export type BotReactionCountUpdateHandler> = ParsedUpdateHandler<'bot_reaction_count', T>; export type BusinessConnectionUpdateHandler> = ParsedUpdateHandler<'business_connection', T>; export type NewBusinessMessageHandler = ParsedUpdateHandler<'new_business_message', T, S>; export type EditBusinessMessageHandler = ParsedUpdateHandler<'edit_business_message', T, S>; export type BusinessMessageGroupHandler = ParsedUpdateHandler<'business_message_group', T, S>; export type DeleteBusinessMessageHandler> = ParsedUpdateHandler<'delete_business_message', T>; export type UpdateHandler = RawUpdateHandler | NewMessageHandler | EditMessageHandler | MessageGroupHandler | DeleteMessageHandler | ChatMemberUpdateHandler | InlineQueryHandler | ChosenInlineResultHandler | CallbackQueryHandler | InlineCallbackQueryHandler | BusinessCallbackQueryHandler | PollUpdateHandler | PollVoteHandler | UserStatusUpdateHandler | UserTypingHandler | HistoryReadHandler | BotStoppedHandler | BotChatJoinRequestHandler | ChatJoinRequestHandler | PreCheckoutQueryHandler | StoryUpdateHandler | DeleteStoryHandler | BotReactionUpdateHandler | BotReactionCountUpdateHandler | BusinessConnectionUpdateHandler | NewBusinessMessageHandler | EditBusinessMessageHandler | BusinessMessageGroupHandler | DeleteBusinessMessageHandler;