import type { ChatMemberUpdate, Filter, MyChatMemberUpdate } from '@puregram/api'; type ChatMemberBearingUpdate = ChatMemberUpdate | MyChatMemberUpdate; /** * change kind derived from the `old_chat_member.status` -> `new_chat_member.status` * transition. covers user-visible state changes; bot-side restrictions / promotions * collapse into the same buckets the codegen'd helpers expose */ export type ChatMemberChange = 'joined' | 'left' | 'promoted' | 'demoted' | 'banned' | 'unbanned' | 'restricted' | 'subscribed'; /** * match a chat-member status transition. callable form `chatMember('joined')` * plus shorthand properties `chatMember.joined` / `.left` / `.promoted` / * `.demoted` / `.banned` / `.unbanned` / `.restricted` / `.subscribed`. the * derivation mirrors the codegen'd transition methods on `ChatMemberUpdate` / * `MyChatMemberUpdate` */ export declare const chatMember: ((change: ChatMemberChange) => Filter) & { joined: Filter; left: Filter; promoted: Filter; demoted: Filter; banned: Filter; unbanned: Filter; restricted: Filter; subscribed: Filter; }; /** * match chat-member updates that concern the bot itself. accepts the bot's * user id as an argument so the filter stays a pure module-level value with * no `Telegram` binding; callers pass `tg.bot.id` after `tg.start()`. matches * when either `from.id` or `new_chat_member.user.id` equals the supplied id */ export declare function chatMemberSelf(botId: number): Filter; export {}; //# sourceMappingURL=chat-member.d.ts.map