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

from __future__ import annotations
from ascend_sdk.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class HTTPPushCallbackCreateTypedDict(TypedDict):
    r"""Configuration information about an HTTP target callback"""

    client_secret: str
    r"""A string that will be used to generate a signature for each event push request; This value cannot be more than 64KiB"""
    url: str
    r"""The URL address of the client HTTP server that will receive the events via POST; URLs must be in the form of https://{domain}[/{path}]"""
    timeout_seconds: NotRequired[int]
    r"""The maximum amount of time, in seconds, the service will wait for an acknowledgement of a delivery. If a value of 0 or no value is specified, the timeout will default to 10 seconds."""


class HTTPPushCallbackCreate(BaseModel):
    r"""Configuration information about an HTTP target callback"""

    client_secret: str
    r"""A string that will be used to generate a signature for each event push request; This value cannot be more than 64KiB"""

    url: str
    r"""The URL address of the client HTTP server that will receive the events via POST; URLs must be in the form of https://{domain}[/{path}]"""

    timeout_seconds: Optional[int] = None
    r"""The maximum amount of time, in seconds, the service will wait for an acknowledgement of a delivery. If a value of 0 or no value is specified, the timeout will default to 10 seconds."""
