o
    i                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZmZmZ er4d dlmZ d dlmZ G dd	 d	ed	 Zd
S )    )ExpandableField)SingletonAPIResource)StripeObject)ClassVarListOptional)LiteralUnpackTYPE_CHECKING)Customer)"CreditBalanceSummaryRetrieveParamsc                   @   s   e Zd ZU dZdZeed  ed< G dd deZ	e
e	 ed< 	 ed ed< 	 eed	< 	 ed ed
< 	 eded dd fddZeded dd fddZedd Zde	iZdS )CreditBalanceSummaryzY
    Indicates the billing credit balance for billing credits granted to a customer.
    zbilling.credit_balance_summaryOBJECT_NAMEc                   @   sH   e Zd ZU G dd deZG dd deZeed< eed< eedZdS )	zCreditBalanceSummary.Balancec                   @   B   e Zd ZU G dd deZee ed< 	 ed ed< 	 deiZdS )z-CreditBalanceSummary.Balance.AvailableBalancec                   @       e Zd ZU eed< 	 eed< dS )z6CreditBalanceSummary.Balance.AvailableBalance.MonetarycurrencyvalueN__name__
__module____qualname__str__annotations__int r   r   /var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/billing/_credit_balance_summary.pyMonetary   
   
 r   monetarytypeN	r   r   r   r   r   r   r   r   _inner_class_typesr   r   r   r   AvailableBalance      
 
r"   c                   @   r   )z*CreditBalanceSummary.Balance.LedgerBalancec                   @   r   )z3CreditBalanceSummary.Balance.LedgerBalance.Monetaryr   r   Nr   r   r   r   r   r   0   r   r   r   r   Nr    r   r   r   r   LedgerBalance/   r#   r$   available_balanceledger_balance)r%   r&   N)r   r   r   r   r"   r$   r   r!   r   r   r   r   Balance   s   
 
r'   balancesr   customerlivemodeobjectparamsr   returnc                 K   s   | di |}|   |S zF
        Retrieves the credit balance summary for a customer.
        N)N)refreshclsr,   instancer   r   r   retrieve\   s   zCreditBalanceSummary.retrievec                    s"   | di |}|  I dH  |S r.   )refresh_asyncr0   r   r   r   retrieve_asyncg   s   z#CreditBalanceSummary.retrieve_asyncc                 C   s   dS )Nz"/v1/billing/credit_balance_summaryr   )r1   r   r   r   	class_urlr   s   zCreditBalanceSummary.class_urlN)r   r   r   __doc__r   r   r   r   r   r'   r   r   boolclassmethodr	   r3   r5   r6   r!   r   r   r   r   r      s8   
 2


r   N)stripe._expandable_fieldr   stripe._singleton_api_resourcer   stripe._stripe_objectr   typingr   r   r   typing_extensionsr   r	   r
   stripe._customerr   =stripe.params.billing._credit_balance_summary_retrieve_paramsr   r   r   r   r   r   <module>   s   