
    _jk                         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d
S )    )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dS )Settingsz
    You can use Tax `Settings` to manage configurations used by Stripe Tax calculations.

    Related guide: [Using the Settings API](https://docs.stripe.com/tax/settings-api)
    ztax.settingsOBJECT_NAMEc                   b    e Zd ZU ed         ed<   	 eed                  ed<   	 ee         ed<   dS )Settings.Defaults)anrokavalaraspherestripeprovider)	exclusive	inclusiveinferred_by_currencytax_behaviortax_codeN)__name__
__module____qualname__r
   __annotations__r   str     X/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/tax/_settings.pyDefaultsr      sf         @AAAA	 DE
 	
 	
 	
	 3-	 	r$   r&   c                   >    e Zd ZU  G d de          Zeed<   deiZdS )Settings.HeadOfficec                       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<   dS )Settings.HeadOffice.Addresscitycountryline1line2postal_codestateN)r   r   r    r   r"   r!   r#   r$   r%   Addressr*   -   s         3- c]""" C=    C=    "#&&& C=    r$   r1   addressN)r   r   r    r   r1   r!   _inner_class_typesr#   r$   r%   
HeadOfficer(   ,   sU         	 	 	 	 	l 	 	 	4 '1r$   r4   c                   ~    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dS )	Settings.StatusDetailsc                       e Zd ZdS )Settings.StatusDetails.ActiveN)r   r   r    r#   r$   r%   Activer8   K   s        Dr$   r9   c                   2    e Zd ZU eee                  ed<   dS )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Cr$   rA   defaultshead_officelivemodeobjectr@   statusstatus_detailsparamsr   returnc                 r    t          d|                     d|                                 |                    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   sB    
     
 
 	
r$   c                    K   t          d|                     d|                                 |           d{V           S )rK   r   rL   rM   N)r	   _static_request_asyncrO   rP   s     r%   modify_asynczSettings.modify_asyncy   sd       ++ ,        
 
 	
r$   r   c                 >     | di |}|                                  |S z8
        Retrieves Tax Settings for a merchant.
        N)N)refreshrQ   rH   instances      r%   retrievezSettings.retrieve   s0     3&&v&&r$   c                 N   K    | di |}|                                  d{V  |S rW   )refresh_asyncrY   s      r%   retrieve_asynczSettings.retrieve_async   sF       3&&v&&$$&&&&&&&&&r$   c                     dS )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      s9          6DK'.12CCC    <    2 2 2 2 2\ 2 2 2<D D D D D D D D *%%%% NNN 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>rj      s   @ ? ? ? ? ? . . . . . . A A A A A A 1 1 1 1 1 1 1 1 1 1 1 1 < < < < < < < < < < NNNNNN     
W W W W W$*%W W W W Wr$   