# 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


class BatchRunEntityVersion_ExtractorVersionParams(typing_extensions.TypedDict):
    object: typing.Literal["extractor_version"]
    id: str
    description: typing.Optional[str]
    version: str
    extractor_id: typing_extensions.Annotated[str, FieldMetadata(alias="extractorId")]
    created_at: typing_extensions.Annotated[CreatedAt, FieldMetadata(alias="createdAt")]


class BatchRunEntityVersion_ClassifierVersionParams(typing_extensions.TypedDict):
    object: typing.Literal["classifier_version"]
    id: str
    description: typing.Optional[str]
    version: str
    classifier_id: typing_extensions.Annotated[str, FieldMetadata(alias="classifierId")]
    created_at: typing_extensions.Annotated[CreatedAt, FieldMetadata(alias="createdAt")]


class BatchRunEntityVersion_SplitterVersionParams(typing_extensions.TypedDict):
    object: typing.Literal["splitter_version"]
    id: str
    description: typing.Optional[str]
    version: str
    splitter_id: typing_extensions.Annotated[str, FieldMetadata(alias="splitterId")]
    created_at: typing_extensions.Annotated[CreatedAt, FieldMetadata(alias="createdAt")]


BatchRunEntityVersionParams = typing.Union[
    BatchRunEntityVersion_ExtractorVersionParams,
    BatchRunEntityVersion_ClassifierVersionParams,
    BatchRunEntityVersion_SplitterVersionParams,
]
