# Path: pygls/lsp/types/basic_structures.py
# URI = NewType('URI', str)
# T = TypeVar('T')
# def snake_to_camel(string: str) -> str:
#     def check_result_or_error(cls, values):
#     def check_result_or_error(cls, values):
#     def __eq__(self, other):
#     def __ge__(self, other):
#     def __gt__(self, other):
#     def __le__(self, other):
#     def __lt__(self, other):
#     def __ne__(self, other):
#     def __hash__(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __eq__(self, other):
#     def __hash__(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __eq__(self, other):
#     def __repr__(self):
#     def check_result_or_error(cls, values):
# class Model(BaseModel):
#     class Config:
# class JsonRpcMessage(Model):
# class JsonRPCNotification(JsonRpcMessage):
# class JsonRPCRequestMessage(JsonRpcMessage):
# class JsonRPCResponseMessage(JsonRpcMessage):
# class Position(Model):
# class Range(Model):
# class Location(Model):
# class Trace(str, enum.Enum):
# class CancelParams(Model):
# class ProgressParams(Model):
# class LogTraceParams(Model):
# class SetTraceParams(Model):
# class RegularExpressionsClientCapabilities(Model):
# class ResolveSupportClientCapabilities(Model):
# class LocationLink(Model):
# class DiagnosticSeverity(enum.IntEnum):
# class DiagnosticTag(enum.IntEnum):
# class DiagnosticRelatedInformation(Model):
# class CodeDescription(Model):
# class Diagnostic(Model):
# class Command(Model):
# class TextEdit(Model):
# class AnnotatedTextEdit(TextEdit):
# class ChangeAnnotation(Model):
# class ResourceOperationKind(str, enum.Enum):
# class CreateFileOptions(Model):
# class CreateFile(Model):
# class RenameFileOptions(Model):
# class RenameFile(Model):
# class DeleteFileOptions(Model):
# class DeleteFile(Model):
# class FailureHandlingKind(str, enum.Enum):
# class ChangeAnnotationSupport(Model):
# class WorkspaceEditClientCapabilities(Model):
# class TextDocumentIdentifier(Model):
# class TextDocumentItem(Model):
# class VersionedTextDocumentIdentifier(TextDocumentIdentifier):
# class OptionalVersionedTextDocumentIdentifier(TextDocumentIdentifier):
# class TextDocumentEdit(Model):
# class TextDocumentPositionParams(Model):
# class DocumentFilter(Model):
# class StaticRegistrationOptions(Model):
# class TextDocumentRegistrationOptions(Model):
# class MarkupKind(str, enum.Enum):
# class MarkupContent(Model):
# class WorkspaceEdit(Model):
# class WorkDoneProgressBegin(Model):
# class WorkDoneProgressReport(Model):
# class WorkDoneProgressEnd(Model):
# class WorkDoneProgressParams(Model):
# class WorkDoneProgressOptions(Model):
# class PartialResultParams(Model):
# 
# Path: pygls/lsp/types/language_features/document_symbol.py
# class WorkspaceCapabilitiesSymbolKind(Model):
#     value_set: Optional[List[SymbolKind]]
# 
# class WorkspaceCapabilitiesTagSupport(Model):
#     value_set: List[SymbolKind]


import enum
from typing import Any, List, Optional, Union
from pygls.lsp.types.basic_structures import (Model, NumType, PartialResultParams, Range,
                                              TextDocumentIdentifier, TextDocumentItem,
                                              VersionedTextDocumentIdentifier,
                                              WorkDoneProgressOptions, WorkDoneProgressParams,
                                              WorkspaceEdit)
from pygls.lsp.types.language_features.document_symbol import (WorkspaceCapabilitiesSymbolKind,
                                                               WorkspaceCapabilitiesTagSupport)
    Change = 2
    Delete = 4


class FileSystemWatcher(Model):
    glob_pattern: str
    kind: Optional[WatchKind]


class DidChangeWatchedFilesRegistrationOptions(Model):
    watchers: List[FileSystemWatcher]


class FileChangeType(enum.IntEnum):
    Created = 1
    Changed = 2
    Deleted = 3


class FileEvent(Model):
    uri: str
    type: FileChangeType


class DidChangeWatchedFilesParams(Model):
    changes: List[FileEvent]


class WorkspaceSymbolClientCapabilities(Model):
    dynamic_registration: Optional[bool]

# Path: pygls/lsp/types/basic_structures.py
# URI = NewType('URI', str)
# T = TypeVar('T')
# def snake_to_camel(string: str) -> str:
#     def check_result_or_error(cls, values):
#     def check_result_or_error(cls, values):
#     def __eq__(self, other):
#     def __ge__(self, other):
#     def __gt__(self, other):
#     def __le__(self, other):
#     def __lt__(self, other):
#     def __ne__(self, other):
#     def __hash__(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __eq__(self, other):
#     def __hash__(self):
#     def __iter__(self):
#     def __repr__(self):
#     def __eq__(self, other):
#     def __repr__(self):
#     def check_result_or_error(cls, values):
# class Model(BaseModel):
#     class Config:
# class JsonRpcMessage(Model):
# class JsonRPCNotification(JsonRpcMessage):
# class JsonRPCRequestMessage(JsonRpcMessage):
# class JsonRPCResponseMessage(JsonRpcMessage):
# class Position(Model):
# class Range(Model):
# class Location(Model):
# class Trace(str, enum.Enum):
# class CancelParams(Model):
# class ProgressParams(Model):
# class LogTraceParams(Model):
# class SetTraceParams(Model):
# class RegularExpressionsClientCapabilities(Model):
# class ResolveSupportClientCapabilities(Model):
# class LocationLink(Model):
# class DiagnosticSeverity(enum.IntEnum):
# class DiagnosticTag(enum.IntEnum):
# class DiagnosticRelatedInformation(Model):
# class CodeDescription(Model):
# class Diagnostic(Model):
# class Command(Model):
# class TextEdit(Model):
# class AnnotatedTextEdit(TextEdit):
# class ChangeAnnotation(Model):
# class ResourceOperationKind(str, enum.Enum):
# class CreateFileOptions(Model):
# class CreateFile(Model):
# class RenameFileOptions(Model):
# class RenameFile(Model):
# class DeleteFileOptions(Model):
# class DeleteFile(Model):
# class FailureHandlingKind(str, enum.Enum):
# class ChangeAnnotationSupport(Model):
# class WorkspaceEditClientCapabilities(Model):
# class TextDocumentIdentifier(Model):
# class TextDocumentItem(Model):
# class VersionedTextDocumentIdentifier(TextDocumentIdentifier):
# class OptionalVersionedTextDocumentIdentifier(TextDocumentIdentifier):
# class TextDocumentEdit(Model):
# class TextDocumentPositionParams(Model):
# class DocumentFilter(Model):
# class StaticRegistrationOptions(Model):
# class TextDocumentRegistrationOptions(Model):
# class MarkupKind(str, enum.Enum):
# class MarkupContent(Model):
# class WorkspaceEdit(Model):
# class WorkDoneProgressBegin(Model):
# class WorkDoneProgressReport(Model):
# class WorkDoneProgressEnd(Model):
# class WorkDoneProgressParams(Model):
# class WorkDoneProgressOptions(Model):
# class PartialResultParams(Model):
# 
# Path: pygls/lsp/types/language_features/document_symbol.py
# class WorkspaceCapabilitiesSymbolKind(Model):
#     value_set: Optional[List[SymbolKind]]
# 
# class WorkspaceCapabilitiesTagSupport(Model):
#     value_set: List[SymbolKind]


# Path: pygls/lsp/types/workspace.py
import enum
from typing import Any, List, Optional, Union
from pygls.lsp.types.basic_structures import (Model, NumType, PartialResultParams, Range,
                                              TextDocumentIdentifier, TextDocumentItem,
                                              VersionedTextDocumentIdentifier,
                                              WorkDoneProgressOptions, WorkDoneProgressParams,
                                              WorkspaceEdit)
from pygls.lsp.types.language_features.document_symbol import (WorkspaceCapabilitiesSymbolKind,
                                                               WorkspaceCapabilitiesTagSupport)

    Change = 2
    Delete = 4


class FileSystemWatcher(Model):
    glob_pattern: str
    kind: Optional[WatchKind]


class DidChangeWatchedFilesRegistrationOptions(Model):
    watchers: List[FileSystemWatcher]


class FileChangeType(enum.IntEnum):
    Created = 1
    Changed = 2
    Deleted = 3


class FileEvent(Model):
    uri: str
    type: FileChangeType


class DidChangeWatchedFilesParams(Model):
    changes: List[FileEvent]


class WorkspaceSymbolClientCapabilities(Model):
    dynamic_registration: Optional[bool]

    symbol_kind: Optional[WorkspaceCapabilitiesSymbolKind]