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

from __future__ import annotations
from .amqp_protocol import AmqpProtocol, AmqpProtocolTypedDict
from .amqp_version import AmqpVersion, AmqpVersionTypedDict
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class AmqpTypedDict(TypedDict):
    explicit_tls: NotRequired[bool]
    r"""Connected via a TLS connection after initial handshake"""
    implicit_tls: NotRequired[bool]
    r"""Connected via a TLS wrapped connection (AMQPS)"""
    protocol_id: NotRequired[AmqpProtocolTypedDict]
    version: NotRequired[AmqpVersionTypedDict]


class Amqp(BaseModel):
    explicit_tls: Optional[bool] = None
    r"""Connected via a TLS connection after initial handshake"""

    implicit_tls: Optional[bool] = None
    r"""Connected via a TLS wrapped connection (AMQPS)"""

    protocol_id: Optional[AmqpProtocol] = None

    version: Optional[AmqpVersion] = None
