import { MediaFileTypes, MessageEntityTypes } from '../../types'; import { MessageSubtypes } from '../../types/listen-middlewares.types'; export declare function buildUpdateDecorator(listenMiddlewareName: string, ...args: any[]): MethodDecorator; /** * On scope enter * @see https://degreetpro.gitbook.io/nestgram/nestgram-features/scopes * */ export declare function OnEnter(): MethodDecorator; /** * Listen for a user that send some command and call method * @param commandText Command that you want to listen * @see https://core.telegram.org/bots/api#message * @see https://core.telegram.org/bots/api#messageentity * */ export declare const OnCommand: (commandText?: string) => MethodDecorator; /** * Listen for a user that send some text as message * @param text Text of the message that you want to listen * @see https://core.telegram.org/bots/api#message * */ export declare const OnText: (text?: string) => MethodDecorator; /** * Listen for a user that send some message (e.g. sends photo, video, any media or text message) * @see https://core.telegram.org/bots/api#message * */ export declare const OnMessage: (subtype?: MessageSubtypes) => MethodDecorator; /** * Listen for a user that edit some message * @see https://core.telegram.org/bots/api#message * */ export declare const OnMessageEdit: () => MethodDecorator; /** * Listen for a channel that publish some post * @see https://core.telegram.org/bots/api#message * */ export declare const OnPost: () => MethodDecorator; /** * Listen for a channel that edit some post * @see https://core.telegram.org/bots/api#message * */ export declare const OnPostEdit: () => MethodDecorator; /** * Listen for a user that send some message with entities (e.g. command, hashtag, email, phone_number and other in {@link IMessageEntity}) * @param entity Entity that you want to listen ({@link MessageEntityTypes}) * @see https://core.telegram.org/bots/api#messageentity * */ export declare const OnEntity: (entity?: MessageEntityTypes) => MethodDecorator; /** * Listen for a user that click on button with some id * @param buttonId The id of the button you want to track. * @see https://core.telegram.org/bots/api#callbackquery * */ export declare const OnClick: (buttonId: string | RegExp) => MethodDecorator; /** * Listen for a user that send some media file (e.g. photo, video, audio) * @param media Media type that you want to listen * @see https://core.telegram.org/bots/api#message * */ export declare const OnMedia: (media?: MediaFileTypes) => MethodDecorator; /** * Listen for a user that send a photo * @see https://core.telegram.org/bots/api#photosize * */ export declare const OnPhoto: () => MethodDecorator; /** * Listen for a user that send a video * @see https://core.telegram.org/bots/api#video * */ export declare const OnVideo: () => MethodDecorator; /** * Listen for a user that send an audio * @see https://core.telegram.org/bots/api#audio * */ export declare const OnAudio: () => MethodDecorator; /** * Listen for a user that send a video note * @see https://core.telegram.org/bots/api#videonote * */ export declare const OnVideoNote: () => MethodDecorator; /** * Listen for a user that send a voice message * @see https://core.telegram.org/bots/api#voice * */ export declare const OnVoice: () => MethodDecorator; /** * Listen for a user that send an animation * @see https://core.telegram.org/bots/api#animation * */ export declare const OnAnimation: () => MethodDecorator; /** * Listen for a user that send a document * @see https://core.telegram.org/bots/api#document * */ export declare const OnDocument: () => MethodDecorator; /** * Listen for a location * @see https://core.telegram.org/bots/api#location * */ export declare const OnLocation: () => MethodDecorator; /** * Listen for a venue * @see https://core.telegram.org/bots/api#venue * */ export declare const OnVenue: () => MethodDecorator; /** * Listen for a contact * @see https://core.telegram.org/bots/api#contact * */ export declare const OnContact: () => MethodDecorator; /** * Listen for a poll * @see https://core.telegram.org/bots/api#poll * */ export declare const OnPoll: () => MethodDecorator; /** * Listen for a poll edit * @see https://core.telegram.org/bots/api#poll * */ export declare const OnPollEdit: () => MethodDecorator; /** * Listen for a poll answer * @see https://core.telegram.org/bots/api#pollanswer * */ export declare const OnPollAnswer: () => MethodDecorator; /** * Listen for a dice * @see https://core.telegram.org/bots/api#poll * */ export declare const OnDice: () => MethodDecorator; /** * Listen for a join request * @see https://core.telegram.org/bots/api#chatjoinrequest * */ export declare const OnJoinRequest: () => MethodDecorator; /** * Listen for an update * @see https://core.telegram.org/bots/api#update * */ export declare const OnUpdate: () => MethodDecorator; /** * Listen for a user that forwards a message * @see https://core.telegram.org/bots/api#message * */ export declare const OnForward: () => MethodDecorator;