"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from __future__ import annotations import httpx from plex_api_client.types import BaseModel import pydantic from typing import List, Optional from typing_extensions import Annotated, NotRequired, TypedDict class ServerTypedDict(TypedDict): name: NotRequired[str] host: NotRequired[str] address: NotRequired[str] port: NotRequired[float] machine_identifier: NotRequired[str] version: NotRequired[str] protocol: NotRequired[str] product: NotRequired[str] device_class: NotRequired[str] protocol_version: NotRequired[float] protocol_capabilities: NotRequired[str] class Server(BaseModel): name: Optional[str] = None host: Optional[str] = None address: Optional[str] = None port: Optional[float] = None machine_identifier: Annotated[ Optional[str], pydantic.Field(alias="machineIdentifier") ] = None version: Optional[str] = None protocol: Optional[str] = None product: Optional[str] = None device_class: Annotated[Optional[str], pydantic.Field(alias="deviceClass")] = None protocol_version: Annotated[ Optional[float], pydantic.Field(alias="protocolVersion") ] = None protocol_capabilities: Annotated[ Optional[str], pydantic.Field(alias="protocolCapabilities") ] = None class GetAvailableClientsMediaContainerTypedDict(TypedDict): size: NotRequired[float] server: NotRequired[List[ServerTypedDict]] class GetAvailableClientsMediaContainer(BaseModel): size: Optional[float] = None server: Annotated[Optional[List[Server]], pydantic.Field(alias="Server")] = None class GetAvailableClientsResponseBodyTypedDict(TypedDict): r"""Available Clients""" media_container: NotRequired[GetAvailableClientsMediaContainerTypedDict] class GetAvailableClientsResponseBody(BaseModel): r"""Available Clients""" media_container: Annotated[ Optional[GetAvailableClientsMediaContainer], pydantic.Field(alias="MediaContainer"), ] = None class GetAvailableClientsResponseTypedDict(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""" object: NotRequired[GetAvailableClientsResponseBodyTypedDict] r"""Available Clients""" class GetAvailableClientsResponse(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""" object: Optional[GetAvailableClientsResponseBody] = None r"""Available Clients"""