
    Ai2                         d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	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	ed	   ed	         Zy
)    )SingletonAPIResource)StripeObject)UpdateableAPIResource)ClassVarListOptionalcast)LiteralUnpackTYPE_CHECKING)SettingsModifyParams)SettingsRetrieveParamsc                   `   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e	ed
<   ee
   ed<   	 eed<   	 ed   ed<   	 ed   ed<   	 eed<   eded   dd fd       Zeded   dd fd       Zeded   dd fd       Zeded   dd fd       Zed        Ze	e
edZy)Settingsz
    You can use Tax `Settings` to manage configurations used by Stripe Tax calculations.

    Related guide: [Using the Settings API](https://stripe.com/docs/tax/settings-api)
    ztax.settingsOBJECT_NAMEc                   H    e Zd ZU ed   ed<   	 eed      ed<   	 ee   ed<   y)Settings.Defaults)anrokavalaraspherestripeprovider)	exclusive	inclusiveinferred_by_currencytax_behaviortax_codeN)__name__
__module____qualname__r
   __annotations__r   str     G/var/www/html/immo/lib/python3.12/site-packages/stripe/tax/_settings.pyDefaultsr      sA    @AA	 DE
 	
	 3-	r$   r&   c                   6    e Zd ZU  G d de      Zeed<   deiZy)Settings.HeadOfficec                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Settings.HeadOffice.Addresscitycountryline1line2postal_codestateN)r   r   r    r   r"   r!   r#   r$   r%   Addressr*   -   sf    3- c]" C=  C=  "#& C= r$   r1   addressN)r   r   r    r   r1   r!   _inner_class_typesr#   r$   r%   
HeadOfficer(   ,   s!    	l 	4 '1r$   r4   c                   d    e Zd ZU  G d de      Z G d de      Zee   ed<   ee   ed<   eedZy)	Settings.StatusDetailsc                       e Zd Zy)Settings.StatusDetails.ActiveN)r   r   r    r#   r$   r%   Activer8   K   s    r$   r9   c                   $    e Zd ZU eee      ed<   y)Settings.StatusDetails.Pendingmissing_fieldsN)r   r   r    r   r   r"   r!   r#   r$   r%   Pendingr;   N   s    $T#Y//r$   r=   activependingr>   r?   N)	r   r   r    r   r9   r=   r   r!   r3   r#   r$   r%   StatusDetailsr6   J   s=    	\ 		l 	   '""(.7Cr$   rA   defaultshead_officelivemodeobjectr@   statusstatus_detailsparamsr   returnc                 Z    t        d| j                  d| j                         |            S )
        Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.
        r   postrH   )r	   _static_request	class_urlclsrH   s     r%   modifyzSettings.modifyk   s6    
    
 	
r$   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rK   r   rL   rM   N)r	   _static_request_asyncrO   rP   s     r%   modify_asynczSettings.modify_asyncy   sD      ++ ,  
 	
s   ,97
	9r   c                 6     | di |}|j                          |S )8
        Retrieves Tax Settings for a merchant.
        N)refreshrQ   rH   instances      r%   retrievezSettings.retrieve   s"     &v&r$   c                 R   K    | di |}|j                          d{    |S 7 w)rW   NrX   )refresh_asyncrZ   s      r%   retrieve_asynczSettings.retrieve_async   s1      &v&$$&&& 	's   '%'c                      y)Nz/v1/tax/settingsr#   )rQ   s    r%   rO   zSettings.class_url   s    !r$   )rB   rC   rG   N)r   r   r    __doc__r   r   r
   r!   r   r&   r4   rA   r   boolclassmethodr   rR   rU   r\   r_   rO   r3   r#   r$   r%   r   r      s`    6DK'.12C<  2\ 2<D D *%% N N## '(( "!
f%;< 
 
 
 
45
	
 
 67	  67	  " " !'r$   r   N)stripe._singleton_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   typingr   r   r   r	   typing_extensionsr
   r   r   )stripe.params.tax._settings_modify_paramsr   +stripe.params.tax._settings_retrieve_paramsr   r   r#   r$   r%   <module>rk      sD    @ . A 1 1 < <N
W$*%Wr$   