# This file was auto-generated by Fern from our API Definition.

import datetime as dt
import typing

import pydantic
from ..core.pydantic_utilities import UniversalBaseModel
from .group_source import GroupSource


class Group(UniversalBaseModel):
    created_at: dt.datetime = pydantic.Field()
    """
    Creation timestamp
    """

    creator_id: typing.Optional[str] = pydantic.Field(default=None)
    """
    ID of group creator
    """

    emoji: str = pydantic.Field()
    """
    Group emoji for UI display
    """

    id: str = pydantic.Field()
    """
    Group ID
    """

    member_count: int = pydantic.Field()
    """
    Number of members in group
    """

    name: str = pydantic.Field()
    """
    Group name
    """

    source: GroupSource = pydantic.Field()
    """
    Group source
    """

    updated_at: dt.datetime = pydantic.Field()
    """
    Update timestamp
    """

    model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
