import { ITelegramClient } from '../../client.types.js';
import { InputMediaLike, InputMessageId, InputText, Message, ReplyMarkup } from '../../types/index.js';
/**
 * Edit message text, media, reply markup and schedule date.
 *
 * @param chatId  ID of the chat, its username, phone or `"me"` or `"self"`
 * @param message  Message or its ID
 * @param params
 */
export declare function editMessage(client: ITelegramClient, params: InputMessageId & {
    /**
     * New message text
     *
     * When `media` is passed, `media.caption` is used instead
     */
    text?: InputText;
    /**
     * New message media
     */
    media?: InputMediaLike;
    /**
     * Whether to disable links preview in this message
     */
    disableWebPreview?: boolean;
    /**
     * For bots: new reply markup.
     * If omitted, existing markup will be removed.
     */
    replyMarkup?: ReplyMarkup;
    /**
     * To re-schedule a message: new schedule date.
     * When passing a number, a UNIX time in ms is expected.
     */
    scheduleDate?: Date | number;
    /**
     * For media, upload progress callback.
     *
     * @param uploaded  Number of bytes uploaded
     * @param total  Total file size in bytes
     */
    progressCallback?: (uploaded: number, total: number) => void;
    /**
     * Whether to dispatch the edit message event
     * to the client's update handler.
     */
    shouldDispatch?: true;
    /**
     * 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;
    businessConnectionId?: string;
}): Promise<Message>;
