import { _RepliedMessageAssertionsByOrigin, Audio, Contact, Dice, Document, Game, Invoice, LiveLocation, Location, MaybeArray, Message, MessageAction, MessageMediaType, Peer, Photo, Poll, RepliedMessageInfo, RepliedMessageOrigin, Sticker, StickerSourceType, StickerType, Story, User, Venue, Video, Voice, WebPageMedia, RawDocument } from '@mtcute/core'; import { BusinessMessageContext } from '../context/business-message.js'; import { MessageContext } from '../index.js'; import { Modify, UpdateFilter } from './types.js'; /** * Filter incoming messages. * * Messages sent to yourself (i.e. Saved Messages) are also "incoming" */ export declare const incoming: UpdateFilter; /** * Filter outgoing messages. * * Messages sent to yourself (i.e. Saved Messages) are **not** "outgoing" */ export declare const outgoing: UpdateFilter; /** * Filter for scheduled messages */ export declare const scheduled: UpdateFilter; /** * Filter messages that are replies to some other message */ export declare const reply: UpdateFilter; /** * Filter messages that are replies with the given origin type */ export declare function replyOrigin(origin: T): UpdateFilter; }>; /** * Filter messages containing some media */ export declare const media: UpdateFilter; }>; /** * Filter messages containing media of given type */ export declare function mediaOf(type: T): UpdateFilter; }>; /** Filter messages containing a photo */ export declare const photo: UpdateFilter; /** Filter messages containing a dice */ export declare const dice: UpdateFilter; /** Filter messages containing a contact */ export declare const contact: UpdateFilter; /** Filter messages containing an audio file */ export declare const audio: UpdateFilter; /** Filter messages containing a voice message (audio-only) */ export declare const voice: UpdateFilter; /** Filter messages containing a sticker */ export declare const sticker: UpdateFilter; /** Filter messages containing a document (a file) */ export declare const document: UpdateFilter; /** Filter messages containing any video (videos, round messages and animations) */ export declare const anyVideo: UpdateFilter; /** Filter messages containing a static location */ export declare const location: UpdateFilter; /** Filter messages containing a live location */ export declare const liveLocation: UpdateFilter; /** Filter messages containing a game */ export declare const game: UpdateFilter; /** Filter messages containing a web page */ export declare const webpage: UpdateFilter; /** Filter messages containing a venue */ export declare const venue: UpdateFilter; /** Filter messages containing a poll */ export declare const poll: UpdateFilter; /** Filter messages containing an invoice */ export declare const invoice: UpdateFilter; /** Filter messages containing a story */ export declare const story: UpdateFilter; /** * Filter messages containing any location (live or static). */ export declare const anyLocation: UpdateFilter; /** * Filter messages containing a document * * This will also match media like audio, video, voice * that also use Documents */ export declare const anyDocument: UpdateFilter; /** * Filter messages containing a simple video. * * This does not include round messages and animations */ export declare const video: UpdateFilter; }>; /** * Filter messages containing an animation. * * > **Note**: Legacy GIFs (i.e. documents with `image/gif` MIME) * > are also considered animations. */ export declare const animation: UpdateFilter; }>; /** * Filter messages containing a round message (aka video note). */ export declare const roundMessage: UpdateFilter; }>; /** * Filter messages containing a sticker by its type */ export declare function stickerByType(type: StickerType): UpdateFilter; /** * Filter messages containing a sticker by its source file type */ export declare function stickerBySourceType(type: StickerSourceType): UpdateFilter; /** * Filter text-only messages non-service messages */ export declare const text: UpdateFilter; /** * Filter service messages */ export declare const service: UpdateFilter; /** * Filter service messages by action type */ export declare function action['type']>(type: MaybeArray): UpdateFilter; sender: T extends 'user_joined_link' | 'user_removed' | 'history_cleared' | 'contact_joined' | 'bot_allowed' ? User : Peer; }>; export declare function sender(type: T): UpdateFilter; }>; /** * Filter that matches messages that are replies to some other message that can be fetched * (i.e. not `private` origin, and has not been deleted) * * Optionally, you can pass a filter that will be applied to the replied message. */ export declare function replyTo(filter?: UpdateFilter): UpdateFilter Promise; }, State>; /** * Middleware-like filter that will fetch the sender of the message * and make it available to further filters, as well as the handler itself. */ export declare function withCompleteSender(filter?: UpdateFilter): UpdateFilter; /** * Middleware-like filter that will fetch the chat of the message * and make it available to further filters, as well as the handler itself. */ export declare function withCompleteChat(filter?: UpdateFilter): UpdateFilter;