o
    i                     @   s`   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	m
Z
 G dd	 d	ZG d
d dZdS )    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)ListBillingFieldsV1Response   )AsyncRawFieldsClientRawFieldsClientc                   @   f   e Zd ZdefddZedefddZddddd	ed
e	j
e de	j
e de	j
e def
ddZdS )FieldsClientclient_wrapperc                C      t |d| _d S N)r   )r	   _raw_clientselfr    r   e/home/ubuntu/.local/lib/python3.10/site-packages/deepgram/manage/v1/projects/billing/fields/client.py__init__      zFieldsClient.__init__returnc                 C      | j S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawFieldsClient
        r   r   r   r   r   with_raw_response      	zFieldsClient.with_raw_responseNstartendrequest_options
project_idr   r   r   c                C   s   | j j||||d}|jS )a  
        Lists the accessors, deployment types, tags, and line items used for billing data in the specified time period. Use this endpoint if you want to filter your results from the Billing Breakdown endpoint and want to know what filters are available.

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

        start : typing.Optional[str]
            Start date of the requested date range. Format accepted is YYYY-MM-DD

        end : typing.Optional[str]
            End date of the requested date range. Format accepted is YYYY-MM-DD

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

        Returns
        -------
        ListBillingFieldsV1Response
            A list of billing fields for a specific project

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

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.manage.v1.projects.billing.fields.list(
            project_id="123456-7890-1234-5678-901234",
            start="start",
            end="end",
        )
        r   r   listdatar   r    r   r   r   	_responser   r   r   r"      s   +zFieldsClient.list)__name__
__module____qualname__r   r   propertyr	   r   strtypingOptionalr   r   r"   r   r   r   r   r      $    r   c                   @   r
   )AsyncFieldsClientr   c                C   r   r   )r   r   r   r   r   r   r   J   r   zAsyncFieldsClient.__init__r   c                 C   r   )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawFieldsClient
        r   r   r   r   r   r   M   r   z#AsyncFieldsClient.with_raw_responseNr   r    r   r   r   c                   s"   | j j||||dI dH }|jS )a  
        Lists the accessors, deployment types, tags, and line items used for billing data in the specified time period. Use this endpoint if you want to filter your results from the Billing Breakdown endpoint and want to know what filters are available.

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

        start : typing.Optional[str]
            Start date of the requested date range. Format accepted is YYYY-MM-DD

        end : typing.Optional[str]
            End date of the requested date range. Format accepted is YYYY-MM-DD

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

        Returns
        -------
        ListBillingFieldsV1Response
            A list of billing fields for a specific project

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


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


        asyncio.run(main())
        r   Nr!   r$   r   r   r   r"   X   s   3zAsyncFieldsClient.list)r&   r'   r(   r   r   r)   r   r   r*   r+   r,   r   r   r"   r   r   r   r   r.   I   r-   r.   )r+   core.client_wrapperr   r   core.request_optionsr   $types.list_billing_fields_v1responser   
raw_clientr   r	   r   r.   r   r   r   r   <module>   s   >