import type TelegramBot from 'node-telegram-bot-api'; export declare type Button = Record | string; export declare type ButtonsList = (Button | Button[])[]; export declare type ButtonId = `$btn:${number}`; export declare type RawButton = { id: ButtonId; text: string; value: string; }; interface RawButtons { structure: (ButtonId | ButtonId[])[]; list: RawButton[]; } export declare class Buttons { private source; private buttons; private hash; constructor(buttons: ButtonsList); updateKeyboard(): RawButtons; getInlineKeyboard(): TelegramBot.InlineKeyboardButton[][]; get(btnId: ButtonId): RawButton | undefined; isChanged(): boolean; replace(buttons: ButtonsList): void; clear(): void; } export declare function makeRawButton(button: Button, id?: number): RawButton; export {};