import { default as Long } from 'long'; import { ITelegramClient } from '../../client.types.js'; import { ReplyMarkup } from '../../types/bots/keyboards/index.js'; import { InputMediaLike } from '../../types/media/input-media/types.js'; import { Message } from '../../types/messages/message.js'; import { InputText } from '../../types/misc/entities.js'; import { InputPeerLike } from '../../types/peers/index.js'; import { CommonSendParams } from './send-common.js'; /** * Send a single media (a photo or a document-based media) * * @param chatId ID of the chat, its username, phone or `"me"` or `"self"` * @param media * Media contained in the message. You can also pass TDLib * and Bot API compatible File ID, which will be wrapped * in {@link InputMedia.auto} * @param params Additional sending parameters * @link InputMedia */ export declare function sendMedia(client: ITelegramClient, chatId: InputPeerLike, media: InputMediaLike | string, params?: CommonSendParams & { /** Override the default random ID, for streaming drafts */ randomId?: Long; /** * For bots: inline or reply markup or an instruction * to hide a reply keyboard or to force a reply. */ replyMarkup?: ReplyMarkup; /** * Whether to invert media position. * * Currently only supported for web previews and makes the * client render the preview above the caption and not below. */ invert?: boolean; /** * Override caption for `media`. * * Can be used, for example. when using File IDs * or when using existing InputMedia objects. */ caption?: InputText; /** * Function that will be called after some part has been uploaded. * Only used when a file that requires uploading is passed, * and not used when uploading a thumbnail. * * @param uploaded Number of bytes already uploaded * @param total Total file size */ progressCallback?: (uploaded: number, total: number) => void; }): Promise;