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

from __future__ import annotations
from .v3_services_serviceresponse import (
    V3ServicesServiceResponse,
    V3ServicesServiceResponseTypedDict,
)
from squadcast_sdk.types import BaseModel
from squadcast_sdk.utils import FieldMetadata, QueryParamMetadata
from typing import List, Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class ServicesGetServicesRequestTypedDict(TypedDict):
    owner_id: str
    entity_owner: NotRequired[str]
    name: NotRequired[str]


class ServicesGetServicesRequest(BaseModel):
    owner_id: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=False))
    ]

    entity_owner: Annotated[
        Optional[str],
        FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
    ] = None

    name: Annotated[
        Optional[str],
        FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
    ] = None


class ServicesGetServicesResponseTypedDict(TypedDict):
    r"""The request has succeeded."""

    data: List[V3ServicesServiceResponseTypedDict]


class ServicesGetServicesResponse(BaseModel):
    r"""The request has succeeded."""

    data: List[V3ServicesServiceResponse]
