# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from typing import Union
from typing_extensions import Literal, Required, TypeAlias, TypedDict

from .artifact_schema_generation_param import ArtifactSchemaGenerationParam
from .generation_test_case_schema_param import GenerationTestCaseSchemaParam

__all__ = ["AutogeneratedDraftTestCaseUpdateParams", "TestCaseData"]


class AutogeneratedDraftTestCaseUpdateParams(TypedDict, total=False):
    evaluation_dataset_id: Required[str]

    approved: bool
    """Boolean to track whether or not the draft test case is approved"""

    schema_type: Literal["GENERATION"]

    test_case_data: TestCaseData
    """The data for the test case in a format matching the provided schema_type"""


TestCaseData: TypeAlias = Union[ArtifactSchemaGenerationParam, GenerationTestCaseSchemaParam]
