import { ITelegramClient } from '../../client.types.js';
import { InputMediaLike } from '../../types/media/input-media/types.js';
import { InputPeerLike } from '../../types/peers/index.js';
import { CommonSendParams } from './send-common.js';
import { Message } from '../../types/messages/message.js';
/**
 * Send a group of media.
 *
 * To add a caption to the group, add caption to the first
 * media in the group and don't add caption for any other.
 *
 * @param chatId  ID of the chat, its username, phone or `"me"` or `"self"`
 * @param medias  Medias contained in the message.
 * @param params  Additional sending parameters
 * @link InputMedia
 */
export declare function sendMediaGroup(client: ITelegramClient, chatId: InputPeerLike, medias: (InputMediaLike | string)[], params?: CommonSendParams & {
    /**
     * Whether to invert media position.
     *
     * Currently only supported for web previews and makes the
     * client render the preview above the caption and not below.
     */
    invertMedia?: boolean;
    /**
     * 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 index  Index of the media in the original array
     * @param uploaded  Number of bytes already uploaded
     * @param total  Total file size
     */
    progressCallback?: (index: number, uploaded: number, total: number) => void;
}): Promise<Message[]>;
