from dataclasses import dataclass @dataclass(kw_only=True) class Token: pass @dataclass(kw_only=True) class TextToken(Token): text: str @dataclass(kw_only=True) class LinkToken(Token): href: str label: str | None = None @dataclass(kw_only=True) class TagToken(Token): tag: str @dataclass(kw_only=True) class MentionToken(Token): username: str uri: str | None = None