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

from __future__ import annotations
from squadcast_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class V3TeamsAddTeamMemberRequestTypedDict(TypedDict):
    user_id: str
    role_ids: List[str]
    r"""this field is required if you are using RBAC permission model"""
    role: NotRequired[str]
    r"""this field is required if you are using OBAC permission model"""


class V3TeamsAddTeamMemberRequest(BaseModel):
    user_id: str

    role_ids: List[str]
    r"""this field is required if you are using RBAC permission model"""

    role: Optional[str] = None
    r"""this field is required if you are using OBAC permission model"""
