o
    lWiA                     @   s   d dl Z d dlmZ ddlmZ ddlmZm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 ddlmZ G dd dZG dd dZdS )    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)RequestOptions)construct_type)UnprocessableEntityError)HttpValidationError)Modelc                   @   B   e Zd ZdefddZdddeje deej	e
  fdd	ZdS )
RawModelsClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r   `/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/models/raw_client.py__init__      
zRawModelsClient.__init__Nrequest_optionsr   returnc             	   C   s   | j jjdd|d}zDd|j  krdk r1n nttjt ttjt |	 d}t
||dW S |jdkrItt|jtttt|	 dd	|	 }W n tya   t|jt|j|jd
w t|jt|j|d
)a)  
        Gets a list of available models.

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

        Returns
        -------
        HttpResponse[typing.List[Model]]
            Successful Response
        	v1/modelsGETmethodr      ,  type_object_responsedata  headersbodystatus_coder,   r-   )r   httpx_clientrequestr/   typingcastListr   r
   jsonr   r   dictr,   r   r   r   textr   r   	_response_data_response_jsonr   r   r   list   s>   

zRawModelsClient.list)__name__
__module____qualname__r   r   r2   Optionalr	   r   r4   r   r<   r   r   r   r   r      s    ,r   c                   @   r   )
AsyncRawModelsClientr   c                C   r   r   r   r   r   r   r   r   C   r   zAsyncRawModelsClient.__init__Nr   r   r   c             	      s   | j jjdd|dI dH }zDd|j  krdk r5n nttjt ttjt |	 d}t
||dW S |jd	krMtt|jtttt|	 dd
|	 }W n tye   t|jt|j|jdw t|jt|j|d)a.  
        Gets a list of available models.

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

        Returns
        -------
        AsyncHttpResponse[typing.List[Model]]
            Successful Response
        r   r   r    Nr"   r#   r$   r'   r*   r+   r.   )r   r0   r1   r/   r2   r3   r4   r   r
   r5   r   r   r6   r,   r   r   r   r7   r8   r   r   r   r<   F   s@   

zAsyncRawModelsClient.list)r=   r>   r?   r   r   r2   r@   r	   r   r4   r   r<   r   r   r   r   rA   B   s    rA   )r2   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r   core.request_optionsr	   core.unchecked_base_modelr
   !errors.unprocessable_entity_errorr   types.http_validation_errorr   types.modelr   r   rA   r   r   r   r   <module>   s   2