import type { ButtonAction } from './action-hive.ts'; import type { Body } from './body.ts'; import type { ContextPathFunc, RegExpLike } from './generic-types.ts'; import type { InlineKeyboard } from './keyboard.ts'; export type MenuLike = { readonly renderBody: ContextPathFunc; readonly renderKeyboard: ContextPathFunc; readonly renderActionHandlers: (path: RegExpLike) => ReadonlySet>; readonly listSubmenus: () => ReadonlySet>; }; export type Submenu = { /** Unique within the current menu depth */ readonly trigger: RegExpLike; readonly hide: undefined | ContextPathFunc; readonly menu: MenuLike; };