/**
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
* Copyright (C) 2023-2026 Roj
*
* This file is part of MTKruto.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
import { Api } from "../2_tl.js";
import type { UsernameResolver } from "./_getters.js";
import { type InlineKeyboardButton } from "./1_inline_keyboard_button.js";
import { type KeyboardButton } from "./1_keyboard_button.js";
/** @unlisted */
export interface ReplyMarkupInlineKeyboard {
type: "inlineKeyboard";
inlineKeyboard: InlineKeyboardButton[][];
}
/** @unlisted */
export interface ReplyMarkupKeyboard {
type: "keyboard";
keyboard: KeyboardButton[][];
isPersistent?: boolean;
isResized?: boolean;
isOneTime?: boolean;
inputFieldPlaceholder?: string;
isSelective?: boolean;
}
/**
* Makes the user's client hide the current custom keyboard.
* @unlisted
*/
export interface ReplyMarkupRemoveKeyboard {
type: "removeKeyboard";
/** Whether to only affect specific users. If true, only users that were mentioned will be affected along with the author of the replied message if any. */
isSelective?: boolean;
}
/**
* Forces the user's client to select the message as the one to reply to.
* @unlisted
*/
export interface ReplyMarkupForceReply {
type: "forceReply";
/** A placeholder to be shown in the client's message box. */
inputFieldPlaceholder?: string;
/** Whether to only affect specific users. If true, only users that were mentioned will be affected along with the author of the replied message if any. */
isSelective?: boolean;
}
/** A message's reply markup. */
export type ReplyMarkup = ReplyMarkupInlineKeyboard | ReplyMarkupKeyboard | ReplyMarkupRemoveKeyboard | ReplyMarkupForceReply;
export declare function constructReplyMarkup(replyMarkup: Api.ReplyMarkup): ReplyMarkup;
export declare function replyMarkupToTlObject(replyMarkup: ReplyMarkup, usernameResolver: UsernameResolver): Promise;
//# sourceMappingURL=2_reply_markup.d.ts.map