# from aiogram.types import Message, CallbackQuery # from aiogram.utils.keyboard import InlineKeyboardBuilder # from typing import Any, Callable, Self, Union, overload # from babel.support import LazyProxy # from dataclasses import dataclass # from ..bot.handlers.context import ContextData # class Menu: # @overload # def __init__(self, description: str | LazyProxy): ... # @overload # def __init__(self, menu_factory: Callable[[InlineKeyboardBuilder, Union[Message, CallbackQuery], Any], str]): ... # def __init__(self, description: str | LazyProxy = None, # menu_factory: Callable[[InlineKeyboardBuilder, Union[Message, CallbackQuery], Any], str] = None) -> None: # self.menu_factory = menu_factory # self.description = description # self.parent: Menu = None # self.items: list[list[Menu]] = []