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

from __future__ import annotations

from typing import List, Union, Iterable, Optional
from typing_extensions import Literal, Required, TypedDict

from .node_item_input_param import NodeItemInputParam

__all__ = ["WorkflowConfigInputParam"]


class WorkflowConfigInputParam(TypedDict, total=False):
    workflow: Required[Iterable[NodeItemInputParam]]

    id: Optional[str]

    account_id: Optional[str]

    application_variant_id: Optional[str]

    base_url: Optional[str]

    concurrency_default: Optional[bool]

    datasets: Optional[Iterable[object]]

    egp_api_key_override: Optional[str]

    egp_ui_evaluation: Optional[object]

    evaluations: Optional[Iterable[NodeItemInputParam]]

    final_output_nodes: Optional[List[str]]

    nodes_to_log: Union[str, List[str], None]

    num_workers: Optional[int]

    streaming_nodes: Optional[List[str]]

    type: Optional[Literal["workflow", "plan", "state_machine"]]
