import { MaybeAsync, Message, TelegramClient, InlineQuery, CallbackQuery, UsersIndex, ChatsIndex, } from '@mtcute/client' import { tl } from '@mtcute/tl' import { PropagationSymbol } from './propagation' import { ChatMemberUpdate } from './updates' import { ChosenInlineResult } from './updates/chosen-inline-result' import { PollUpdate } from './updates/poll-update' import { PollVoteUpdate } from './updates/poll-vote' import { UserStatusUpdate } from './updates/user-status-update' import { UserTypingUpdate } from './updates/user-typing-update' import { DeleteMessageUpdate } from './updates/delete-message-update' interface BaseUpdateHandler { type: Type callback: Handler check?: Checker } type ParsedUpdateHandler = BaseUpdateHandler< Type, ( update: Update, client: TelegramClient ) => MaybeAsync, (update: Update, client: TelegramClient) => MaybeAsync > export type RawUpdateHandler = BaseUpdateHandler< 'raw', ( client: TelegramClient, update: tl.TypeUpdate, users: UsersIndex, chats: ChatsIndex ) => MaybeAsync, ( client: TelegramClient, update: tl.TypeUpdate, users: UsersIndex, chats: ChatsIndex ) => MaybeAsync > // begin-codegen export type NewMessageHandler = ParsedUpdateHandler< 'new_message', T > export type EditMessageHandler = ParsedUpdateHandler< 'edit_message', T > export type DeleteMessageHandler = ParsedUpdateHandler< 'delete_message', T > export type ChatMemberUpdateHandler = ParsedUpdateHandler< 'chat_member', T > export type InlineQueryHandler = ParsedUpdateHandler< 'inline_query', T > export type ChosenInlineResultHandler< T = ChosenInlineResult > = ParsedUpdateHandler<'chosen_inline_result', T> export type CallbackQueryHandler = ParsedUpdateHandler< 'callback_query', T > 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 UpdateHandler = | RawUpdateHandler | NewMessageHandler | EditMessageHandler | DeleteMessageHandler | ChatMemberUpdateHandler | InlineQueryHandler | ChosenInlineResultHandler | CallbackQueryHandler | PollUpdateHandler | PollVoteHandler | UserStatusUpdateHandler | UserTypingHandler // end-codegen