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

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from ..core.unchecked_base_model import UncheckedBaseModel


class DeleteGroupSessionParams(UncheckedBaseModel):
    """
    Permanently remove a previously-cancelled group session.

    Group analogue of ``delete_calendar_event``: cancel
    (``cancel_group_session_for_all``) is the soft, history-preserving step;
    this tool is the irreversible follow-up that drops the row from Mongo
    and the staff Google Calendar entirely. The backend rejects the call
    (422) if the session hasn't been cancelled yet, so the only safe path
    is cancel-then-delete.
    """

    smb_tool_type: typing.Optional[typing.Literal["delete_group_session"]] = None

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
