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

from __future__ import annotations
from .v3_globaloncallreminderrules_globaloncallreminderruleresponse import (
    V3GlobalOncallReminderRulesGlobalOncallReminderRuleResponse,
    V3GlobalOncallReminderRulesGlobalOncallReminderRuleResponseTypedDict,
)
from .v3_globaloncallreminderrules_updateglobaloncallreminderrulesrequest import (
    V3GlobalOncallReminderRulesUpdateGlobalOncallReminderRulesRequest,
    V3GlobalOncallReminderRulesUpdateGlobalOncallReminderRulesRequestTypedDict,
)
from squadcast_sdk.types import BaseModel
from squadcast_sdk.utils import FieldMetadata, QueryParamMetadata, RequestMetadata
from typing_extensions import Annotated, TypedDict


class GlobalOncallReminderRulesUpdateGlobalOncallReminderRulesRequestTypedDict(
    TypedDict
):
    owner_id: str
    v3_global_oncall_reminder_rules_update_global_oncall_reminder_rules_request: (
        V3GlobalOncallReminderRulesUpdateGlobalOncallReminderRulesRequestTypedDict
    )


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

    v3_global_oncall_reminder_rules_update_global_oncall_reminder_rules_request: (
        Annotated[
            V3GlobalOncallReminderRulesUpdateGlobalOncallReminderRulesRequest,
            FieldMetadata(request=RequestMetadata(media_type="application/json")),
        ]
    )


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

    data: V3GlobalOncallReminderRulesGlobalOncallReminderRuleResponseTypedDict


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

    data: V3GlobalOncallReminderRulesGlobalOncallReminderRuleResponse
