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

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


class UpdateEventRequestBodyTypedDict(TypedDict):
    event_id: str
    metadata: NotRequired[Dict[str, Any]]
    feedback: NotRequired[Dict[str, Any]]
    metrics: NotRequired[Dict[str, Any]]
    outputs: NotRequired[Dict[str, Any]]
    config: NotRequired[Dict[str, Any]]
    user_properties: NotRequired[Dict[str, Any]]
    duration: NotRequired[float]


class UpdateEventRequestBody(BaseModel):
    event_id: str

    metadata: Optional[Dict[str, Any]] = None

    feedback: Optional[Dict[str, Any]] = None

    metrics: Optional[Dict[str, Any]] = None

    outputs: Optional[Dict[str, Any]] = None

    config: Optional[Dict[str, Any]] = None

    user_properties: Optional[Dict[str, Any]] = None

    duration: Optional[float] = None


class UpdateEventResponseTypedDict(TypedDict):
    content_type: str
    r"""HTTP response content type for this operation"""
    status_code: int
    r"""HTTP response status code for this operation"""
    raw_response: httpx.Response
    r"""Raw HTTP response; suitable for custom response parsing"""


class UpdateEventResponse(BaseModel):
    content_type: str
    r"""HTTP response content type for this operation"""

    status_code: int
    r"""HTTP response status code for this operation"""

    raw_response: httpx.Response
    r"""Raw HTTP response; suitable for custom response parsing"""
