import { tl } from '../../../tl/index.js'; import { ITelegramClient } from '../../client.types.js'; import { InputPeerLike, Message } from '../../types/index.js'; export interface ForwardMessageOptions { /** Destination chat ID, username, phone, `"me"` or `"self"` */ toChatId: InputPeerLike; /** When forwarding to forums, ID of the thread to forward to */ toThreadId?: number; /** * When forwarding to a monoforum you are an admin of, * you **must** pass an ID of a peer you are sending the message to. */ toMonoforumPeer?: InputPeerLike; /** * Whether to forward silently (also applies to caption message). */ silent?: boolean; /** * If set, the forwarding will be scheduled to this date * (also applies to caption message). * When passing a number, a UNIX time in ms is expected. * * You can also pass `0x7FFFFFFE`, this will send the message * once the peer is online */ schedule?: Date | number; /** * Whether to clear draft after sending this message (only used for caption) * * @default `false` */ clearDraft?: boolean; /** * Whether to forward without author */ noAuthor?: boolean; /** * Whether to forward without caption (implies {@link noAuthor}) */ noCaption?: boolean; /** * Whether to disallow further forwards of this message. * * Only for bots, works even if the target chat does not * have content protection. */ forbidForwards?: boolean; /** * Peer to use when sending the message. */ sendAs?: InputPeerLike; /** * If passed, instead of sending the message, it will be saved into the * given quick reply shortcut (either its ID or its shortcut string). */ quickReply?: number | string; /** * Whether to dispatch the forwarded messages * to the client's update handler. */ shouldDispatch?: true; /** * Bots only: if set, allows sending up to 1000 messages per second, * ignoring broadcasting limits for a fee of 0.1 Telegram Stars per message. * The Stars will be withdrawn from the bot's balance. */ allowPaidFloodskip?: boolean; /** * Whether to allow payment for messages. * If set, the value represents the maximum number of stars to be paid */ allowPaidMessages?: tl.Long; /** Video timestamp to use for the forwarded video */ videoTimestamp?: number; } /** * Forward one or more messages by their IDs. * You can forward no more than 100 messages at once. * * @param toChatId Destination chat ID, username, phone, `"me"` or `"self"` * @param fromChatId Source chat ID, username, phone, `"me"` or `"self"` * @param messages Message IDs * @param params Additional sending parameters * @returns Newly sent, forwarded messages in the destination chat. */ export declare function forwardMessagesById(client: ITelegramClient, params: ForwardMessageOptions & { /** Source chat ID, username, phone, `"me"` or `"self"` */ fromChatId: InputPeerLike; /** Message IDs to forward */ messages: number[]; }): Promise; /** * Forward one or more {@link Message}s to another chat. * * > **Note**: all messages must be from the same chat. */ export declare function forwardMessages(client: ITelegramClient, params: ForwardMessageOptions & { messages: Message[]; }): Promise;