-record(menu, { id :: binary(), title :: gleam@option:option(binary()), sections :: list(telega@menu_builder:menu_section()), layout :: telega@menu_builder:menu_layout(), pagination :: gleam@option:option(telega@menu_builder:pagination_config()), navigation :: telega@menu_builder:navigation_config(), state :: gleam@option:option(telega@menu_builder:menu_state(any())), actions :: gleam@dict:dict(binary(), fun((telega@menu_builder:menu_state(any()), binary()) -> telega@menu_builder:menu_state(any()))), callback_data :: telega@keyboard:keyboard_callback_data(binary()) }).