# Generated by ariadne-codegen
# Source: ./documents

from typing import Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import ObservableTypes


class MatchEntity(BaseModel):
    match_entity: Optional["MatchEntityMatchEntity"] = Field(alias="matchEntity")


class MatchEntityMatchEntity(BaseModel):
    reference: Optional["MatchEntityMatchEntityReference"]
    relevance: Optional[float]
    reasoning: Optional[str]


class MatchEntityMatchEntityReference(BaseModel):
    type: ObservableTypes
    observable: "MatchEntityMatchEntityReferenceObservable"


class MatchEntityMatchEntityReferenceObservable(BaseModel):
    id: str
    name: Optional[str]


MatchEntity.model_rebuild()
MatchEntityMatchEntity.model_rebuild()
MatchEntityMatchEntityReference.model_rebuild()
