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

from __future__ import annotations
from .webhook import Webhook, WebhookTypedDict
from moovio_sdk.types import BaseModel
import pydantic
from typing import Any, Dict
from typing_extensions import Annotated, TypedDict


class PingResponseTypedDict(TypedDict):
    r"""Response from pinging a webhook."""

    webhook: WebhookTypedDict
    r"""The webhook that was pinged."""
    request_body_sent: Dict[str, Any]
    r"""The request body sent to the target URL. It will contain an event type of `event.test` and an empty (null) data payload."""
    response_status_code: int
    r"""The response status code after sending a ping event to the URL."""


class PingResponse(BaseModel):
    r"""Response from pinging a webhook."""

    webhook: Webhook
    r"""The webhook that was pinged."""

    request_body_sent: Annotated[
        Dict[str, Any], pydantic.Field(alias="requestBodySent")
    ]
    r"""The request body sent to the target URL. It will contain an event type of `event.test` and an empty (null) data payload."""

    response_status_code: Annotated[int, pydantic.Field(alias="responseStatusCode")]
    r"""The response status code after sending a ping event to the URL."""


try:
    PingResponse.model_rebuild()
except NameError:
    pass
