# This file was auto-generated by Fern from our API Definition.

from ...core.pydantic_utilities import UniversalBaseModel
import typing
from .ontology_attribute import OntologyAttribute
from .ontology_country import OntologyCountry
from .ontology_currency import OntologyCurrency
from .ontology_entity_type import OntologyEntityType
from .ontology_enum import OntologyEnum
from .ontology_identifier import OntologyIdentifier
from .ontology_language import OntologyLanguage
from .ontology_region import OntologyRegion
from .ontology_relationship import OntologyRelationship
from .ontology_risk_factor import OntologyRiskFactor
from .ontology_source import OntologySource
from .ontology_source_type import OntologySourceType
from ...core.pydantic_utilities import IS_PYDANTIC_V2
import pydantic


class GetOntologyResponseData(UniversalBaseModel):
    attributes: typing.List[OntologyAttribute]
    countries: typing.List[OntologyCountry]
    currencies: typing.List[OntologyCurrency]
    entity_types: typing.List[OntologyEntityType]
    enums: typing.List[OntologyEnum]
    identifiers: typing.List[OntologyIdentifier]
    languages: typing.List[OntologyLanguage]
    regions: typing.List[OntologyRegion]
    relationships: typing.List[OntologyRelationship]
    risk_factors: typing.List[OntologyRiskFactor]
    sources: typing.List[OntologySource]
    source_types: typing.List[OntologySourceType]

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)  # type: ignore # Pydantic v2
    else:

        class Config:
            frozen = True
            smart_union = True
            extra = pydantic.Extra.allow
