o
    qmi                     @   s^  d dl 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
 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 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 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( ddl)m*Z* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 e 3e j4dZ5G dd dZ6G dd dZ7dS )     N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)parse_obj_as)RequestOptions)BadRequestError)ForbiddenError)InternalServerError)TooManyRequestsError)UnprocessableEntityError)LanguageIdentificationResponse)NumeralsFormat)SpokenFormNumeralsFormat)TranslateMode)TranslateModel)TranslateSourceLanguage)TranslateSpeakerGender)TranslateTargetLanguage)TranslationResponse)TranslatiterateTargetLanguage)TransliterateMode)TransliterateSourceLanguage)TransliterationResponse.c                   @      e Zd ZdefddZeeeeedddededed	e	j
e d
e	j
e de	j
e de	j
e de	j
e de	j
e dee fddZdddede	j
e dee fddZeeedddededede	j
e de	j
e de	j
e de	j
e dee fddZdS )RawTextClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r&   L/home/ubuntu/.local/lib/python3.10/site-packages/sarvamai/text/raw_client.py__init__#      
zRawTextClient.__init__Nspeaker_gendermodemodeloutput_scriptnumerals_formatrequest_optionsinputsource_language_codetarget_language_coder+   r,   r-   r.   r/   r0   returnc       	         C   s  | j jjd| j  jd||||||||dddi|	td}
zd|
j  kr)dk r>n ntt	t
t	|
 d	}t|
|d
W S |
jdkr^tt|
jttjtj t
tjtj |
 d	d|
jdkr~tt|
jttjtj t
tjtj |
 d	d|
jdkrtt|
jttjtj t
tjtj |
 d	d|
jdkrtt|
jttjtj t
tjtj |
 d	d|
jdkrtt|
jttjtj t
tjtj |
 d	d|
 }W n ty   t|
jt|
j|
jdw t|
jt|
j|d)u  
        **Translation** converts text from one language to another while preserving its meaning.
        For Example: **'मैं ऑफिस जा रहा हूँ'** translates to **'I am going to the office'** in English, where the script and language change, but the original meaning remains the same.

        Available languages:
        - **`bn-IN`**: Bengali
        - **`en-IN`**: English
        - **`gu-IN`**: Gujarati
        - **`hi-IN`**: Hindi
        - **`kn-IN`**: Kannada
        - **`ml-IN`**: Malayalam
        - **`mr-IN`**: Marathi
        - **`od-IN`**: Odia
        - **`pa-IN`**: Punjabi
        - **`ta-IN`**: Tamil
        - **`te-IN`**: Telugu

        ### Newly added languages:
        - **`as-IN`**: Assamese
        - **`brx-IN`**: Bodo
        - **`doi-IN`**: Dogri
        - **`kok-IN`**: Konkani
        - **`ks-IN`**: Kashmiri
        - **`mai-IN`**: Maithili
        - **`mni-IN`**: Manipuri (Meiteilon)
        - **`ne-IN`**: Nepali
        - **`sa-IN`**: Sanskrit
        - **`sat-IN`**: Santali
        - **`sd-IN`**: Sindhi
        - **`ur-IN`**: Urdu

        For hands-on practice, you can explore the notebook tutorial on [Translate API Tutorial](https://github.com/sarvamai/sarvam-ai-cookbook/blob/main/notebooks/translate/Translate_API_Tutorial.ipynb).

        Parameters
        ----------
        input : str
            The text you want to translate is the input text that will be processed by the translation model. The maximum is 1000 characters for Mayura:v1 and 2000 characters for Sarvam-Translate:v1.

        source_language_code : TranslateSourceLanguage
            Source language code for translation input.

            **mayura:v1 Languages:** Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu

            **sarvam-translate:v1 Languages:** All mayura:v1 languages and Assamese, Bodo, Dogri, Konkani, Kashmiri, Maithili, Manipuri, Nepali, Sanskrit, Santali, Sindhi, Urdu

            **Note:** mayura:v1 supports automatic language detection using 'auto' as the source language code.


        target_language_code : TranslateTargetLanguage
            The language code of the translated text. This specifies the target language for translation.

            **mayura:v1 Languages:** Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu

            **sarvam-translate:v1 Languages:** All mayura:v1 and Assamese, Bodo, Dogri, Konkani, Kashmiri, Maithili, Manipuri, Nepali, Sanskrit, Santali, Sindhi, Urdu


        speaker_gender : typing.Optional[TranslateSpeakerGender]
            Please specify the gender of the speaker for better translations.

        mode : typing.Optional[TranslateMode]
            Specifies the tone or style of the translation.

            **Model Support:**
            - **mayura:v1**: Supports formal, classic-colloquial, and modern-colloquial modes
            - **sarvam-translate:v1**: Only formal mode is supported

            **Default:** formal

        model : typing.Optional[TranslateModel]
            Specifies the translation model to use.
            - mayura:v1: Supports 12 languages with all modes, output scripts, and automatic language detection.
            - sarvam-translate:v1: Supports all 22 scheduled languages of India, formal mode only.

        output_script : typing.Optional[TransliterateMode]
            **output_script**: This is an optional parameter which controls the transliteration style applied to the output text.

            **Transliteration**: Converting text from one script to another while preserving pronunciation.

            For mayura:v1 - We support transliteration with four options:
            - **`null`**(default): No transliteration applied.
            - **`roman`**: Transliteration in Romanized script.
            - **`fully-native`**: Transliteration in the native script with formal style.
            - **`spoken-form-in-native`**: Transliteration in the native script with spoken style.

            For sarvam-translate:v1 - Transliteration is not supported.
            ### Example:
            English: Your EMI of Rs. 3000 is pending.
            Default modern translation: आपका Rs. 3000 का EMI pending है (when `null` is passed).

            With postprocessing enabled:
            - **roman output**: aapka Rs. 3000 ka EMI pending hai.

        numerals_format : typing.Optional[NumeralsFormat]
            `numerals_format` is an optional parameter with two options (supported for both mayura:v1 and sarvam-translate:v1):

            - **`international`** (default): Uses regular numerals (0-9).
            - **`native`**: Uses language-specific native numerals.

            ### Example:
            - If `international` format is selected, we use regular numerals (0-9). For example: `मेरा phone number है: 9840950950`.
            - If `native` format is selected, we use language-specific native numerals, like: `मेरा phone number है: ९८४०९५०९५०`.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[TranslationResponse]
            Successful Response
        	translatePOSTr1   r2   r3   r+   r,   r-   r.   r/   content-typeapplication/jsonbase_urlmethodjsonheadersr0   omit   ,  type_object_responsedata  r>   body        status_coder>   rJ   )r#   httpx_clientrequestget_environmentbaseOMITrP   typingcastr   r	   r=   r   r   dictr>   OptionalAnyr   r   r   r   r   r   textr%   r1   r2   r3   r+   r,   r-   r.   r/   r0   	_response_data_response_jsonr&   r&   r'   r5   &   s   {




















zRawTextClient.translater0   c             	   C   s  | j jjd| j  jdd|iddi|td}zd|j  kr"dk r7n ntt	t
t	| d	}t||d
W S |jdkrWtt|jttjtj t
tjtj | d	d|jdkrwtt|jttjtj t
tjtj | d	d|jdkrtt|jttjtj t
tjtj | d	d|jdkrtt|jttjtj t
tjtj | d	d|jdkrtt|jttjtj t
tjtj | d	d| }W n ty   t|jt|j|jdw t|jt|j|d)a  
        Identifies the language (e.g., en-IN, hi-IN) and script (e.g., Latin, Devanagari) of the input text, supporting multiple languages.

        Parameters
        ----------
        input : str
            The text input for language and script identification. Max Input Limit is 1000 characters

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[LanguageIdentificationResponse]
            Successful Response
        text-lidr6   r1   r8   r9   r:   r@   rA   rB   rE   rH   rI   rK   rL   rM   rN   rO   )r#   rQ   rR   rS   rT   rU   rP   rV   rW   r   r	   r=   r   r   rX   r>   rY   rZ   r   r   r   r   r   r   r[   r%   r1   r0   r]   r^   r_   r&   r&   r'   identify_language   s   




















zRawTextClient.identify_languager/   spoken_form_numerals_languagespoken_formr0   re   rf   c                C   s   | j jjd| j  jd||||||dddi|td}zd|j  kr'dk r<n ntt	t
t	| d	}	t||	d
W S |jdkr\tt|jttjtj t
tjtj | d	d|jdkr|tt|jttjtj t
tjtj | d	d|jdkrtt|jttjtj t
tjtj | d	d|jdkrtt|jttjtj t
tjtj | d	d|jdkrtt|jttjtj t
tjtj | d	d| }
W n ty   t|jt|j|jdw t|jt|j|
d)u  
        **Transliteration** converts text from one script to another while preserving the original pronunciation. For example, **'नमस्ते'** becomes **'namaste'** in English, and **'how are you'** can be written as **'हाउ आर यू'** in Devanagari. This process ensures that the sound of the original text remains intact, even when written in a different script.

        Transliteration is useful when you want to represent words phonetically across different writing systems, such as converting **'मैं ऑफिस जा रहा हूँ'** to **'main office ja raha hun'** in English letters.

        **Translation**, on the other hand, converts text from one language to another while preserving the meaning rather than pronunciation. For example, **'मैं ऑफिस जा रहा हूँ'** translates to **'I am going to the office'** in English, changing both the script and the language while conveying the intended message.
        ### Examples of **Transliteration**:
        - **'Good morning'** becomes **'गुड मॉर्निंग'** in Hindi, where the pronunciation is preserved but the meaning is not translated.
        - **'सुप्रभात'** becomes **'suprabhat'** in English.

        Available languages:
        - **`en-IN`**: English
        - **`hi-IN`**: Hindi
        - **`bn-IN`**: Bengali
        - **`gu-IN`**: Gujarati
        - **`kn-IN`**: Kannada
        - **`ml-IN`**: Malayalam
        - **`mr-IN`**: Marathi
        - **`od-IN`**: Odia
        - **`pa-IN`**: Punjabi
        - **`ta-IN`**: Tamil
        - **`te-IN`**: Telugu

        For hands-on practice, you can explore the notebook tutorial on [Transliterate API Tutorial](https://github.com/sarvamai/sarvam-ai-cookbook/blob/main/notebooks/transliterate/Transliterate_API_Tutorial.ipynb).

        Parameters
        ----------
        input : str
            The text you want to transliterate.

        source_language_code : TransliterateSourceLanguage
            The language code of the input text. This specifies the source language for transliteration.



             Note:  The source language should either be an Indic language or English. As we supports both Indic-to-English and English-to-Indic transliteration.


        target_language_code : TranslatiterateTargetLanguage
            The language code of the transliteration text. This specifies the target language for transliteration.



             Note:The target language should either be an Indic language or English. As we supports both Indic-to-English and English-to-Indic transliteration.


        numerals_format : typing.Optional[NumeralsFormat]
            `numerals_format` is an optional parameter with two options:

            - **`international`** (default): Uses regular numerals (0-9).
            - **`native`**: Uses language-specific native numerals.

            ### Example:
            - If `international` format is selected, we use regular numerals (0-9). For example: `मेरा phone number है: 9840950950`.
            - If `native` format is selected, we use language-specific native numerals, like: `मेरा phone number है: ९८४०९५०९५०`.

        spoken_form_numerals_language : typing.Optional[SpokenFormNumeralsFormat]
            `spoken_form_numerals_language` is an optional parameter with two options and only works when spoken_form is true:

            - **`english`** : Numbers in the text will be spoken in English.
            - **`native(default)`**: Numbers in the text will be spoken in the native language.

            ### Examples:
            - **Input:** "मेरे पास ₹200 है"
              - If `english` format is selected: "मेरे पास टू हन्डर्ड रूपीस है"
              - If `native` format is selected: "मेरे पास दो सौ रुपये है"


        spoken_form : typing.Optional[bool]
              - Default: `False`
              - Converts text into a natural spoken form when `True`.
              - **Note:** No effect if output language is `en-IN`.

            ### Example:
            - **Input:** `मुझे कल 9:30am को appointment है`
              - **Output:** `मुझे कल सुबह साढ़े नौ बजे को अपॉइंटमेंट है`

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[TransliterationResponse]
            Successful Response
        transliterater6   r1   r2   r3   r/   re   rf   r8   r9   r:   r@   rA   rB   rE   rH   rI   rK   rL   rM   rN   rO   )r#   rQ   rR   rS   rT   rU   rP   rV   rW   r   r	   r=   r   r   rX   r>   rY   rZ   r   r   r   r   r   r   r[   r%   r1   r2   r3   r/   re   rf   r0   r]   r^   r_   r&   r&   r'   rg   a  s   `
	



















zRawTextClient.transliterate)__name__
__module____qualname__r   r(   rU   strr   r   rV   rY   r   r   r   r   r   r
   r   r   r5   r   rc   r   r   r   boolr   rg   r&   r&   r&   r'   r   "   v    		

 W
l	
r   c                   @   r   )AsyncRawTextClientr   c                C   r    r!   r"   r$   r&   r&   r'   r(     r)   zAsyncRawTextClient.__init__Nr*   r1   r2   r3   r+   r,   r-   r.   r/   r0   r4   c       	            s  | j jjd| j  jd||||||||dddi|	tdI dH }
zd|
j  kr-d	k rBn ntt	t
t	|
 d
}t|
|dW S |
jdkrbtt|
jttjtj t
tjtj |
 d
d|
jdkrtt|
jttjtj t
tjtj |
 d
d|
jdkrtt|
jttjtj t
tjtj |
 d
d|
jdkrtt|
jttjtj t
tjtj |
 d
d|
jdkrtt|
jttjtj t
tjtj |
 d
d|
 }W n ty   t|
jt|
j|
jdw t|
jt|
j|d)u  
        **Translation** converts text from one language to another while preserving its meaning.
        For Example: **'मैं ऑफिस जा रहा हूँ'** translates to **'I am going to the office'** in English, where the script and language change, but the original meaning remains the same.

        Available languages:
        - **`bn-IN`**: Bengali
        - **`en-IN`**: English
        - **`gu-IN`**: Gujarati
        - **`hi-IN`**: Hindi
        - **`kn-IN`**: Kannada
        - **`ml-IN`**: Malayalam
        - **`mr-IN`**: Marathi
        - **`od-IN`**: Odia
        - **`pa-IN`**: Punjabi
        - **`ta-IN`**: Tamil
        - **`te-IN`**: Telugu

        ### Newly added languages:
        - **`as-IN`**: Assamese
        - **`brx-IN`**: Bodo
        - **`doi-IN`**: Dogri
        - **`kok-IN`**: Konkani
        - **`ks-IN`**: Kashmiri
        - **`mai-IN`**: Maithili
        - **`mni-IN`**: Manipuri (Meiteilon)
        - **`ne-IN`**: Nepali
        - **`sa-IN`**: Sanskrit
        - **`sat-IN`**: Santali
        - **`sd-IN`**: Sindhi
        - **`ur-IN`**: Urdu

        For hands-on practice, you can explore the notebook tutorial on [Translate API Tutorial](https://github.com/sarvamai/sarvam-ai-cookbook/blob/main/notebooks/translate/Translate_API_Tutorial.ipynb).

        Parameters
        ----------
        input : str
            The text you want to translate is the input text that will be processed by the translation model. The maximum is 1000 characters for Mayura:v1 and 2000 characters for Sarvam-Translate:v1.

        source_language_code : TranslateSourceLanguage
            Source language code for translation input.

            **mayura:v1 Languages:** Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu

            **sarvam-translate:v1 Languages:** All mayura:v1 languages and Assamese, Bodo, Dogri, Konkani, Kashmiri, Maithili, Manipuri, Nepali, Sanskrit, Santali, Sindhi, Urdu

            **Note:** mayura:v1 supports automatic language detection using 'auto' as the source language code.


        target_language_code : TranslateTargetLanguage
            The language code of the translated text. This specifies the target language for translation.

            **mayura:v1 Languages:** Bengali, English, Gujarati, Hindi, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, Telugu

            **sarvam-translate:v1 Languages:** All mayura:v1 and Assamese, Bodo, Dogri, Konkani, Kashmiri, Maithili, Manipuri, Nepali, Sanskrit, Santali, Sindhi, Urdu


        speaker_gender : typing.Optional[TranslateSpeakerGender]
            Please specify the gender of the speaker for better translations.

        mode : typing.Optional[TranslateMode]
            Specifies the tone or style of the translation.

            **Model Support:**
            - **mayura:v1**: Supports formal, classic-colloquial, and modern-colloquial modes
            - **sarvam-translate:v1**: Only formal mode is supported

            **Default:** formal

        model : typing.Optional[TranslateModel]
            Specifies the translation model to use.
            - mayura:v1: Supports 12 languages with all modes, output scripts, and automatic language detection.
            - sarvam-translate:v1: Supports all 22 scheduled languages of India, formal mode only.

        output_script : typing.Optional[TransliterateMode]
            **output_script**: This is an optional parameter which controls the transliteration style applied to the output text.

            **Transliteration**: Converting text from one script to another while preserving pronunciation.

            For mayura:v1 - We support transliteration with four options:
            - **`null`**(default): No transliteration applied.
            - **`roman`**: Transliteration in Romanized script.
            - **`fully-native`**: Transliteration in the native script with formal style.
            - **`spoken-form-in-native`**: Transliteration in the native script with spoken style.

            For sarvam-translate:v1 - Transliteration is not supported.
            ### Example:
            English: Your EMI of Rs. 3000 is pending.
            Default modern translation: आपका Rs. 3000 का EMI pending है (when `null` is passed).

            With postprocessing enabled:
            - **roman output**: aapka Rs. 3000 ka EMI pending hai.

        numerals_format : typing.Optional[NumeralsFormat]
            `numerals_format` is an optional parameter with two options (supported for both mayura:v1 and sarvam-translate:v1):

            - **`international`** (default): Uses regular numerals (0-9).
            - **`native`**: Uses language-specific native numerals.

            ### Example:
            - If `international` format is selected, we use regular numerals (0-9). For example: `मेरा phone number है: 9840950950`.
            - If `native` format is selected, we use language-specific native numerals, like: `मेरा phone number है: ९८४०९५०९५०`.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[TranslationResponse]
            Successful Response
        r5   r6   r7   r8   r9   r:   Nr@   rA   rB   rE   rH   rI   rK   rL   rM   rN   rO   )r#   rQ   rR   rS   rT   rU   rP   rV   rW   r   r	   r=   r   r   rX   r>   rY   rZ   r   r   r   r   r   r   r[   r\   r&   r&   r'   r5     s   {




















zAsyncRawTextClient.translater`   c             	      s  | j jjd| j  jdd|iddi|tdI dH }zd|j  kr&d	k r;n ntt	t
t	| d
}t||dW S |jdkr[tt|jttjtj t
tjtj | d
d|jdkr{tt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d| }W n ty   t|jt|j|jdw t|jt|j|d)a  
        Identifies the language (e.g., en-IN, hi-IN) and script (e.g., Latin, Devanagari) of the input text, supporting multiple languages.

        Parameters
        ----------
        input : str
            The text input for language and script identification. Max Input Limit is 1000 characters

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[LanguageIdentificationResponse]
            Successful Response
        ra   r6   r1   r8   r9   r:   Nr@   rA   rB   rE   rH   rI   rK   rL   rM   rN   rO   )r#   rQ   rR   rS   rT   rU   rP   rV   rW   r   r	   r=   r   r   rX   r>   rY   rZ   r   r   r   r   r   r   r[   rb   r&   r&   r'   rc     s   




















z$AsyncRawTextClient.identify_languagerd   re   rf   c                   s  | j jjd| j  jd||||||dddi|tdI dH }zd|j  kr+d	k r@n ntt	t
t	| d
}	t||	dW S |jdkr`tt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d|jdkrtt|jttjtj t
tjtj | d
d| }
W n ty   t|jt|j|jdw t|jt|j|
d)u  
        **Transliteration** converts text from one script to another while preserving the original pronunciation. For example, **'नमस्ते'** becomes **'namaste'** in English, and **'how are you'** can be written as **'हाउ आर यू'** in Devanagari. This process ensures that the sound of the original text remains intact, even when written in a different script.

        Transliteration is useful when you want to represent words phonetically across different writing systems, such as converting **'मैं ऑफिस जा रहा हूँ'** to **'main office ja raha hun'** in English letters.

        **Translation**, on the other hand, converts text from one language to another while preserving the meaning rather than pronunciation. For example, **'मैं ऑफिस जा रहा हूँ'** translates to **'I am going to the office'** in English, changing both the script and the language while conveying the intended message.
        ### Examples of **Transliteration**:
        - **'Good morning'** becomes **'गुड मॉर्निंग'** in Hindi, where the pronunciation is preserved but the meaning is not translated.
        - **'सुप्रभात'** becomes **'suprabhat'** in English.

        Available languages:
        - **`en-IN`**: English
        - **`hi-IN`**: Hindi
        - **`bn-IN`**: Bengali
        - **`gu-IN`**: Gujarati
        - **`kn-IN`**: Kannada
        - **`ml-IN`**: Malayalam
        - **`mr-IN`**: Marathi
        - **`od-IN`**: Odia
        - **`pa-IN`**: Punjabi
        - **`ta-IN`**: Tamil
        - **`te-IN`**: Telugu

        For hands-on practice, you can explore the notebook tutorial on [Transliterate API Tutorial](https://github.com/sarvamai/sarvam-ai-cookbook/blob/main/notebooks/transliterate/Transliterate_API_Tutorial.ipynb).

        Parameters
        ----------
        input : str
            The text you want to transliterate.

        source_language_code : TransliterateSourceLanguage
            The language code of the input text. This specifies the source language for transliteration.



             Note:  The source language should either be an Indic language or English. As we supports both Indic-to-English and English-to-Indic transliteration.


        target_language_code : TranslatiterateTargetLanguage
            The language code of the transliteration text. This specifies the target language for transliteration.



             Note:The target language should either be an Indic language or English. As we supports both Indic-to-English and English-to-Indic transliteration.


        numerals_format : typing.Optional[NumeralsFormat]
            `numerals_format` is an optional parameter with two options:

            - **`international`** (default): Uses regular numerals (0-9).
            - **`native`**: Uses language-specific native numerals.

            ### Example:
            - If `international` format is selected, we use regular numerals (0-9). For example: `मेरा phone number है: 9840950950`.
            - If `native` format is selected, we use language-specific native numerals, like: `मेरा phone number है: ९८४०९५०९५०`.

        spoken_form_numerals_language : typing.Optional[SpokenFormNumeralsFormat]
            `spoken_form_numerals_language` is an optional parameter with two options and only works when spoken_form is true:

            - **`english`** : Numbers in the text will be spoken in English.
            - **`native(default)`**: Numbers in the text will be spoken in the native language.

            ### Examples:
            - **Input:** "मेरे पास ₹200 है"
              - If `english` format is selected: "मेरे पास टू हन्डर्ड रूपीस है"
              - If `native` format is selected: "मेरे पास दो सौ रुपये है"


        spoken_form : typing.Optional[bool]
              - Default: `False`
              - Converts text into a natural spoken form when `True`.
              - **Note:** No effect if output language is `en-IN`.

            ### Example:
            - **Input:** `मुझे कल 9:30am को appointment है`
              - **Output:** `मुझे कल सुबह साढ़े नौ बजे को अपॉइंटमेंट है`

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[TransliterationResponse]
            Successful Response
        rg   r6   rh   r8   r9   r:   Nr@   rA   rB   rE   rH   rI   rK   rL   rM   rN   rO   )r#   rQ   rR   rS   rT   rU   rP   rV   rW   r   r	   r=   r   r   rX   r>   rY   rZ   r   r   r   r   r   r   r[   ri   r&   r&   r'   rg   Y  s   `
	



















z AsyncRawTextClient.transliterate)rj   rk   rl   r   r(   rU   rm   r   r   rV   rY   r   r   r   r   r   r
   r   r   r5   r   rc   r   r   r   rn   r   rg   r&   r&   r&   r'   rp     ro   rp   )8rV   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r   core.pydantic_utilitiesr	   core.request_optionsr
   errors.bad_request_errorr   errors.forbidden_errorr   errors.internal_server_errorr   errors.too_many_requests_errorr   !errors.unprocessable_entity_errorr   &types.language_identification_responser   types.numerals_formatr   !types.spoken_form_numerals_formatr   types.translate_moder   types.translate_modelr   types.translate_source_languager   types.translate_speaker_genderr   types.translate_target_languager   types.translation_responser   %types.translatiterate_target_languager   types.transliterate_moder   #types.transliterate_source_languager   types.transliteration_responser   rW   rZ   rU   r   rp   r&   r&   r&   r'   <module>   s>      {