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

from __future__ import annotations
from .rdp_certificateinfo import RdpCertificateInfo, RdpCertificateInfoTypedDict
from .rdp_connectresponse import RdpConnectResponse, RdpConnectResponseTypedDict
from .rdp_protocolflags import RdpProtocolFlags, RdpProtocolFlagsTypedDict
from .rdp_securityprotocol import RdpSecurityProtocol, RdpSecurityProtocolTypedDict
from .rdp_version import RdpVersion, RdpVersionTypedDict
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class RdpTypedDict(TypedDict):
    certificate_info: NotRequired[RdpCertificateInfoTypedDict]
    connect_response: NotRequired[RdpConnectResponseTypedDict]
    protocol_flags: NotRequired[RdpProtocolFlagsTypedDict]
    selected_security_protocol: NotRequired[RdpSecurityProtocolTypedDict]
    version: NotRequired[RdpVersionTypedDict]
    x224_cc_pdu_dstref: NotRequired[int]
    x224_cc_pdu_srcref: NotRequired[int]


class Rdp(BaseModel):
    certificate_info: Optional[RdpCertificateInfo] = None

    connect_response: Optional[RdpConnectResponse] = None

    protocol_flags: Optional[RdpProtocolFlags] = None

    selected_security_protocol: Optional[RdpSecurityProtocol] = None

    version: Optional[RdpVersion] = None

    x224_cc_pdu_dstref: Optional[int] = None

    x224_cc_pdu_srcref: Optional[int] = None
