"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from neuralseek.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class SentencesTypedDict(TypedDict):
    language: NotRequired[str]
    r"""The language code"""
    sentence: NotRequired[str]
    r"""The sentence fragment"""


class Sentences(BaseModel):
    language: Optional[str] = ""
    r"""The language code"""

    sentence: Optional[str] = ""
    r"""The sentence fragment"""


class TranslateGlossaryJSONRequestBodyTypedDict(TypedDict):
    r"""This endpoint will accept either a file upload (TMX or JSON), or a direct JSON payload following IBM's JSON file format https://cloud.ibm.com/docs/language-translator?topic=language-translator-customizing#json.  Only one file may be saved. Subsequent files will overwrite."""

    sentences: NotRequired[List[List[SentencesTypedDict]]]
    r"""Instead of a file upload you may pass sentence mappings"""


class TranslateGlossaryJSONRequestBody(BaseModel):
    r"""This endpoint will accept either a file upload (TMX or JSON), or a direct JSON payload following IBM's JSON file format https://cloud.ibm.com/docs/language-translator?topic=language-translator-customizing#json.  Only one file may be saved. Subsequent files will overwrite."""

    sentences: Optional[List[List[Sentences]]] = None
    r"""Instead of a file upload you may pass sentence mappings"""
