# 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 BatchRunEntity_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 BatchRunEntity_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 BatchRunEntity_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")]


BatchRunEntityParams = typing.Union[
    BatchRunEntity_ExtractorParams, BatchRunEntity_ClassifierParams, BatchRunEntity_SplitterParams
]
