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

import typing

import pydantic
import typing_extensions
from ...core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
from ...core.serialization import FieldMetadata
from .construe_cohort_response_queries_item import ConstrueCohortResponseQueriesItem


class ConstrueCohortResponse(UniversalBaseModel):
    queries: typing.Optional[typing.List[ConstrueCohortResponseQueriesItem]] = None
    sql: typing.Optional[str] = pydantic.Field(default=None)
    """
    Generated SQL query when `sql_syntax` is specified. Variables in curly braces need to be replaced with your actual table names.
    """

    cohort_description: typing_extensions.Annotated[typing.Optional[str], FieldMetadata(alias="cohortDescription")] = (
        pydantic.Field(default=None)
    )
    """
    Echo of the input text description for reference.
    """

    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
