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

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


class SmbSmbCapabilitiesTypedDict(TypedDict):
    smb_dfs_support: NotRequired[bool]
    r"""Server supports Distributed File System"""
    smb_directory_leasing_support: NotRequired[bool]
    r"""Server supports directory leasing"""
    smb_encryption_support: NotRequired[bool]
    r"""Server supports encryption"""
    smb_leasing_support: NotRequired[bool]
    r"""Server supports Leasing"""
    smb_multichan_support: NotRequired[bool]
    r"""Server supports multiple channels per session"""
    smb_multicredit_support: NotRequired[bool]
    r"""Server supports multi-credit operations"""
    smb_persistent_handle_support: NotRequired[bool]
    r"""Server supports persistent handles"""


class SmbSmbCapabilities(BaseModel):
    smb_dfs_support: Optional[bool] = None
    r"""Server supports Distributed File System"""

    smb_directory_leasing_support: Optional[bool] = None
    r"""Server supports directory leasing"""

    smb_encryption_support: Optional[bool] = None
    r"""Server supports encryption"""

    smb_leasing_support: Optional[bool] = None
    r"""Server supports Leasing"""

    smb_multichan_support: Optional[bool] = None
    r"""Server supports multiple channels per session"""

    smb_multicredit_support: Optional[bool] = None
    r"""Server supports multi-credit operations"""

    smb_persistent_handle_support: Optional[bool] = None
    r"""Server supports persistent handles"""
