# Generated by ariadne-codegen
# Source: ./documents

from typing import Any, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import EntityState, LinkTypes


class QueryMedicalContraindicationsClusters(BaseModel):
    medical_contraindications: Optional[
        "QueryMedicalContraindicationsClustersMedicalContraindications"
    ] = Field(alias="medicalContraindications")


class QueryMedicalContraindicationsClustersMedicalContraindications(BaseModel):
    results: Optional[
        list[
            Optional[
                "QueryMedicalContraindicationsClustersMedicalContraindicationsResults"
            ]
        ]
    ]
    clusters: Optional[
        "QueryMedicalContraindicationsClustersMedicalContraindicationsClusters"
    ]


class QueryMedicalContraindicationsClustersMedicalContraindicationsResults(BaseModel):
    id: str
    name: str
    creation_date: Any = Field(alias="creationDate")
    modified_date: Optional[Any] = Field(alias="modifiedDate")
    relevance: Optional[float]
    owner: "QueryMedicalContraindicationsClustersMedicalContraindicationsResultsOwner"
    state: EntityState
    alternate_names: Optional[list[Optional[str]]] = Field(alias="alternateNames")
    uri: Optional[Any]
    description: Optional[str]
    identifier: Optional[str]
    thing: Optional[str]
    feeds: Optional[
        list[
            Optional[
                "QueryMedicalContraindicationsClustersMedicalContraindicationsResultsFeeds"
            ]
        ]
    ]
    links: Optional[
        list[
            Optional[
                "QueryMedicalContraindicationsClustersMedicalContraindicationsResultsLinks"
            ]
        ]
    ]
    workflow: Optional[
        "QueryMedicalContraindicationsClustersMedicalContraindicationsResultsWorkflow"
    ]
    location: Optional[
        "QueryMedicalContraindicationsClustersMedicalContraindicationsResultsLocation"
    ]
    h_3: Optional[
        "QueryMedicalContraindicationsClustersMedicalContraindicationsResultsH3"
    ] = Field(alias="h3")


class QueryMedicalContraindicationsClustersMedicalContraindicationsResultsOwner(
    BaseModel
):
    id: str


class QueryMedicalContraindicationsClustersMedicalContraindicationsResultsFeeds(
    BaseModel
):
    id: str
    name: str


class QueryMedicalContraindicationsClustersMedicalContraindicationsResultsLinks(
    BaseModel
):
    uri: Optional[Any]
    link_type: Optional[LinkTypes] = Field(alias="linkType")
    excerpts: Optional[str]


class QueryMedicalContraindicationsClustersMedicalContraindicationsResultsWorkflow(
    BaseModel
):
    id: str
    name: str


class QueryMedicalContraindicationsClustersMedicalContraindicationsResultsLocation(
    BaseModel
):
    latitude: Optional[float]
    longitude: Optional[float]


class QueryMedicalContraindicationsClustersMedicalContraindicationsResultsH3(BaseModel):
    h_3_r_0: Optional[str] = Field(alias="h3r0")
    h_3_r_1: Optional[str] = Field(alias="h3r1")
    h_3_r_2: Optional[str] = Field(alias="h3r2")
    h_3_r_3: Optional[str] = Field(alias="h3r3")
    h_3_r_4: Optional[str] = Field(alias="h3r4")
    h_3_r_5: Optional[str] = Field(alias="h3r5")
    h_3_r_6: Optional[str] = Field(alias="h3r6")
    h_3_r_7: Optional[str] = Field(alias="h3r7")
    h_3_r_8: Optional[str] = Field(alias="h3r8")
    h_3_r_9: Optional[str] = Field(alias="h3r9")
    h_3_r_10: Optional[str] = Field(alias="h3r10")
    h_3_r_11: Optional[str] = Field(alias="h3r11")
    h_3_r_12: Optional[str] = Field(alias="h3r12")
    h_3_r_13: Optional[str] = Field(alias="h3r13")
    h_3_r_14: Optional[str] = Field(alias="h3r14")
    h_3_r_15: Optional[str] = Field(alias="h3r15")


class QueryMedicalContraindicationsClustersMedicalContraindicationsClusters(BaseModel):
    clusters: Optional[
        list[
            "QueryMedicalContraindicationsClustersMedicalContraindicationsClustersClusters"
        ]
    ]


class QueryMedicalContraindicationsClustersMedicalContraindicationsClustersClusters(
    BaseModel
):
    entities: list[
        "QueryMedicalContraindicationsClustersMedicalContraindicationsClustersClustersEntities"
    ]
    similarity: Optional[float]


class QueryMedicalContraindicationsClustersMedicalContraindicationsClustersClustersEntities(
    BaseModel
):
    id: str
    name: Optional[str]


QueryMedicalContraindicationsClusters.model_rebuild()
QueryMedicalContraindicationsClustersMedicalContraindications.model_rebuild()
QueryMedicalContraindicationsClustersMedicalContraindicationsResults.model_rebuild()
QueryMedicalContraindicationsClustersMedicalContraindicationsClusters.model_rebuild()
QueryMedicalContraindicationsClustersMedicalContraindicationsClustersClusters.model_rebuild()
