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

from __future__ import annotations
from censys_platform.types import BaseModel
from enum import Enum
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class Version(str, Enum):
    UNKNOWN = ""
    SS_LV_2 = "ss_lv_2"
    SS_LV_3 = "ss_lv_3"
    TLSV1_0 = "tlsv1_0"
    TLSV1_1 = "tlsv1_1"
    TLSV1_2 = "tlsv1_2"
    TLSV1_3 = "tlsv1_3"
    DTLSV1_0 = "dtlsv1_0"
    DTLSV1_2 = "dtlsv1_2"
    DTLSV1_3 = "dtlsv1_3"


class TLSVersionDataTypedDict(TypedDict):
    ja3s: NotRequired[str]
    ja4s: NotRequired[str]
    version: NotRequired[Version]


class TLSVersionData(BaseModel):
    ja3s: Optional[str] = None

    ja4s: Optional[str] = None

    version: Optional[Version] = None
