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

from __future__ import annotations
from .errorresponse import ErrorResponse, ErrorResponseTypedDict
from postivo_client.types import BaseModel
from postivo_client.utils import FieldMetadata, PathParamMetadata, RequestMetadata
from typing import Dict, List
from typing_extensions import Annotated, TypedDict


class VerifySenderRequestBodyTypedDict(TypedDict):
    r"""Verification code received in the letter."""

    verification_code: str


class VerifySenderRequestBody(BaseModel):
    r"""Verification code received in the letter."""

    verification_code: str


class VerifySenderRequestTypedDict(TypedDict):
    id: int
    r"""ID of the sender to verify."""
    request_body: VerifySenderRequestBodyTypedDict
    r"""Verification code received in the letter."""


class VerifySenderRequest(BaseModel):
    id: Annotated[
        int, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""ID of the sender to verify."""

    request_body: Annotated[
        VerifySenderRequestBody,
        FieldMetadata(request=RequestMetadata(media_type="application/json")),
    ]
    r"""Verification code received in the letter."""


class VerifySenderResponseTypedDict(TypedDict):
    headers: Dict[str, List[str]]
    result: ErrorResponseTypedDict


class VerifySenderResponse(BaseModel):
    headers: Dict[str, List[str]]

    result: ErrorResponse
