# generated by datamodel-codegen:
#   filename:  pyright.schema.json
#   timestamp: 2025-11-28T18:09:28+00:00

from __future__ import annotations

from typing import Dict, List, Literal, NotRequired, TypedDict, Union

type Diagnostic = Union[bool, Literal["none", "information", "warning", "error"]]


type ExtraPaths = List[str]


type PythonVersion = str


type PythonPlatform = str


type DisableBytesTypePromotions = bool


type StrictListInference = bool


type StrictSetInference = bool


type StrictDictionaryInference = bool


type AnalyzeUnannotatedFunctions = bool


type StrictParameterNoneValue = bool


type EnableExperimentalFeatures = bool


type EnableTypeIgnoreComments = bool


type EnableReachabilityAnalysis = bool


type DeprecateTypingAliases = bool


type ReportGeneralTypeIssues = Diagnostic


type ReportPropertyTypeMismatch = Diagnostic


type ReportFunctionMemberAccess = Diagnostic


type ReportMissingImports = Diagnostic


type ReportMissingModuleSource = Diagnostic


type ReportInvalidTypeForm = Diagnostic


type ReportMissingTypeStubs = Diagnostic


type ReportImportCycles = Diagnostic


type ReportUnusedImport = Diagnostic


type ReportUnusedClass = Diagnostic


type ReportUnusedFunction = Diagnostic


type ReportUnusedVariable = Diagnostic


type ReportDuplicateImport = Diagnostic


type ReportWildcardImportFromLibrary = Diagnostic


type ReportAbstractUsage = Diagnostic


type ReportArgumentType = Diagnostic


type ReportAssertTypeFailure = Diagnostic


type ReportAssignmentType = Diagnostic


type ReportAttributeAccessIssue = Diagnostic


type ReportCallIssue = Diagnostic


type ReportInconsistentOverload = Diagnostic


type ReportIndexIssue = Diagnostic


type ReportInvalidTypeArguments = Diagnostic


type ReportNoOverloadImplementation = Diagnostic


type ReportOperatorIssue = Diagnostic


type ReportOptionalSubscript = Diagnostic


type ReportOptionalMemberAccess = Diagnostic


type ReportOptionalCall = Diagnostic


type ReportOptionalIterable = Diagnostic


type ReportOptionalContextManager = Diagnostic


type ReportOptionalOperand = Diagnostic


type ReportRedeclaration = Diagnostic


type ReportReturnType = Diagnostic


type ReportTypedDictNotRequiredAccess = Diagnostic


type ReportUntypedFunctionDecorator = Diagnostic


type ReportUntypedClassDecorator = Diagnostic


type ReportUntypedBaseClass = Diagnostic


type ReportUntypedNamedTuple = Diagnostic


type ReportPrivateUsage = Diagnostic


type ReportTypeCommentUsage = Diagnostic


type ReportPrivateImportUsage = Diagnostic


type ReportConstantRedefinition = Diagnostic


type ReportDeprecated = Diagnostic


type ReportIncompatibleMethodOverride = Diagnostic


type ReportIncompatibleVariableOverride = Diagnostic


type ReportInconsistentConstructor = Diagnostic


type ReportOverlappingOverload = Diagnostic


type ReportPossiblyUnboundVariable = Diagnostic


type ReportMissingSuperCall = Diagnostic


type ReportUninitializedInstanceVariable = Diagnostic


type ReportInvalidStringEscapeSequence = Diagnostic


type ReportUnknownParameterType = Diagnostic


type ReportUnknownArgumentType = Diagnostic


type ReportUnknownLambdaType = Diagnostic


type ReportUnknownVariableType = Diagnostic


type ReportUnknownMemberType = Diagnostic


type ReportMissingParameterType = Diagnostic


type ReportMissingTypeArgument = Diagnostic


type ReportInvalidTypeVarUse = Diagnostic


type ReportCallInDefaultInitializer = Diagnostic


type ReportUnnecessaryIsInstance = Diagnostic


type ReportUnnecessaryCast = Diagnostic


type ReportUnnecessaryComparison = Diagnostic


type ReportUnnecessaryContains = Diagnostic


type ReportAssertAlwaysTrue = Diagnostic


type ReportSelfClsParameterName = Diagnostic


type ReportImplicitStringConcatenation = Diagnostic


type ReportUnboundVariable = Diagnostic


type ReportUnhashable = Diagnostic


type ReportUndefinedVariable = Diagnostic


type ReportInvalidStubStatement = Diagnostic


type ReportIncompleteStub = Diagnostic


type ReportUnsupportedDunderAll = Diagnostic


type ReportUnusedCallResult = Diagnostic


type ReportUnusedCoroutine = Diagnostic


type ReportUnusedExcept = Diagnostic


type ReportUnusedExpression = Diagnostic


type ReportUnnecessaryTypeIgnoreComment = Diagnostic


type ReportMatchNotExhaustive = Diagnostic


type ReportUnreachable = Diagnostic


type ReportImplicitOverride = Diagnostic


class ExecutionEnvironment(TypedDict):
    root: str
    disableBytesTypePromotions: NotRequired[DisableBytesTypePromotions]
    strictListInference: NotRequired[StrictListInference]
    strictSetInference: NotRequired[StrictSetInference]
    strictDictionaryInference: NotRequired[StrictDictionaryInference]
    analyzeUnannotatedFunctions: NotRequired[AnalyzeUnannotatedFunctions]
    strictParameterNoneValue: NotRequired[StrictParameterNoneValue]
    enableExperimentalFeatures: NotRequired[EnableExperimentalFeatures]
    enableTypeIgnoreComments: NotRequired[EnableTypeIgnoreComments]
    enableReachabilityAnalysis: NotRequired[EnableReachabilityAnalysis]
    deprecateTypingAliases: NotRequired[DeprecateTypingAliases]
    reportGeneralTypeIssues: NotRequired[ReportGeneralTypeIssues]
    reportPropertyTypeMismatch: NotRequired[ReportPropertyTypeMismatch]
    reportFunctionMemberAccess: NotRequired[ReportFunctionMemberAccess]
    reportMissingImports: NotRequired[ReportMissingImports]
    reportMissingModuleSource: NotRequired[ReportMissingModuleSource]
    reportInvalidTypeForm: NotRequired[ReportInvalidTypeForm]
    reportMissingTypeStubs: NotRequired[ReportMissingTypeStubs]
    reportImportCycles: NotRequired[ReportImportCycles]
    reportUnusedImport: NotRequired[ReportUnusedImport]
    reportUnusedClass: NotRequired[ReportUnusedClass]
    reportUnusedFunction: NotRequired[ReportUnusedFunction]
    reportUnusedVariable: NotRequired[ReportUnusedVariable]
    reportDuplicateImport: NotRequired[ReportDuplicateImport]
    reportWildcardImportFromLibrary: NotRequired[ReportWildcardImportFromLibrary]
    reportAbstractUsage: NotRequired[ReportAbstractUsage]
    reportArgumentType: NotRequired[ReportArgumentType]
    reportAssertTypeFailure: NotRequired[ReportAssertTypeFailure]
    reportAssignmentType: NotRequired[ReportAssignmentType]
    reportAttributeAccessIssue: NotRequired[ReportAttributeAccessIssue]
    reportCallIssue: NotRequired[ReportCallIssue]
    reportInconsistentOverload: NotRequired[ReportInconsistentOverload]
    reportIndexIssue: NotRequired[ReportIndexIssue]
    reportInvalidTypeArguments: NotRequired[ReportInvalidTypeArguments]
    reportNoOverloadImplementation: NotRequired[ReportNoOverloadImplementation]
    reportOperatorIssue: NotRequired[ReportOperatorIssue]
    reportOptionalSubscript: NotRequired[ReportOptionalSubscript]
    reportOptionalMemberAccess: NotRequired[ReportOptionalMemberAccess]
    reportOptionalCall: NotRequired[ReportOptionalCall]
    reportOptionalIterable: NotRequired[ReportOptionalIterable]
    reportOptionalContextManager: NotRequired[ReportOptionalContextManager]
    reportOptionalOperand: NotRequired[ReportOptionalOperand]
    reportRedeclaration: NotRequired[ReportRedeclaration]
    reportReturnType: NotRequired[ReportReturnType]
    reportTypedDictNotRequiredAccess: NotRequired[ReportTypedDictNotRequiredAccess]
    reportUntypedFunctionDecorator: NotRequired[ReportUntypedFunctionDecorator]
    reportUntypedClassDecorator: NotRequired[ReportUntypedClassDecorator]
    reportUntypedBaseClass: NotRequired[ReportUntypedBaseClass]
    reportUntypedNamedTuple: NotRequired[ReportUntypedNamedTuple]
    reportPrivateUsage: NotRequired[ReportPrivateUsage]
    reportTypeCommentUsage: NotRequired[ReportTypeCommentUsage]
    reportPrivateImportUsage: NotRequired[ReportPrivateImportUsage]
    reportConstantRedefinition: NotRequired[ReportConstantRedefinition]
    reportDeprecated: NotRequired[ReportDeprecated]
    reportIncompatibleMethodOverride: NotRequired[ReportIncompatibleMethodOverride]
    reportIncompatibleVariableOverride: NotRequired[ReportIncompatibleVariableOverride]
    reportInconsistentConstructor: NotRequired[ReportInconsistentConstructor]
    reportOverlappingOverload: NotRequired[ReportOverlappingOverload]
    reportPossiblyUnboundVariable: NotRequired[ReportPossiblyUnboundVariable]
    reportMissingSuperCall: NotRequired[ReportMissingSuperCall]
    reportUninitializedInstanceVariable: NotRequired[
        ReportUninitializedInstanceVariable
    ]
    reportInvalidStringEscapeSequence: NotRequired[ReportInvalidStringEscapeSequence]
    reportUnknownParameterType: NotRequired[ReportUnknownParameterType]
    reportUnknownArgumentType: NotRequired[ReportUnknownArgumentType]
    reportUnknownLambdaType: NotRequired[ReportUnknownLambdaType]
    reportUnknownVariableType: NotRequired[ReportUnknownVariableType]
    reportUnknownMemberType: NotRequired[ReportUnknownMemberType]
    reportMissingParameterType: NotRequired[ReportMissingParameterType]
    reportMissingTypeArgument: NotRequired[ReportMissingTypeArgument]
    reportInvalidTypeVarUse: NotRequired[ReportInvalidTypeVarUse]
    reportCallInDefaultInitializer: NotRequired[ReportCallInDefaultInitializer]
    reportUnnecessaryIsInstance: NotRequired[ReportUnnecessaryIsInstance]
    reportUnnecessaryCast: NotRequired[ReportUnnecessaryCast]
    reportUnnecessaryComparison: NotRequired[ReportUnnecessaryComparison]
    reportUnnecessaryContains: NotRequired[ReportUnnecessaryContains]
    reportAssertAlwaysTrue: NotRequired[ReportAssertAlwaysTrue]
    reportSelfClsParameterName: NotRequired[ReportSelfClsParameterName]
    reportImplicitStringConcatenation: NotRequired[ReportImplicitStringConcatenation]
    reportUnboundVariable: NotRequired[ReportUnboundVariable]
    reportUnhashable: NotRequired[ReportUnhashable]
    reportUndefinedVariable: NotRequired[ReportUndefinedVariable]
    reportInvalidStubStatement: NotRequired[ReportInvalidStubStatement]
    reportIncompleteStub: NotRequired[ReportIncompleteStub]
    reportUnsupportedDunderAll: NotRequired[ReportUnsupportedDunderAll]
    reportUnusedCallResult: NotRequired[ReportUnusedCallResult]
    reportUnusedCoroutine: NotRequired[ReportUnusedCoroutine]
    reportUnusedExcept: NotRequired[ReportUnusedExcept]
    reportUnusedExpression: NotRequired[ReportUnusedExpression]
    reportUnnecessaryTypeIgnoreComment: NotRequired[ReportUnnecessaryTypeIgnoreComment]
    reportMatchNotExhaustive: NotRequired[ReportMatchNotExhaustive]
    reportUnreachable: NotRequired[ReportUnreachable]
    reportImplicitOverride: NotRequired[ReportImplicitOverride]
    extraPaths: NotRequired[ExtraPaths]
    pythonVersion: NotRequired[PythonVersion]
    pythonPlatform: NotRequired[PythonPlatform]


class Model(TypedDict):
    """
    Pyright Configuration Schema
    """

    extends: NotRequired[str]
    include: NotRequired[List[str]]
    exclude: NotRequired[List[str]]
    ignore: NotRequired[List[str]]
    strict: NotRequired[List[str]]
    defineConstant: NotRequired[Dict[str, Union[str, bool]]]
    typeCheckingMode: NotRequired[Literal["off", "basic", "standard", "strict"]]
    useLibraryCodeForTypes: NotRequired[bool]
    typeshedPath: NotRequired[str]
    stubPath: NotRequired[str]
    disableBytesTypePromotions: NotRequired[DisableBytesTypePromotions]
    strictListInference: NotRequired[StrictListInference]
    strictSetInference: NotRequired[StrictSetInference]
    strictDictionaryInference: NotRequired[StrictDictionaryInference]
    analyzeUnannotatedFunctions: NotRequired[AnalyzeUnannotatedFunctions]
    strictParameterNoneValue: NotRequired[StrictParameterNoneValue]
    enableExperimentalFeatures: NotRequired[EnableExperimentalFeatures]
    enableTypeIgnoreComments: NotRequired[EnableTypeIgnoreComments]
    enableReachabilityAnalysis: NotRequired[EnableReachabilityAnalysis]
    deprecateTypingAliases: NotRequired[DeprecateTypingAliases]
    reportGeneralTypeIssues: NotRequired[ReportGeneralTypeIssues]
    reportPropertyTypeMismatch: NotRequired[ReportPropertyTypeMismatch]
    reportFunctionMemberAccess: NotRequired[ReportFunctionMemberAccess]
    reportMissingImports: NotRequired[ReportMissingImports]
    reportMissingModuleSource: NotRequired[ReportMissingModuleSource]
    reportInvalidTypeForm: NotRequired[ReportInvalidTypeForm]
    reportMissingTypeStubs: NotRequired[ReportMissingTypeStubs]
    reportImportCycles: NotRequired[ReportImportCycles]
    reportUnusedImport: NotRequired[ReportUnusedImport]
    reportUnusedClass: NotRequired[ReportUnusedClass]
    reportUnusedFunction: NotRequired[ReportUnusedFunction]
    reportUnusedVariable: NotRequired[ReportUnusedVariable]
    reportDuplicateImport: NotRequired[ReportDuplicateImport]
    reportWildcardImportFromLibrary: NotRequired[ReportWildcardImportFromLibrary]
    reportAbstractUsage: NotRequired[ReportAbstractUsage]
    reportArgumentType: NotRequired[ReportArgumentType]
    reportAssertTypeFailure: NotRequired[ReportAssertTypeFailure]
    reportAssignmentType: NotRequired[ReportAssignmentType]
    reportAttributeAccessIssue: NotRequired[ReportAttributeAccessIssue]
    reportCallIssue: NotRequired[ReportCallIssue]
    reportInconsistentOverload: NotRequired[ReportInconsistentOverload]
    reportIndexIssue: NotRequired[ReportIndexIssue]
    reportInvalidTypeArguments: NotRequired[ReportInvalidTypeArguments]
    reportNoOverloadImplementation: NotRequired[ReportNoOverloadImplementation]
    reportOperatorIssue: NotRequired[ReportOperatorIssue]
    reportOptionalSubscript: NotRequired[ReportOptionalSubscript]
    reportOptionalMemberAccess: NotRequired[ReportOptionalMemberAccess]
    reportOptionalCall: NotRequired[ReportOptionalCall]
    reportOptionalIterable: NotRequired[ReportOptionalIterable]
    reportOptionalContextManager: NotRequired[ReportOptionalContextManager]
    reportOptionalOperand: NotRequired[ReportOptionalOperand]
    reportRedeclaration: NotRequired[ReportRedeclaration]
    reportReturnType: NotRequired[ReportReturnType]
    reportTypedDictNotRequiredAccess: NotRequired[ReportTypedDictNotRequiredAccess]
    reportUntypedFunctionDecorator: NotRequired[ReportUntypedFunctionDecorator]
    reportUntypedClassDecorator: NotRequired[ReportUntypedClassDecorator]
    reportUntypedBaseClass: NotRequired[ReportUntypedBaseClass]
    reportUntypedNamedTuple: NotRequired[ReportUntypedNamedTuple]
    reportPrivateUsage: NotRequired[ReportPrivateUsage]
    reportTypeCommentUsage: NotRequired[ReportTypeCommentUsage]
    reportPrivateImportUsage: NotRequired[ReportPrivateImportUsage]
    reportConstantRedefinition: NotRequired[ReportConstantRedefinition]
    reportDeprecated: NotRequired[ReportDeprecated]
    reportIncompatibleMethodOverride: NotRequired[ReportIncompatibleMethodOverride]
    reportIncompatibleVariableOverride: NotRequired[ReportIncompatibleVariableOverride]
    reportInconsistentConstructor: NotRequired[ReportInconsistentConstructor]
    reportOverlappingOverload: NotRequired[ReportOverlappingOverload]
    reportPossiblyUnboundVariable: NotRequired[ReportPossiblyUnboundVariable]
    reportMissingSuperCall: NotRequired[ReportMissingSuperCall]
    reportUninitializedInstanceVariable: NotRequired[
        ReportUninitializedInstanceVariable
    ]
    reportInvalidStringEscapeSequence: NotRequired[ReportInvalidStringEscapeSequence]
    reportUnknownParameterType: NotRequired[ReportUnknownParameterType]
    reportUnknownArgumentType: NotRequired[ReportUnknownArgumentType]
    reportUnknownLambdaType: NotRequired[ReportUnknownLambdaType]
    reportUnknownVariableType: NotRequired[ReportUnknownVariableType]
    reportUnknownMemberType: NotRequired[ReportUnknownMemberType]
    reportMissingParameterType: NotRequired[ReportMissingParameterType]
    reportMissingTypeArgument: NotRequired[ReportMissingTypeArgument]
    reportInvalidTypeVarUse: NotRequired[ReportInvalidTypeVarUse]
    reportCallInDefaultInitializer: NotRequired[ReportCallInDefaultInitializer]
    reportUnnecessaryIsInstance: NotRequired[ReportUnnecessaryIsInstance]
    reportUnnecessaryCast: NotRequired[ReportUnnecessaryCast]
    reportUnnecessaryComparison: NotRequired[ReportUnnecessaryComparison]
    reportUnnecessaryContains: NotRequired[ReportUnnecessaryContains]
    reportAssertAlwaysTrue: NotRequired[ReportAssertAlwaysTrue]
    reportSelfClsParameterName: NotRequired[ReportSelfClsParameterName]
    reportImplicitStringConcatenation: NotRequired[ReportImplicitStringConcatenation]
    reportUnboundVariable: NotRequired[ReportUnboundVariable]
    reportUnhashable: NotRequired[ReportUnhashable]
    reportUndefinedVariable: NotRequired[ReportUndefinedVariable]
    reportInvalidStubStatement: NotRequired[ReportInvalidStubStatement]
    reportIncompleteStub: NotRequired[ReportIncompleteStub]
    reportUnsupportedDunderAll: NotRequired[ReportUnsupportedDunderAll]
    reportUnusedCallResult: NotRequired[ReportUnusedCallResult]
    reportUnusedCoroutine: NotRequired[ReportUnusedCoroutine]
    reportUnusedExcept: NotRequired[ReportUnusedExcept]
    reportUnusedExpression: NotRequired[ReportUnusedExpression]
    reportUnnecessaryTypeIgnoreComment: NotRequired[ReportUnnecessaryTypeIgnoreComment]
    reportMatchNotExhaustive: NotRequired[ReportMatchNotExhaustive]
    reportUnreachable: NotRequired[ReportUnreachable]
    reportImplicitOverride: NotRequired[ReportImplicitOverride]
    extraPaths: NotRequired[ExtraPaths]
    pythonVersion: NotRequired[PythonVersion]
    pythonPlatform: NotRequired[PythonPlatform]
    venvPath: NotRequired[str]
    venv: NotRequired[str]
    verboseOutput: NotRequired[bool]
    executionEnvironments: NotRequired[List[ExecutionEnvironment]]
