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

from __future__ import annotations
from .artifact import Artifact, ArtifactTypedDict
from .complianceassessment import ComplianceAssessment, ComplianceAssessmentTypedDict
from datetime import datetime
from nabla_py.types import BaseModel
from typing import List, Literal
from typing_extensions import TypedDict


EvidenceResponseStatus = Literal[
    "completed",
    "failed",
]
r"""Assessment status"""


class EvidenceResponseTypedDict(TypedDict):
    r"""Evidence assessment completed successfully"""

    id: str
    r"""Unique identifier for this assessment"""
    status: EvidenceResponseStatus
    r"""Assessment status"""
    created_at: datetime
    r"""Timestamp when assessment was created"""
    assessment: ComplianceAssessmentTypedDict
    artifacts: List[ArtifactTypedDict]
    r"""Generated artifacts (assessment files, diagrams)"""


class EvidenceResponse(BaseModel):
    r"""Evidence assessment completed successfully"""

    id: str
    r"""Unique identifier for this assessment"""

    status: EvidenceResponseStatus
    r"""Assessment status"""

    created_at: datetime
    r"""Timestamp when assessment was created"""

    assessment: ComplianceAssessment

    artifacts: List[Artifact]
    r"""Generated artifacts (assessment files, diagrams)"""
