
    <@g;                         d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZmZmZmZ d dlmZmZmZ  G d ded         Zy	)
    )
ListObject)ListableAPIResource)RequestOptions)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequiredUnpackc                      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d<   	 eed<   	 eeeef      ed<   	 ee   ed<   	 ed   ed<   	 ed   ed<   	 eed<   	 ededed   dd fd       Zeededed   dd fd              Zeded   dd fd       Z ed      ded   dd fd       Zededed   dd fd       Zeededed   dd fd              Zeded   dd fd        Z ed!      ded   dd fd"       Z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deded)   dd fd*       Z eededed)   dd fd+              Z!eded)   dd fd,       Z! ed-      ded)   dd fd.       Z!ededed)   dd fd/       Z"eededed)   dd fd0              Z#eded)   dd fd1       Z# ed2      ded)   dd fd3       Z#y4)5InvoiceRenderingTemplatez
    Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates
    can be created from within the Dashboard, and they can be used over the API when creating invoices.
    invoice_rendering_templateOBJECT_NAMEc                   $    e Zd ZU eee      ed<   y)&InvoiceRenderingTemplate.ArchiveParamsexpandN__name__
__module____qualname__r   r
   str__annotations__     a/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_invoice_rendering_template.pyArchiveParamsr          DI&&	r   r!   c                   r    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   y)#InvoiceRenderingTemplate.ListParamsending_beforer   limitstarting_afteractivearchivedstatusN)	r   r   r   r   r   r   r
   intr   r   r   r    
ListParamsr$      s_    "3''	 DI&&	 3	 $C((	 G$89::r   r-   c                   6    e Zd ZU eee      ed<   	 ee   ed<   y)'InvoiceRenderingTemplate.RetrieveParamsr   versionN)r   r   r   r   r
   r   r   r,   r   r   r    RetrieveParamsr/   0   s#    DI&&	 S!!r   r1   c                   $    e Zd ZU eee      ed<   y)(InvoiceRenderingTemplate.UnarchiveParamsr   Nr   r   r   r    UnarchiveParamsr3   7   r"   r   r4   createdidlivemodemetadatanicknameobjectr(   r+   r0   templateparamsr   returnc                 p    t        d| j                  ddj                  t        |            |            S )@  
        Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it.
        r   post2/v1/invoice_rendering_templates/{template}/archiver;   r<   r   _static_requestformatr   clsr;   r<   s      r    _cls_archivez%InvoiceRenderingTemplate._cls_archive^   sK     &DKK(2 L     	
 		
r   c                      yr?   Nr   r;   r<   s     r    archivez InvoiceRenderingTemplate.archiver        	r   c                      yrK   r   selfr<   s     r    rM   z InvoiceRenderingTemplate.archive}        	r   rI   c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r?   r   r@   rA   r6   rB   rC   r   _requestrF   r   getrP   s     r    rM   z InvoiceRenderingTemplate.archive   sQ     &MMDKK($8 L    	
 		
r   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r?   r   r@   rA   rB   rC   Nr   _static_request_asyncrF   r   rG   s      r    _cls_archive_asyncz+InvoiceRenderingTemplate._cls_archive_async   sY      &++DKK(2 L   ,  	
 		
   7AA
	Ac                    K   ywrK   r   rL   s     r    archive_asyncz&InvoiceRenderingTemplate.archive_async         	   c                    K   ywrK   r   rP   s     r    r]   z&InvoiceRenderingTemplate.archive_async         	r_   rZ   c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r?   r   r@   rA   r6   rB   rC   Nr   _request_asyncrF   r   rV   rP   s     r    r]   z&InvoiceRenderingTemplate.archive_async   sa      &%%DKK($8 L   &  	
 		
   AAA
		Ar$   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )x
        List all templates, ordered by creation date, with the most recently created template appearing first.
        rV   rC   %Expected list object from API, got %s)rE   	class_url
isinstancer   	TypeErrortyper   rH   r<   results      r    listzInvoiceRenderingTemplate.list   s]     $$MMO % 

 &*-7<((* 
 r   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rg   rV   rC   Nrh   )rY   ri   rj   r   rk   rl   r   rm   s      r    
list_asyncz#InvoiceRenderingTemplate.list_async   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r/   c                 8     | |fi |}|j                          |S )
        Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions.
        )refreshrH   r6   r<   instances       r    retrievez!InvoiceRenderingTemplate.retrieve   s$     r$V$r   c                 T   K    | |fi |}|j                          d{    |S 7 w)rs   N)refresh_asyncru   s       r    retrieve_asyncz'InvoiceRenderingTemplate.retrieve_async  s3      r$V$$$&&& 	's   (&(r3   c                 p    t        d| j                  ddj                  t        |            |            S )h
        Unarchive an invoice rendering template so it can be used on new Stripe objects again.
        r   r@   4/v1/invoice_rendering_templates/{template}/unarchiverB   rC   rD   rG   s      r    _cls_unarchivez'InvoiceRenderingTemplate._cls_unarchive  sK     &FMM(2 N     	
 		
r   c                      yr|   Nr   rL   s     r    	unarchivez"InvoiceRenderingTemplate.unarchive(  rN   r   c                      yr   r   rP   s     r    r   z"InvoiceRenderingTemplate.unarchive3  rR   r   r~   c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r|   r   r@   r}   r6   rB   rC   rT   rP   s     r    r   z"InvoiceRenderingTemplate.unarchive<  sQ     &MMFMM($8 N    	
 		
r   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r|   r   r@   r}   rB   rC   NrX   rG   s      r    _cls_unarchive_asyncz-InvoiceRenderingTemplate._cls_unarchive_asyncN  sY      &++FMM(2 N   ,  	
 		
r[   c                    K   ywr   r   rL   s     r    unarchive_asyncz(InvoiceRenderingTemplate.unarchive_asyncb  r^   r_   c                    K   ywr   r   rP   s     r    r   z(InvoiceRenderingTemplate.unarchive_asyncm  ra   r_   r   c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r|   r   r@   r}   r6   rB   rC   Nrc   rP   s     r    r   z(InvoiceRenderingTemplate.unarchive_asyncv  sa      &%%FMM($8 N   &  	
 		
re   N)$r   r   r   __doc__r   r   r   r   r   r!   r-   r1   r4   r,   r   boolr   r	   classmethodr   rI   r   staticmethodrM   r   rZ   r]   r   ro   rq   rw   rz   r~   r   r   r   r   r   r    r   r      s    	% '">?@  ;^ ;&" ".  L 	G N tCH~&& sm 011 ()) L 

 AB
 
$	
 
& AB 
$   GH	#  .)
GH
	#
 *
" 

 AB
 
$	
 
& AB 
$   GH	#  ./
GH
	#
 0
" CD	.	/ & CD	.	/ & 

 BC
 
$	
 
 

 BC
 
$	
 
 

 CD
 
$	
 
& CD 
$   IJ	#  *+
IJ
	#
 ,
" 

 CD
 
$	
 
& CD 
$   IJ	#  01
IJ
	#
 2
r   r   N)stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._utilr   r   typingr   r	   r
   r   r   r   typing_extensionsr   r   r   r   r   r   r    <module>r      s4    + = 2 : A A : :{
23{
r   