
    Yi                     j    S SK Jr  S SKJr  S SKJr   " S S\5      r " S S\5      r " S S	\5      rg
)    )Optional)TelegramObject)JSONDictc                      ^  \ rS rSrSrSr    SSS.S\S\S\S	\S
\S\S\\   S\\   S\\   S\\   S\\   4U 4S jjjjr	Sr
U =r$ )PersonalDetails   a.  
This object represents personal details.

Args:
    first_name (:obj:`str`): First Name.
    middle_name (:obj:`str`): Optional. First Name.
    last_name (:obj:`str`): Last Name.
    birth_date (:obj:`str`): Date of birth in DD.MM.YYYY format.
    gender (:obj:`str`): Gender, male or female.
    country_code (:obj:`str`): Citizenship (ISO 3166-1 alpha-2 country code).
    residence_country_code (:obj:`str`): Country of residence (ISO 3166-1 alpha-2 country
        code).
    first_name_native (:obj:`str`): First Name in the language of the user's country of
        residence.
    middle_name_native (:obj:`str`): Optional. Middle Name in the language of the user's
        country of residence.
    last_name_native (:obj:`str`): Last Name in the language of the user's country of
        residence.

Attributes:
    first_name (:obj:`str`): First Name.
    middle_name (:obj:`str`): Optional. First Name.
    last_name (:obj:`str`): Last Name.
    birth_date (:obj:`str`): Date of birth in DD.MM.YYYY format.
    gender (:obj:`str`): Gender, male or female.
    country_code (:obj:`str`): Citizenship (ISO 3166-1 alpha-2 country code).
    residence_country_code (:obj:`str`): Country of residence (ISO 3166-1 alpha-2 country
        code).
    first_name_native (:obj:`str`): First Name in the language of the user's country of
        residence.
    middle_name_native (:obj:`str`): Optional. Middle Name in the language of the user's
        country of residence.
    last_name_native (:obj:`str`): Last Name in the language of the user's country of
        residence.
)

birth_datecountry_code
first_namefirst_name_nativegender	last_namelast_name_nativemiddle_namemiddle_name_nativeresidence_country_codeN
api_kwargsr   r   r	   r   r
   r   r   r   r   r   r   c                   > [         TU ]  US9  Xl        X l        Xl        X0l        X@l        XPl        X`l        Xpl	        Xl
        Xl        U R                  5         g Nr   )super__init__r   r   r   r	   r   r
   r   r   r   r   _freeze)selfr   r   r	   r   r
   r   r   r   r   r   r   	__class__s               B/app/.venv/lib/python3.13/site-packages/telegram/_passport/data.pyr   PersonalDetails.__init__L   sV     	J/)'*5)!!-+A#0A/?1C    )NNNN__name__
__module____qualname____firstlineno____doc__	__slots__strr   r   r   __static_attributes____classcell__r   s   @r   r   r      s    "HI* ,0*.%),0 *.  	
   !$ $C= #3- c] %SM X& r   r   c                   ^   ^  \ rS rSrSrSrSS.S\S\S\S	\S
\S\S\\   4U 4S jjjr	Sr
U =r$ )ResidentialAddressk   a  
This object represents a residential address.

Args:
    street_line1 (:obj:`str`): First line for the address.
    street_line2 (:obj:`str`): Optional. Second line for the address.
    city (:obj:`str`): City.
    state (:obj:`str`): Optional. State.
    country_code (:obj:`str`): ISO 3166-1 alpha-2 country code.
    post_code (:obj:`str`): Address post code.

Attributes:
    street_line1 (:obj:`str`): First line for the address.
    street_line2 (:obj:`str`): Optional. Second line for the address.
    city (:obj:`str`): City.
    state (:obj:`str`): Optional. State.
    country_code (:obj:`str`): ISO 3166-1 alpha-2 country code.
    post_code (:obj:`str`): Address post code.
)cityr
   	post_codestatestreet_line1street_line2Nr   r0   r1   r-   r/   r
   r.   r   c                   > [         TU ]  US9  Xl        X l        X0l        X@l        XPl        X`l        U R                  5         g r   )	r   r   r0   r1   r-   r/   r
   r.   r   )	r   r0   r1   r-   r/   r
   r.   r   r   s	           r   r   ResidentialAddress.__init__   s?     	J/!-!-	
!-'r   r   r)   s   @r   r+   r+   k   sg    (I$ *.  	
    X& r   r+   c                   N   ^  \ rS rSrSrSrSS.S\S\S\\   4U 4S	 jjjr	Sr
U =r$ )
IdDocumentData   aH  
This object represents the data of an identity document.

Args:
    document_no (:obj:`str`): Document number.
    expiry_date (:obj:`str`): Optional. Date of expiry, in DD.MM.YYYY format.

Attributes:
    document_no (:obj:`str`): Document number.
    expiry_date (:obj:`str`): Optional. Date of expiry, in DD.MM.YYYY format.
)document_noexpiry_dateNr   r7   r8   r   c                X   > [         TU ]  US9  Xl        X l        U R	                  5         g r   )r   r   r7   r8   r   )r   r7   r8   r   r   s       r   r   IdDocumentData.__init__   s*     	J/ + +r   r   r)   s   @r   r5   r5      s?    
 /I *. 
 X& r   r5   N)	typingr   telegram._telegramobjectr   telegram._utils.typesr   r   r+   r5    r   r   <module>r?      s8   (  3 *Nn Nb2 2j^ r   