import { WebAppInfo, KeyboardButtonRequestChat, KeyboardButtonPollType, KeyboardButtonRequestUsers, KeyboardButtonRequestManagedBot } from './'; import { AtMostOne } from '../utils'; /** * ## KeyboardButton * This object represents one button of the reply keyboard. At most one of the fields other than text, * icon_custom_emoji_id, and style must be used to specify the type of the button. For simple text buttons, String can * be used instead of this object to specify the button text. * @see https://core.telegram.org/bots/api#keyboardbutton */ export type KeyboardButton = string | ({ /** * Text of the button. If none of the fields other than text, icon_custom_emoji_id, and style are used, it will * be sent as a message when the button is pressed */ text: string; /** * Optional. Unique identifier of the custom emoji shown before the text of the button. Can only be used by bots * that purchased additional usernames on Fragment or in the messages directly sent by the bot to private, group * and supergroup chats if the owner of the bot has a Telegram Premium subscription. */ icon_custom_emoji_id?: string; /** * Optional. Style of the button. Must be one of "danger" (red), "success" (green) or "primary" (blue). If * omitted, then an app-specific style is used. */ style?: string; } & Partial>);