import { IButton, IReplyMarkup, KeyboardTypes } from '../..'; export declare class Keyboard { readonly keyboardType: KeyboardTypes; private placeholder?; private oneTimeKeyboard; unresolvedButtons: IButton[]; rows: IButton[][]; /** * Creates a keyboard for message * @param keyboardType Type of keyboard {@link KeyboardTypes} * @param placeholder Placeholder for input "Type message..." (only for under_the_chat keyboard) * */ constructor(keyboardType?: KeyboardTypes, placeholder?: string); private checkButton; /** * Creates a button with text (only for under_the_chat keyboard) * @param text Text of the button * @param hidden If true hides button * */ text(text: string, hidden?: boolean): this; /** * Creates a button (only for under_the_message keyboard) * @param text Text of the button * @param clickData String with some click data * @param hidden If true hides button * */ btn(text: string, clickData: string, hidden?: boolean): this; /** * Creates a url button (only for under_the_message keyboard) * @param text Text of the button * @param url Button click link * @param hidden If true hides button * */ url(text: string, url: string, hidden?: boolean): this; /** * Creates a button that request contact (only for under_the_chat keyboard) * @param text Text of the button * @param hidden If true hides button * */ contact(text: string, hidden?: boolean): this; /** * Creates a button that request location (only for under_the_chat keyboard) * @param text Text of the button * @param hidden If true hides button * */ location(text: string, hidden?: boolean): this; /** * Creates a button that switch inline query (only for under_the_message keyboard) * @param text Text of the button * @param switchQuery Switch inline query string data * @param hidden If true hides button * */ switch(text: string, switchQuery: string, hidden?: boolean): this; /** * Creates a pay button (only for under_the_message keyboard) * @param text Text of the button * */ pay(text: string): this; /** * Creates a web app button * @param text Text of the button * @param url Link to web app * @param hidden If true hides button * */ webApp(text: string, url: string, hidden?: boolean): this; /** * Creates a row with newly added buttons * @param btnsPerLine If you pass a number to it, your newly added buttons will be arranged in multiple rows with the number of buttons you specify in one row * @param hidden If true hides row * */ row(btnsPerLine?: number | null, hidden?: boolean): this; /** * Saves rows as layout * @param layoutName Layout name * @deprecated To use keyboard layouts, pass Keyboard class as argument to .use method * */ save(layoutName: string): this; /** * Extracts rows from the layout * @param layout Layout you want to add to the current keyboard (pass instance of Keyboard class) * */ use(layout: any): this; setPlaceholder(newPlaceholder: string): this; oneTime(): this; buildMarkup(): IReplyMarkup; }