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

from __future__ import annotations
from .v3_webforms_recaptchasecrets import (
    V3WebformsRecaptchaSecrets,
    V3WebformsRecaptchaSecretsTypedDict,
)
from .v3_webforms_wfinputfield import (
    V3WebformsWFInputField,
    V3WebformsWFInputFieldTypedDict,
)
from .v3_webforms_wfservice import V3WebformsWFService, V3WebformsWFServiceTypedDict
from squadcast_sdk.types import BaseModel
from typing import List, Optional
from typing_extensions import NotRequired, TypedDict


class V3WebformsWebformResponseTagsTypedDict(TypedDict):
    pass


class V3WebformsWebformResponseTags(BaseModel):
    pass


class V3WebformsWebformResponseTypedDict(TypedDict):
    id: int
    org_id: str
    owner_id: str
    name: str
    is_cname: bool
    public_url: str
    tags: V3WebformsWebformResponseTagsTypedDict
    is_captcha_enabled: bool
    captcha_provider: str
    captcha_secret: V3WebformsRecaptchaSecretsTypedDict
    r"""reCAPTCHA credentials to be validated"""
    form_owner_type: str
    form_owner_id: str
    form_owner_name: str
    services: List[V3WebformsWFServiceTypedDict]
    input_field: List[V3WebformsWFInputFieldTypedDict]
    header: str
    title: str
    footer_text: str
    footer_link: str
    email_on: List[str]
    incident_count: int
    mttr: float
    is_deleted: bool
    deleted_at: str
    host_name: NotRequired[str]
    logo_url: NotRequired[str]
    description: NotRequired[str]


class V3WebformsWebformResponse(BaseModel):
    id: int

    org_id: str

    owner_id: str

    name: str

    is_cname: bool

    public_url: str

    tags: V3WebformsWebformResponseTags

    is_captcha_enabled: bool

    captcha_provider: str

    captcha_secret: V3WebformsRecaptchaSecrets
    r"""reCAPTCHA credentials to be validated"""

    form_owner_type: str

    form_owner_id: str

    form_owner_name: str

    services: List[V3WebformsWFService]

    input_field: List[V3WebformsWFInputField]

    header: str

    title: str

    footer_text: str

    footer_link: str

    email_on: List[str]

    incident_count: int

    mttr: float

    is_deleted: bool

    deleted_at: str

    host_name: Optional[str] = None

    logo_url: Optional[str] = None

    description: Optional[str] = None
