"""
This program has been developed by students from the bachelor Computer Science at Utrecht
University within the Software Project course.
© Copyright Utrecht University (Department of Information and Computing Sciences)
"""

from pydantic import BaseModel

from control_backend.schemas.program import BaseGoal
from control_backend.schemas.program import Belief as ProgramBelief


class BeliefList(BaseModel):
    """
    Represents a list of beliefs, separated from a program. Useful in agents which need to
    communicate beliefs.

    :ivar: beliefs: The list of beliefs.
    """

    beliefs: list[ProgramBelief]


class GoalList(BaseModel):
    """
    Represents a list of goals, used for communicating multiple goals between agents.

    :ivar goals: The list of goals.
    """

    goals: list[BaseGoal]
