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

from __future__ import annotations
from .httpmetadata import HTTPMetadata, HTTPMetadataTypedDict
import pydantic
from ttd_workflows.types import BaseModel
from ttd_workflows.utils import FieldMetadata, QueryParamMetadata, RequestMetadata
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class ArchiveCampaignsRequestTypedDict(TypedDict):
    force_archive: NotRequired[bool]
    request_body: NotRequired[List[str]]


class ArchiveCampaignsRequest(BaseModel):
    force_archive: Annotated[
        Optional[bool],
        pydantic.Field(alias="forceArchive"),
        FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
    ] = False

    request_body: Annotated[
        Optional[List[str]],
        FieldMetadata(request=RequestMetadata(media_type="application/json")),
    ] = None


class ArchiveCampaignsResponseTypedDict(TypedDict):
    http_meta: HTTPMetadataTypedDict
    strings: NotRequired[List[str]]
    r"""OK"""


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

    strings: Optional[List[str]] = None
    r"""OK"""
