from dataclasses import dataclass

from ...core.model import DataModel

from ..emoji import EmojiModel

@dataclass
class ReactionCountDetailsModel(DataModel):
    """Represents details for the reaction."""

    burst: int
    """Count of super reactions."""

    normal: int
    """Count of normal reactions."""

@dataclass
class ReactionModel(DataModel):
    """Represents a reaction made."""

    count: int
    """Total number of times this reaction was made."""

    count_details: ReactionCountDetailsModel

    me: bool
    """Whether the bot has reacted with this emoji."""

    me_burst: bool
    """Whether the bot has reacted with a super emoji."""

    emoji: EmojiModel
    """Emoji info."""

    burst_colors: list[str]
    """List of hext colors for the super reaction."""
