"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .v4_squads_squadmember import V4SquadsSquadMember, V4SquadsSquadMemberTypedDict
import pydantic
from squadcast_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class V4SquadsSquadResponseTypedDict(TypedDict):
    id: str
    org_id: str
    team_id: str
    name: str
    members: List[V4SquadsSquadMemberTypedDict]
    created_at: str
    updated_at: str
    created_by: NotRequired[str]
    updated_by: NotRequired[str]


class V4SquadsSquadResponse(BaseModel):
    id: str

    org_id: str

    team_id: str

    name: str

    members: List[V4SquadsSquadMember]

    created_at: Annotated[str, pydantic.Field(alias="createdAt")]

    updated_at: Annotated[str, pydantic.Field(alias="updatedAt")]

    created_by: Annotated[Optional[str], pydantic.Field(alias="createdBy")] = None

    updated_by: Annotated[Optional[str], pydantic.Field(alias="updatedBy")] = None
