
    `g{#                         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	 d dl
mZmZmZ d dlmZmZmZmZ erd dlmZ d d	lmZ d d
lmZ  G d ded         Zy)    )ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarListOptional)LiteralNotRequiredUnpackTYPE_CHECKING)Invoice)CreditGrant)	TestClockc                      e Zd ZU dZdZeed      ed<    G d de      Z	 G d de      Z
 G d d	e      Z G d
 de      Zeed<   	 ee	   ed<   	 ed   ed<   	 ee
   ed<   	 eed<   	 eed<   	 eed<   	 ed   ed<   	 eed      ed<   	 eed      ed<   	 eded   ded    fd       Zeded   ded    fd       Zededed   dd fd       Zededed   dd fd        Ze	e
dZy!)"CreditBalanceTransactionz
    A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant.
    z"billing.credit_balance_transactionOBJECT_NAMEc                   r    e Zd ZU  G d de      Z G d de      Zeed<   ee   ed<   	 ed   ed<   	 eed	Z	y
)CreditBalanceTransaction.Creditc                   P    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 deiZy)&CreditBalanceTransaction.Credit.Amountc                   $    e Zd ZU eed<   	 eed<   y)/CreditBalanceTransaction.Credit.Amount.MonetarycurrencyvalueN__name__
__module____qualname__str__annotations__int     g/var/www/html/Manimaran/venv/lib/python3.12/site-packages/stripe/billing/_credit_balance_transaction.pyMonetaryr           
r%   r'   monetarytypeN	r   r   r    r   r'   r
   r"   r   _inner_class_typesr$   r%   r&   Amountr      ?    <  x(( *%% #-h!7r%   r-   c                   *    e Zd ZU ed   ed<   	 eed<   y)?CreditBalanceTransaction.Credit.CreditsApplicationInvoiceVoidedr   invoiceinvoice_line_itemNr   r   r    r   r"   r!   r$   r%   r&   CreditsApplicationInvoiceVoidedr0   2       $Y//  #"r%   r4   amount"credits_application_invoice_voided)r7   credits_grantedr*   )r6   r7   N)
r   r   r    r   r-   r4   r"   r
   r   r,   r$   r%   r&   Creditr      sY    	8\ 	8*	l 	 ,4+-
 	
	 MNN	 2Q
r%   r9   c                   r    e Zd ZU  G d de      Z G d de      Zeed<   ee   ed<   	 ed   ed<   	 eed	Z	y
)CreditBalanceTransaction.Debitc                   P    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 deiZy)%CreditBalanceTransaction.Debit.Amountc                   $    e Zd ZU eed<   	 eed<   y).CreditBalanceTransaction.Debit.Amount.Monetaryr   r   Nr   r$   r%   r&   r'   r?   N   r(   r%   r'   r)   r*   Nr+   r$   r%   r&   r-   r=   M   r.   r%   r-   c                   *    e Zd ZU ed   ed<   	 eed<   y)-CreditBalanceTransaction.Debit.CreditsAppliedr   r1   r2   Nr3   r$   r%   r&   CreditsAppliedrA   b   r5   r%   rB   r6   credits_applied)rC   credits_expiredcredits_voidedr*   )r6   rC   N)
r   r   r    r   r-   rB   r"   r
   r   r,   r$   r%   r&   Debitr;   L   sT    	8\ 	8*	\ 	 !.11	 LMM	 -
r%   rF   c                   x    e Zd ZU ee   ed<   	 eed<   	 ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   y)#CreditBalanceTransaction.ListParamscredit_grantcustomerending_beforeexpandlimitstarting_afterN)r   r   r    r   r!   r"   r	   r#   r$   r%   r&   
ListParamsrH   z   sj    !#&&	 	 #3''	 DI&&	 3	 $C((	r%   rO   c                   $    e Zd ZU eee      ed<   y)'CreditBalanceTransaction.RetrieveParamsrL   N)r   r   r    r   r	   r!   r"   r$   r%   r&   RetrieveParamsrQ      s    DI&&	r%   rR   createdcreditr   rI   debiteffective_atidlivemodeobjectr   
test_clock)rT   rU   r*   paramsrH   returnc                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )A
        Retrieve a list of credit balance transactions.
        getr[   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorr*   r   clsr[   results      r&   listzCreditBalanceTransaction.list   s]     $$MMO % 

 &*-7<((* 
 r%   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r^   r_   r`   Nra   )_static_request_asyncrc   rd   r   re   r*   r   rf   s      r&   
list_asyncz#CreditBalanceTransaction.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"rQ   c                 8     | |fi |}|j                          |S )9
        Retrieves a credit balance transaction.
        )refreshrg   rW   r[   instances       r&   retrievez!CreditBalanceTransaction.retrieve   s$     r$V$r%   c                 T   K    | |fi |}|j                          d{    |S 7 w)rn   N)refresh_asyncrp   s       r&   retrieve_asyncz'CreditBalanceTransaction.retrieve_async   s3      r$V$$$&&& 	's   (&(N)r   r   r    __doc__r   r   r   r"   r   r9   rF   r   rO   rR   r#   r
   r   r!   boolclassmethodr   r   ri   rl   rr   ru   r,   r$   r%   r&   r   r      s   
 	- '"FGH .
 .
`,
 ,
\^ 4  L V "-00 E?  	G N 899 566 7,-
.. CD	.	/ & CD	.	/ & 

 BC
 
$	
 
 

 BC
 
$	
 
 %+U;r%   r   N)stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   typingr   r	   r
   typing_extensionsr   r   r   r   stripe._invoicer   stripe.billing._credit_grantr   stripe.test_helpers._test_clockr   r   r$   r%   r&   <module>r      sC    5 * = 2 . + + I I'89t<23t<r%   