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

from __future__ import annotations
from .dsacryptographickey import DSACryptographicKey, DSACryptographicKeyTypedDict
from .ecdsacryptographickey import ECDSACryptographicKey, ECDSACryptographicKeyTypedDict
from .ed25519cryptographickey import (
    Ed25519CryptographicKey,
    Ed25519CryptographicKeyTypedDict,
)
from .rsacryptographickey import RSACryptographicKey, RSACryptographicKeyTypedDict
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class SSHServerHostKeyTypedDict(TypedDict):
    certkey_public_key: NotRequired[str]
    dsa_public_key: NotRequired[DSACryptographicKeyTypedDict]
    ecdsa_public_key: NotRequired[ECDSACryptographicKeyTypedDict]
    ed25519_public_key: NotRequired[Ed25519CryptographicKeyTypedDict]
    fingerprint_sha256: NotRequired[str]
    rsa_public_key: NotRequired[RSACryptographicKeyTypedDict]


class SSHServerHostKey(BaseModel):
    certkey_public_key: Optional[str] = None

    dsa_public_key: Optional[DSACryptographicKey] = None

    ecdsa_public_key: Optional[ECDSACryptographicKey] = None

    ed25519_public_key: Optional[Ed25519CryptographicKey] = None

    fingerprint_sha256: Optional[str] = None

    rsa_public_key: Optional[RSACryptographicKey] = None
