import { BotStoppedUpdate, ChatJoinRequestUpdate, ChatMemberUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, MaybeAsync, PeersIndex, PollUpdate, PollVoteUpdate, StoryUpdate, TelegramClient, tl, UserStatusUpdate, UserTypingUpdate, } from '@mtcute/client' import { UpdateContext } from './context/base.js' import { 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< Name, (update: Update, state: State) => MaybeAsync, (update: Update, state: State) => MaybeAsync > export type RawUpdateHandler = BaseUpdateHandler< 'raw', ( client: TelegramClient, update: tl.TypeUpdate | tl.TypeMessage, peers: PeersIndex, ) => MaybeAsync, (client: TelegramClient, update: tl.TypeUpdate | tl.TypeMessage, peers: PeersIndex) => MaybeAsync > // begin-codegen 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 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 UpdateHandler = | RawUpdateHandler | NewMessageHandler | EditMessageHandler | MessageGroupHandler | DeleteMessageHandler | ChatMemberUpdateHandler | InlineQueryHandler | ChosenInlineResultHandler | CallbackQueryHandler | InlineCallbackQueryHandler | PollUpdateHandler | PollVoteHandler | UserStatusUpdateHandler | UserTypingHandler | HistoryReadHandler | BotStoppedHandler | BotChatJoinRequestHandler | ChatJoinRequestHandler | PreCheckoutQueryHandler | StoryUpdateHandler | DeleteStoryHandler // end-codegen