"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from enum import Enum
from honeyhive.types import BaseModel
from typing import Any, Dict, List, Optional, TypedDict
from typing_extensions import NotRequired


class UpdateRunRequestStatus(str, Enum):
    PENDING = "pending"
    COMPLETED = "completed"


class UpdateRunRequestTypedDict(TypedDict):
    event_ids: NotRequired[List[str]]
    r"""Additional sessions/events to associate with this run"""
    dataset_id: NotRequired[str]
    r"""The UUID of the dataset this run is associated with"""
    datapoint_ids: NotRequired[List[str]]
    r"""Additional datapoints to associate with this run"""
    configuration: NotRequired[Dict[str, Any]]
    r"""The configuration being used for this run"""
    metadata: NotRequired[Dict[str, Any]]
    r"""Additional metadata for the run"""
    name: NotRequired[str]
    r"""The name of the run to be displayed"""
    status: NotRequired[UpdateRunRequestStatus]


class UpdateRunRequest(BaseModel):
    event_ids: Optional[List[str]] = None
    r"""Additional sessions/events to associate with this run"""

    dataset_id: Optional[str] = None
    r"""The UUID of the dataset this run is associated with"""

    datapoint_ids: Optional[List[str]] = None
    r"""Additional datapoints to associate with this run"""

    configuration: Optional[Dict[str, Any]] = None
    r"""The configuration being used for this run"""

    metadata: Optional[Dict[str, Any]] = None
    r"""Additional metadata for the run"""

    name: Optional[str] = None
    r"""The name of the run to be displayed"""

    status: Optional[UpdateRunRequestStatus] = None
