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

from __future__ import annotations
from datetime import datetime
from enum import Enum
from outpost_sdk.types import BaseModel
from typing import Dict, Optional
from typing_extensions import NotRequired, TypedDict


class Status(str, Enum):
    SUCCESS = "success"
    FAILED = "failed"


class DeliveryAttemptTypedDict(TypedDict):
    delivered_at: NotRequired[datetime]
    status: NotRequired[Status]
    response_status_code: NotRequired[int]
    response_body: NotRequired[str]
    response_headers: NotRequired[Dict[str, str]]


class DeliveryAttempt(BaseModel):
    delivered_at: Optional[datetime] = None

    status: Optional[Status] = None

    response_status_code: Optional[int] = None

    response_body: Optional[str] = None

    response_headers: Optional[Dict[str, str]] = None
