import type { InlineKeyboardButton as TelegramInlineKeyboardButton } from 'grammy/types'; import type { ReadonlyDeep } from 'type-fest'; import { type ConstOrContextPathFunc, type ContextPathFunc } from './generic-types.ts'; export type CallbackButtonTemplate = { readonly text: string; readonly relativePath: string; readonly icon_custom_emoji_id?: string; readonly style?: 'danger' | 'success' | 'primary'; }; export type InlineKeyboardButton = ReadonlyDeep; export type InlineKeyboard = ReadonlyArray; export type ButtonTemplate = CallbackButtonTemplate | InlineKeyboardButton; export type ButtonTemplateRow = readonly ButtonTemplate[]; type UncreatedTemplate = ConstOrContextPathFunc; type ButtonTemplateRowGenerator = ContextPathFunc; export declare class Keyboard { #private; addCreator(creator: ButtonTemplateRowGenerator): void; add(joinLastRow: boolean, ...buttons: ReadonlyArray>): void; render(context: Context, path: string): Promise; } export {};