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

from __future__ import annotations

import typing

import typing_extensions
from ..core.serialization import FieldMetadata
from ..types.created_at import CreatedAt
from ..types.updated_at import UpdatedAt


class EvaluationSetEntity_ExtractorParams(typing_extensions.TypedDict):
    object: typing.Literal["extractor"]
    id: str
    name: str
    created_at: typing_extensions.Annotated[CreatedAt, FieldMetadata(alias="createdAt")]
    updated_at: typing_extensions.Annotated[UpdatedAt, FieldMetadata(alias="updatedAt")]


class EvaluationSetEntity_ClassifierParams(typing_extensions.TypedDict):
    object: typing.Literal["classifier"]
    id: str
    name: str
    created_at: typing_extensions.Annotated[CreatedAt, FieldMetadata(alias="createdAt")]
    updated_at: typing_extensions.Annotated[UpdatedAt, FieldMetadata(alias="updatedAt")]


class EvaluationSetEntity_SplitterParams(typing_extensions.TypedDict):
    object: typing.Literal["splitter"]
    id: str
    name: str
    created_at: typing_extensions.Annotated[CreatedAt, FieldMetadata(alias="createdAt")]
    updated_at: typing_extensions.Annotated[UpdatedAt, FieldMetadata(alias="updatedAt")]


EvaluationSetEntityParams = typing.Union[
    EvaluationSetEntity_ExtractorParams, EvaluationSetEntity_ClassifierParams, EvaluationSetEntity_SplitterParams
]
