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

from __future__ import annotations
from .v3_slo_slo import V3SloSlo, V3SloSloTypedDict
from squadcast_sdk.types import BaseModel
from squadcast_sdk.utils import FieldMetadata, QueryParamMetadata
from typing import List
from typing_extensions import Annotated, TypedDict


class SLOGetAllSLOsRequestTypedDict(TypedDict):
    owner_id: str
    offset: str
    limit: str


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

    offset: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
    ]

    limit: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
    ]


class SLOGetAllSLOsMetaTypedDict(TypedDict):
    total: int
    offset: int
    limit: int


class SLOGetAllSLOsMeta(BaseModel):
    total: int

    offset: int

    limit: int


class SLOGetAllSLOsDataTypedDict(TypedDict):
    meta: SLOGetAllSLOsMetaTypedDict
    slos: List[V3SloSloTypedDict]


class SLOGetAllSLOsData(BaseModel):
    meta: SLOGetAllSLOsMeta

    slos: List[V3SloSlo]


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

    data: SLOGetAllSLOsDataTypedDict


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

    data: SLOGetAllSLOsData
