o
    i                     @   sl   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 e	r*d dl
mZ d dlmZ G dd ded Zd	S )
    )
ListObject)ListableAPIResource)ClassVar)LiteralUnpackTYPE_CHECKING)TaxCodeListParams)TaxCodeRetrieveParamsc                   @   s   e Zd ZU dZdZeed  ed< eed< 	 eed< 	 eed< 	 ed ed< 	 e	de
d	 d
ed  fddZe	de
d	 d
ed  fddZe	dede
d d
d fddZe	dede
d d
d fddZdS )TaxCodezo
    [Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes.
    tax_codeOBJECT_NAMEdescriptionidnameobjectparamsr   returnc                 K   s4   | j d|  |d}t|tstdt|j |S )
        A list of [all tax codes available](https://stripe.com/docs/tax/tax-categories) to add to Products in order to allow specific tax calculations.
        getr   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrortype__name__clsr   result r    p/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_tax_code.pylist$   s   
zTaxCode.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )r   r   r   Nr   )_static_request_asyncr   r   r   r   r   r   r   r    r    r!   
list_async8   s   
zTaxCode.list_asyncr	   c                 K   s   | |fi |}|   |S )
        Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information.
        )refreshr   r   r   instancer    r    r!   retrieveL   s   zTaxCode.retrievec                    s$   | |fi |}|  I dH  |S )r%   N)refresh_asyncr'   r    r    r!   retrieve_asyncW   s   zTaxCode.retrieve_asyncN)r   
__module____qualname____doc__r   r   r   __annotations__strclassmethodr   r   r"   r$   r)   r+   r    r    r    r!   r
      sN   
 
r
   N)stripe._list_objectr   stripe._listable_api_resourcer   typingr   typing_extensionsr   r   r   #stripe.params._tax_code_list_paramsr   'stripe.params._tax_code_retrieve_paramsr	   r
   r    r    r    r!   <module>   s   