o
    iQ                     @   sl   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 G d	d
 d
ZG dd dZdS )    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)GetProjectBalanceV1Response)ListProjectBalancesV1Response   )AsyncRawBalancesClientRawBalancesClientc                	   @   t   e Zd ZdefddZedefddZddd	ed
e	j
e defddZddd	eded
e	j
e defddZdS )BalancesClientclient_wrapperc                C      t |d| _d S N)r   )r
   _raw_clientselfr    r   g/home/ubuntu/.local/lib/python3.10/site-packages/deepgram/manage/v1/projects/billing/balances/client.py__init__      zBalancesClient.__init__returnc                 C      | j S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawBalancesClient
        r   r   r   r   r   with_raw_response      	z BalancesClient.with_raw_responseNrequest_options
project_idr   c                C   s   | j j||d}|jS )a  
        Generates a list of outstanding balances for the specified project

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

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

        Returns
        -------
        ListProjectBalancesV1Response
            A list of outstanding balances

        Examples
        --------
        from deepgram import DeepgramClient

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.billing.balances.list(
            project_id="123456-7890-1234-5678-901234",
        )
        r   r   listdatar   r   r   	_responser   r   r   r!      s   zBalancesClient.list
balance_idc                C   s   | j j|||d}|jS )a  
        Retrieves details about the specified balance

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

        balance_id : str
            The unique identifier of the balance

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

        Returns
        -------
        GetProjectBalanceV1Response
            A specific balance

        Examples
        --------
        from deepgram import DeepgramClient

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.billing.balances.get(
            project_id="123456-7890-1234-5678-901234",
            balance_id="123456-7890-1234-5678-901234",
        )
        r   r   getr"   r   r   r%   r   r$   r   r   r   r'   <   s   "zBalancesClient.get)__name__
__module____qualname__r   r   propertyr
   r   strtypingOptionalr   r   r!   r   r'   r   r   r   r   r      s,    
"r   c                	   @   r   )AsyncBalancesClientr   c                C   r   r   )r	   r   r   r   r   r   r   c   r   zAsyncBalancesClient.__init__r   c                 C   r   )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawBalancesClient
        r   r   r   r   r   r   f   r   z%AsyncBalancesClient.with_raw_responseNr   r   r   c                   s   | j j||dI dH }|jS )a-  
        Generates a list of outstanding balances for the specified project

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

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

        Returns
        -------
        ListProjectBalancesV1Response
            A list of outstanding balances

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.manage.v1.projects.billing.balances.list(
                project_id="123456-7890-1234-5678-901234",
            )


        asyncio.run(main())
        r   Nr    r#   r   r   r   r!   q   s   &zAsyncBalancesClient.listr%   c                   s    | j j|||dI dH }|jS )a  
        Retrieves details about the specified balance

        Parameters
        ----------
        project_id : str
            The unique identifier of the project

        balance_id : str
            The unique identifier of the balance

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

        Returns
        -------
        GetProjectBalanceV1Response
            A specific balance

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.manage.v1.projects.billing.balances.get(
                project_id="123456-7890-1234-5678-901234",
                balance_id="123456-7890-1234-5678-901234",
            )


        asyncio.run(main())
        r   Nr&   r(   r   r   r   r'      s   *zAsyncBalancesClient.get)r)   r*   r+   r   r   r,   r	   r   r-   r.   r/   r   r   r!   r   r'   r   r   r   r   r0   b   s,    
*r0   )r.   core.client_wrapperr   r   core.request_optionsr   $types.get_project_balance_v1responser   &types.list_project_balances_v1responser   
raw_clientr	   r
   r   r0   r   r   r   r   <module>   s   V