import { EmojiKey, TelegramChatActionType, TelegramForwardMessageParams, TelegramInputFile, TelegramInputPaidMedia, TelegramInputPollOption, TelegramMedia, TelegramMessage, TelegramPinChatMessageParams, TelegramSendAnimationParams, TelegramSendAudioParams, TelegramSendContactParams, TelegramSendDiceParams, TelegramSendDocumentParams, TelegramSendInvoiceParams, TelegramSendLocationParams, TelegramSendMediaGroupParams, TelegramSendMessageParams, TelegramSendPaidMediaParams, TelegramSendPhotoParams, TelegramSendPollParams, TelegramSendStickerParams, TelegramSendVenueParams, TelegramSendVideoNoteParams, TelegramSendVideoParams, TelegramSendVoiceParams, TelegramUnpinChatMessageParams } from '../../../types'; import { Context } from '../../core'; import { MessageContext, IncomingMessageContext } from '../../../migrated'; export declare class MessageMethods extends Context { /** * Sends a text message to the chat. * @param text The text of the message to send. * @param params Optional parameters for sending the message. * @returns A promise that resolves to the message context. */ send(text: string, params?: Partial): Promise; /** * Sends a message to the chat with optional parameters. * @param params Parameters for sending the message, including chat_id. * @returns A promise that resolves to the message context. */ send(params: Omit): Promise; sendTemplate(templateName: string, payload?: Record, params?: Omit, 'text'>): Promise; /** * Sends a question to the chat. * @param text The text of the message to send. * @param callback A function to handle the response. * @returns A promise that resolves to the message context. */ sendQuestion(text: string, callback: (message: MessageContext) => void): Promise; /** * Sends a question to the chat with optional parameters. * @param params Parameters for sending the message, including chat_id. * @param callback A function to handle the response. * @returns A promise that resolves to the message context. */ sendQuestion(params: Omit, callback: (message: MessageContext) => void): Promise; /** * Replies to the current message with a text message. * * @param text The text of the reply message. * @param params Optional parameters for sending the reply message. * @returns A promise that resolves to the message context. */ reply(text: string, params?: Partial): Promise; /** * Replies to the current message with specific parameters, including chat_id. * * @param params Parameters for sending the reply message, including chat_id. * @returns A promise that resolves to the message context. */ reply(params: TelegramSendMessageParams & { chat_id?: number | string; }): Promise; /** * Forwards the current message to another chat. * * @param chat_id The ID of the chat to which the message should be forwarded. * @param params Optional parameters for forwarding the message. * @returns A promise that resolves when the message has been forwarded. */ forward(chat_id: string | number, params?: Partial): Promise; /** * Deletes the current message from the chat. * * @returns A promise that resolves when the message has been successfully deleted. */ delete(timeout?: number): Promise; /** * Pins the current message in the chat. * * @param params Optional parameters for pinning the message. * @returns A promise that resolves when the message has been successfully pinned. */ pin(params?: Partial): Promise; /** * Unpins the current message from the chat. * * @param params Optional parameters for unpinning the message. * @returns A promise that resolves when the message has been successfully unpinned. */ unpin(params?: Partial): Promise; /** * Sends a chat action (e.g., typing, uploading) to indicate activity in the chat. * * @param action The type of chat action to send. * @returns A promise that resolves when the chat action has been sent. */ sendAction(action: TelegramChatActionType): Promise; /** * Sends a photo to the chat. * * @param params Parameters for sending the photo, excluding chat_id. * @returns A promise that resolves to the message context. */ sendPhoto(params: Omit): Promise; /** * Sends a photo to the chat. * * @param photo The photo to send. * @param params Optional parameters for sending the photo. * @returns A promise that resolves to the message context. */ sendPhoto(photo: TelegramInputFile, params?: Partial): Promise; /** * Sends a video to the chat. * * @param params Parameters for sending the video, excluding chat_id. * @returns A promise that resolves to the message context. */ sendVideo(params: Omit): Promise; /** * Sends a video to the chat. * * @param video The video to send. * @param params Optional parameters for sending the video. * @returns A promise that resolves to the message context. */ sendVideo(video: TelegramInputFile, params?: Partial): Promise; /** * Sends an audio file to the chat. * * @param params Parameters for sending the audio file, excluding chat_id. * @returns A promise that resolves to the message context. */ sendAudio(params: Omit): Promise; /** * Sends an audio file to the chat. * * @param audio The audio file to send. * @param params Optional parameters for sending the audio file. * @returns A promise that resolves to the message context. */ sendAudio(audio: TelegramInputFile, params?: Partial): Promise; /** * Sends a document to the chat. * * @param params Parameters for sending the document, excluding chat_id. * @returns A promise that resolves to the message context. */ sendDocument(params: Omit): Promise; /** * Sends a document to the chat. * * @param document The document to send. * @param params Optional parameters for sending the document. * @returns A promise that resolves to the message context. */ sendDocument(document: TelegramInputFile, params?: Partial): Promise; /** * Sends an animation to the chat. * * @param params Parameters for sending the animation, excluding chat_id. * @returns A promise that resolves to the message context. */ sendAnimation(params: Omit): Promise; /** * Sends an animation to the chat. * * @param animation The animation to send. * @param params Optional parameters for sending the animation. * @returns A promise that resolves to the message context. */ sendAnimation(animation: TelegramInputFile, params?: Partial): Promise; /** * Sends a media group to the chat. * * @param params Parameters for sending the media group, excluding chat_id. * @returns A promise that resolves to an array of message contexts. */ sendMediaGroup(params: Omit): Promise; /** * Sends a media group to the chat. * * @param media An array of media items to send. * @param params Optional parameters for sending the media group. * @returns A promise that resolves to an array of message contexts. */ sendMediaGroup(media: TelegramMedia[], params?: Partial): Promise; /** * Sends a contact to the chat. * * @param params Parameters for sending the contact, excluding chat_id. * @returns A promise that resolves to the message context. */ sendContact(params: Omit): Promise; /** * Sends a dice with a specific emoji to the chat. * * @param params Parameters for sending the dice, excluding chat_id. The `emoji` field is optional. * @returns A promise that resolves to the message context. */ sendDice(params: Omit & { emoji?: EmojiKey; }): Promise; /** * Sends a dice with a specific emoji to the chat. * * @param emoji The emoji to use for the dice. * @param params Optional parameters for sending the dice, excluding the `emoji` field. * @returns A promise that resolves to the message context. */ sendDice(emoji?: EmojiKey, params?: Partial>): Promise; /** * Sends an invoice to the chat. * * @param params Parameters for sending the invoice, excluding chat_id. * @returns A promise that resolves to the message context. */ sendInvoice(params: Omit): Promise; /** * Sends a location to the chat. * * @param params Parameters for sending the location, excluding chat_id. * @returns A promise that resolves to the message context. */ sendLocation(params: Omit): Promise; /** * Sends paid media to the chat. * * @param params Parameters for sending the paid media, excluding chat_id. * @returns A promise that resolves to the message context. */ sendPaidMedia(params: Omit): Promise; /** * Sends paid media to the chat with a specified star count. * * @param media An array of media items to send. * @param star_count The number of stars to associate with the media. * @param params Optional parameters for sending the paid media. * @returns A promise that resolves to the message context. */ sendPaidMedia(media: TelegramInputPaidMedia[], star_count: number, params?: Partial): Promise; /** * Sends a poll to the chat. * * @param params Parameters for sending the poll, excluding chat_id. * @returns A promise that resolves to the message context. */ sendPoll(params: Omit): Promise; /** * Sends a poll with a question and options to the chat. * * @param question The question to ask in the poll. * @param options The options for the poll. * @param params Optional parameters for sending the poll. * @returns A promise that resolves to the message context. */ sendPoll(question: string, options: TelegramInputPollOption[], params?: Partial): Promise; /** * Sends a sticker to the chat. * * @param params Parameters for sending the sticker, excluding chat_id. * @returns A promise that resolves to the message context. */ sendSticker(params: Omit): Promise; /** * Sends a sticker file to the chat. * * @param sticker The sticker file to send. * @param params Optional parameters for sending the sticker. * @returns A promise that resolves to the message context. */ sendSticker(sticker: TelegramInputFile, params?: Partial): Promise; /** * Sends a venue to the chat. * * @param params Parameters for sending the venue, excluding chat_id. * @returns A promise that resolves to the message context. */ sendVenue(params: Omit): Promise; /** * Sends a video note to the chat. * * @param params Parameters for sending the video note, excluding chat_id. * @returns A promise that resolves to the message context. */ sendVideoNote(params: Omit): Promise; /** * Sends a video note file to the chat. * * @param video_note The video note file to send. * @param params Optional parameters for sending the video note. * @returns A promise that resolves to the message context. */ sendVideoNote(video_note: TelegramInputFile, params?: Partial): Promise; /** * Sends a voice message to the chat. * * @param params Parameters for sending the voice message, excluding chat_id. * @returns A promise that resolves to the message context. */ sendVoice(params: Omit): Promise; /** * Sends a voice message file to the chat. * * @param voice The voice message file to send. * @param params Optional parameters for sending the voice message. * @returns A promise that resolves to the message context. */ sendVoice(voice: TelegramInputFile, params?: Partial): Promise; /** * Retrieves the database message associated with the current message. * * @returns A promise that resolves to the database message context. */ getMessageDB(): Promise; }