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

from __future__ import annotations
from .campaignversionworkflow import (
    CampaignVersionWorkflow,
    CampaignVersionWorkflowTypedDict,
)
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
import pydantic
from ttd_workflows.types import BaseModel
from ttd_workflows.utils import FieldMetadata, PathParamMetadata
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class GetCampaignVersionRequestTypedDict(TypedDict):
    id: str


class GetCampaignVersionRequest(BaseModel):
    id: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]


class GetCampaignVersionResponseTypedDict(TypedDict):
    http_meta: HTTPMetadataTypedDict
    campaign_version_workflow: NotRequired[CampaignVersionWorkflowTypedDict]
    r"""OK"""


class GetCampaignVersionResponse(BaseModel):
    http_meta: Annotated[Optional[HTTPMetadata], pydantic.Field(exclude=True)] = None

    campaign_version_workflow: Optional[CampaignVersionWorkflow] = None
    r"""OK"""
