
    h                         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mZ d dlmZmZmZmZ  G d ded   ed         Zy	)
    )RequestOptions)SingletonAPIResource)StripeObject)UpdateableAPIResource)ClassVarListOptionalcast)LiteralNotRequired	TypedDict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 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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                   6    e Zd ZU eed      ed<   	 ee   ed<   y)Settings.Defaults	exclusive	inclusiveinferred_by_currencytax_behaviortax_codeN)__name__
__module____qualname__r	   r   __annotations__str     T/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/tax/_settings.pyDefaultsr      s.    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    r-   addressN)r   r   r   r   r-   r   _inner_class_typesr   r    r!   
HeadOfficer$   #   s!    	l 	4 '1r    r0   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!   Activer4   B   s    r    r5   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!   Pendingr7   E   s    $T#Y//r    r9   activependingr:   r;   N)	r   r   r   r   r5   r9   r	   r   r/   r   r    r!   StatusDetailsr2   A   s=    	\ 		l 	   '""(.7Cr    r=   c                   H    e Zd ZU ed   ed<   	 eee      ed<   	 ed   ed<   y)Settings.ModifyParamsSettings.ModifyParamsDefaultsdefaultsexpandSettings.ModifyParamsHeadOfficehead_officeN)r   r   r   r   r   r   r   r   r    r!   ModifyParamsr?   O   s<    =>>	 DI&&	 !!BCC	r    rE   c                   6    e Zd ZU eed      ed<   	 ee   ed<   y)r@   r   r   r   N)r   r   r   r   r   r   r   r   r    r!   ModifyParamsDefaultszSettings.ModifyParamsDefaults]   s/    !DE
 	
	 c""	r    rG   c                       e Zd ZU ded<   y)rC   &Settings.ModifyParamsHeadOfficeAddressr.   N)r   r   r   r   r   r    r!   ModifyParamsHeadOfficezSettings.ModifyParamsHeadOfficei   s    99	r    rJ   c                   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)rI   r'   r(   r)   r*   r+   r,   N)r   r   r   r   r   r   r   r    r!   ModifyParamsHeadOfficeAddressz&Settings.ModifyParamsHeadOfficeAddresso   sl    #	 S!!	 3	 3	 !%%	 3	r    rL   c                   $    e Zd ZU eee      ed<   y)Settings.RetrieveParamsrB   N)r   r   r   r   r   r   r   r   r    r!   RetrieveParamsrN      s    DI&&	r    rO   rA   rD   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rT   )r
   _static_request	class_urlclsrT   s     r!   modifyzSettings.modify   s6    
    
 	
r    c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rW   r   rX   rY   N)r
   _static_request_asyncr[   r\   s     r!   modify_asynczSettings.modify_async   sD      ++ ,  
 	
s   ,97
	9rN   c                 6     | di |}|j                          |S )8
        Retrieves Tax Settings for a merchant.
        N)refreshr]   rT   instances      r!   retrievezSettings.retrieve   s"     &v&r    c                 R   K    | di |}|j                          d{    |S 7 w)rc   Nrd   )refresh_asyncrf   s      r!   retrieve_asynczSettings.retrieve_async   s1      &v&$$&&& 	's   '%'c                      y)Nz/v1/tax/settingsr   )r]   s    r!   r[   zSettings.class_url   s    !r    )rA   rD   rS   N)r   r   r   __doc__r   r   r   r   r   r"   r0   r=   r   rE   r   rG   rJ   rL   rO   r	   boolclassmethodr   r^   ra   rh   rk   r[   r/   r   r    r!   r   r      s    6DK'.12C
< 
2\ 2<D D~ 
y 
 	 4  *%% N N## '(( "!
f%<= 
* 
 
 
56
	
 
 78	  78	  " " !'r    r   N)stripe._request_optionsr   stripe._singleton_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   typingr   r   r	   r
   typing_extensionsr   r   r   r   r   r   r    r!   <module>rv      s;    3 ? . A 1 1 E ES$*%Sr    