
    b6i                         d dl Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZmZ  e j                  e j                  d	      Z G d
 d      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)$AddWorkspaceGroupMemberResponseModel)'DeleteWorkspaceGroupMemberResponseModel   )AsyncRawMembersClientRawMembersClient.c            	           e Zd ZdefdZedefd       Zdddeded	e	j                  e   defd
Zdddeded	e	j                  e   defdZy)MembersClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     u/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/workspace/groups/members/client.py__init__zMembersClient.__init__   s    +>J    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawMembersClient
        r   r   s    r   with_raw_responsezMembersClient.with_raw_response        r   Nrequest_optionsgroup_idemailr   c                V    | j                   j                  |||      }|j                  S )a   
        Removes a member from the specified group. Requires `group_members_manage` permission.

        Parameters
        ----------
        group_id : str
            The ID of the target group.

        email : str
            The email of the target workspace member.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        DeleteWorkspaceGroupMemberResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.workspace.groups.members.remove(
            group_id="group_id",
            email="email",
        )
        r    r   r   removedatar   r   r    r   	_responses        r   r$   zMembersClient.remove   s-    D $$++HESb+c	~~r   c                V    | j                   j                  |||      }|j                  S )a  
        Adds a member of your workspace to the specified group. Requires `group_members_manage` permission.

        Parameters
        ----------
        group_id : str
            The ID of the target group.

        email : str
            The email of the target workspace member.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AddWorkspaceGroupMemberResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.workspace.groups.members.add(
            group_id="group_id",
            email="email",
        )
        r"   r   addr%   r&   s        r   r*   zMembersClient.addC   s-    D $$((P_(`	~~r   )__name__
__module____qualname__r   r   propertyr   r   strtypingOptionalr   r   r$   r   r*    r   r   r   r      s    K*; K  #3     `d##'*#=C__^=\#	0#L `d##'*#=C__^=\#	-#r   r   c            	           e Zd ZdefdZedefd       Zdddeded	e	j                  e   defd
Zdddeded	e	j                  e   defdZy)AsyncMembersClientr   c                &    t        |      | _        y r   )r
   r   r   s     r   r   zAsyncMembersClient.__init__j   s    0Or   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawMembersClient
        r   r   s    r   r   z$AsyncMembersClient.with_raw_responsem   r   r   Nr   r   r    r   c                r   K   | j                   j                  |||       d{   }|j                  S 7 w)az  
        Removes a member from the specified group. Requires `group_members_manage` permission.

        Parameters
        ----------
        group_id : str
            The ID of the target group.

        email : str
            The email of the target workspace member.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        DeleteWorkspaceGroupMemberResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.workspace.groups.members.remove(
                group_id="group_id",
                email="email",
            )


        asyncio.run(main())
        r"   Nr#   r&   s        r   r$   zAsyncMembersClient.removex   s:     T **11(%Yh1ii	~~ j   "757c                r   K   | j                   j                  |||       d{   }|j                  S 7 w)a  
        Adds a member of your workspace to the specified group. Requires `group_members_manage` permission.

        Parameters
        ----------
        group_id : str
            The ID of the target group.

        email : str
            The email of the target workspace member.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AddWorkspaceGroupMemberResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.workspace.groups.members.add(
                group_id="group_id",
                email="email",
            )


        asyncio.run(main())
        r"   Nr)   r&   s        r   r*   zAsyncMembersClient.add   s:     T **..xuVe.ff	~~ gr8   )r+   r,   r-   r   r   r.   r
   r   r/   r0   r1   r   r   r$   r   r*   r2   r   r   r4   r4   i   s    P*< P  #8     `d++'*+=C__^=\+	0+\ `d++'*+=C__^=\+	-+r   r4   )r0   core.client_wrapperr   r   core.request_optionsr   /types.add_workspace_group_member_response_modelr   2types.delete_workspace_group_member_response_modelr   
raw_clientr
   r   castAnyOMITr   r4   r2   r   r   <module>rB      sJ     I 3 d j ? v{{6::s#W Wtg gr   