{
  "$defs": {
    "ruleProperties": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "excludes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignoreAnnotated": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ignoreFunction": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "https://json.schemastore.org/detekt-1.22.0.json",
  "properties": {
    "build": {
      "type": "object",
      "properties": {
        "maxIssues": {
          "type": "integer"
        },
        "excludeCorrectable": {
          "type": "boolean"
        },
        "weights": {
          "type": "object",
          "additionalProperties": {
            "type": "integer"
          }
        }
      }
    },
    "config": {
      "type": "object",
      "properties": {
        "validation": {
          "type": "boolean"
        },
        "warningsAsErrors": {
          "type": "boolean"
        },
        "checkExhaustiveness": {
          "type": "boolean"
        },
        "excludes": {
          "type": "string"
        }
      }
    },
    "processors": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "exclude": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "console-reports": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "exclude": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "output-reports": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "exclude": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "comments": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "AbsentOrWrongFileLicense": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "licenseTemplateFile": {
              "type": "string"
            },
            "licenseTemplateIsRegex": {
              "type": "boolean"
            }
          }
        },
        "CommentOverPrivateFunction": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "CommentOverPrivateProperty": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "DeprecatedBlockTag": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EndOfSentenceFormat": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "endOfSentenceFormat": {
              "type": "string"
            }
          }
        },
        "KDocReferencesNonPublicProperty": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "OutdatedDocumentation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "matchTypeParameters": {
              "type": "boolean"
            },
            "matchDeclarationsOrder": {
              "type": "boolean"
            },
            "allowParamOnConstructorProperties": {
              "type": "boolean"
            }
          }
        },
        "UndocumentedPublicClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "searchInNestedClass": {
              "type": "boolean"
            },
            "searchInInnerClass": {
              "type": "boolean"
            },
            "searchInInnerObject": {
              "type": "boolean"
            },
            "searchInInnerInterface": {
              "type": "boolean"
            },
            "searchInProtectedClass": {
              "type": "boolean"
            }
          }
        },
        "UndocumentedPublicFunction": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "searchProtectedFunction": {
              "type": "boolean"
            }
          }
        },
        "UndocumentedPublicProperty": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "searchProtectedProperty": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "complexity": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "CognitiveComplexMethod": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "ComplexCondition": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "ComplexInterface": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            },
            "includeStaticDeclarations": {
              "type": "boolean"
            },
            "includePrivateDeclarations": {
              "type": "boolean"
            },
            "ignoreOverloaded": {
              "type": "boolean"
            }
          }
        },
        "CyclomaticComplexMethod": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            },
            "ignoreSingleWhenExpression": {
              "type": "boolean"
            },
            "ignoreSimpleWhenEntries": {
              "type": "boolean"
            },
            "ignoreNestingFunctions": {
              "type": "boolean"
            },
            "nestingFunctions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "LabeledExpression": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoredLabels": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "LargeClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "LongMethod": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "LongParameterList": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "functionThreshold": {
              "type": "integer"
            },
            "constructorThreshold": {
              "type": "integer"
            },
            "ignoreDefaultParameters": {
              "type": "boolean"
            },
            "ignoreDataClasses": {
              "type": "boolean"
            },
            "ignoreAnnotatedParameter": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "MethodOverloading": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "NamedArguments": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            },
            "ignoreArgumentsMatchingNames": {
              "type": "boolean"
            }
          }
        },
        "NestedBlockDepth": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "NestedScopeFunctions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            },
            "functions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "ReplaceSafeCallChainWithRun": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "StringLiteralDuplication": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            },
            "ignoreAnnotation": {
              "type": "boolean"
            },
            "excludeStringsWithLessThan5Characters": {
              "type": "boolean"
            },
            "ignoreStringsRegex": {
              "type": "string"
            }
          }
        },
        "TooManyFunctions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "thresholdInFiles": {
              "type": "integer"
            },
            "thresholdInClasses": {
              "type": "integer"
            },
            "thresholdInInterfaces": {
              "type": "integer"
            },
            "thresholdInObjects": {
              "type": "integer"
            },
            "thresholdInEnums": {
              "type": "integer"
            },
            "ignoreDeprecated": {
              "type": "boolean"
            },
            "ignorePrivate": {
              "type": "boolean"
            },
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "coroutines": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "GlobalCoroutineUsage": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "InjectDispatcher": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "dispatcherNames": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "RedundantSuspendModifier": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "SleepInsteadOfDelay": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "SuspendFunWithCoroutineScopeReceiver": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "SuspendFunWithFlowReturnType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        }
      }
    },
    "empty-blocks": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "EmptyCatchBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "allowedExceptionNameRegex": {
              "type": "string"
            }
          }
        },
        "EmptyClassBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyDefaultConstructor": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyDoWhileBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyElseBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyFinallyBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyForBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyFunctionBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        },
        "EmptyIfBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyInitBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyKtFile": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptySecondaryConstructor": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyTryBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyWhenBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EmptyWhileBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        }
      }
    },
    "exceptions": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "ExceptionRaisedInUnexpectedLocation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "methodNames": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "InstanceOfCheckForException": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NotImplementedDeclaration": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ObjectExtendsThrowable": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "PrintStackTrace": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "RethrowCaughtException": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ReturnFromFinally": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreLabeled": {
              "type": "boolean"
            }
          }
        },
        "SwallowedException": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoredExceptionTypes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowedExceptionNameRegex": {
              "type": "string"
            }
          }
        },
        "ThrowingExceptionFromFinally": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ThrowingExceptionInMain": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ThrowingExceptionsWithoutMessageOrCause": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "exceptions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "ThrowingNewInstanceOfSameException": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "TooGenericExceptionCaught": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "exceptionNames": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowedExceptionNameRegex": {
              "type": "string"
            }
          }
        },
        "TooGenericExceptionThrown": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "exceptionNames": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "naming": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "BooleanPropertyNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "allowedPattern": {
              "type": "string"
            },
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        },
        "ClassNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "classPattern": {
              "type": "string"
            }
          }
        },
        "ConstructorParameterNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "parameterPattern": {
              "type": "string"
            },
            "privateParameterPattern": {
              "type": "string"
            },
            "excludeClassPattern": {
              "type": "string"
            },
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        },
        "EnumNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "enumEntryPattern": {
              "type": "string"
            }
          }
        },
        "ForbiddenClassName": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "forbiddenName": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "FunctionMaxLength": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maximumFunctionNameLength": {
              "type": "integer"
            }
          }
        },
        "FunctionMinLength": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "minimumFunctionNameLength": {
              "type": "integer"
            }
          }
        },
        "FunctionNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "functionPattern": {
              "type": "string"
            },
            "excludeClassPattern": {
              "type": "string"
            },
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        },
        "FunctionParameterNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "parameterPattern": {
              "type": "string"
            },
            "excludeClassPattern": {
              "type": "string"
            },
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        },
        "InvalidPackageDeclaration": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "rootPackage": {
              "type": "string"
            },
            "requireRootInDeclaration": {
              "type": "boolean"
            }
          }
        },
        "LambdaParameterNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "parameterPattern": {
              "type": "string"
            }
          }
        },
        "MatchingDeclarationName": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "mustBeFirst": {
              "type": "boolean"
            }
          }
        },
        "MemberNameEqualsClassName": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        },
        "NoNameShadowing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NonBooleanPropertyPrefixedWithIs": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ObjectPropertyNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "constantPattern": {
              "type": "string"
            },
            "propertyPattern": {
              "type": "string"
            },
            "privatePropertyPattern": {
              "type": "string"
            }
          }
        },
        "PackageNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "packagePattern": {
              "type": "string"
            }
          }
        },
        "TopLevelPropertyNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "constantPattern": {
              "type": "string"
            },
            "propertyPattern": {
              "type": "string"
            },
            "privatePropertyPattern": {
              "type": "string"
            }
          }
        },
        "VariableMaxLength": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maximumVariableNameLength": {
              "type": "integer"
            }
          }
        },
        "VariableMinLength": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "minimumVariableNameLength": {
              "type": "integer"
            }
          }
        },
        "VariableNaming": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "variablePattern": {
              "type": "string"
            },
            "privateVariablePattern": {
              "type": "string"
            },
            "excludeClassPattern": {
              "type": "string"
            },
            "ignoreOverridden": {
              "type": "boolean"
            }
          }
        }
      }
    },
    "performance": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "ArrayPrimitive": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "CouldBeSequence": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "threshold": {
              "type": "integer"
            }
          }
        },
        "ForEachOnRange": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "SpreadOperator": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryPartOfBinaryExpression": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryTemporaryInstantiation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        }
      }
    },
    "potential-bugs": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "AvoidReferentialEquality": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "forbiddenTypePatterns": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "CastToNullableType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "Deprecation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "DontDowncastCollectionTypes": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "DoubleMutabilityForCollection": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "mutableTypes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "ElseCaseInsteadOfExhaustiveWhen": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EqualsAlwaysReturnsTrueOrFalse": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EqualsWithHashCodeExist": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ExitOutsideMain": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ExplicitGarbageCollectionCall": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "HasPlatformType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "IgnoredReturnValue": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "restrictToConfig": {
              "type": "boolean"
            },
            "returnValueAnnotations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ignoreReturnValueAnnotations": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "returnValueTypes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ignoreFunctionCall": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "ImplicitDefaultLocale": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ImplicitUnitReturnType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "allowExplicitReturnType": {
              "type": "boolean"
            }
          }
        },
        "InvalidRange": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "IteratorHasNextCallsNextMethod": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "IteratorNotThrowingNoSuchElementException": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "LateinitUsage": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreOnClassesPattern": {
              "type": "string"
            }
          }
        },
        "MapGetWithNotNullAssertionOperator": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "MissingPackageDeclaration": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NullCheckOnMutableProperty": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NullableToStringCall": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnconditionalJumpStatementInLoop": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryNotNullCheck": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryNotNullOperator": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessarySafeCall": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnreachableCatchBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnreachableCode": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnsafeCallOnNullableType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnsafeCast": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnusedUnaryOperator": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UselessPostfixExpression": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "WrongEqualsTypeParameter": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        }
      }
    },
    "style": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "AlsoCouldBeApply": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "CanBeNonNullable": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "CascadingCallWrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "includeElvis": {
              "type": "boolean"
            }
          }
        },
        "ClassOrdering": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "CollapsibleIfStatements": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "DataClassContainsFunctions": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "conversionFunctionPrefix": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "DataClassShouldBeImmutable": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "DestructuringDeclarationWithTooManyEntries": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maxDestructuringEntries": {
              "type": "integer"
            }
          }
        },
        "EqualsNullCall": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "EqualsOnSignatureLine": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ExplicitCollectionElementAccessMethod": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ExplicitItLambdaParameter": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ExpressionBodySyntax": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "includeLineWrapping": {
              "type": "boolean"
            }
          }
        },
        "ForbiddenComment": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "values": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "allowedPatterns": {
              "type": "string"
            },
            "customMessage": {
              "type": "string"
            }
          }
        },
        "ForbiddenImport": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "imports": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": ["value"]
              }
            },
            "forbiddenPatterns": {
              "type": "string"
            }
          }
        },
        "ForbiddenMethodCall": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "methods": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string"
                  },
                  "reason": {
                    "type": "string"
                  }
                },
                "required": ["value"]
              }
            }
          }
        },
        "ForbiddenSuppress": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "rules": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "ForbiddenVoid": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreOverridden": {
              "type": "boolean"
            },
            "ignoreUsageInGenerics": {
              "type": "boolean"
            }
          }
        },
        "FunctionOnlyReturningConstant": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreOverridableFunction": {
              "type": "boolean"
            },
            "ignoreActualFunction": {
              "type": "boolean"
            },
            "excludedFunctions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "LoopWithTooManyJumpStatements": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maxJumpCount": {
              "type": "integer"
            }
          }
        },
        "MagicNumber": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreNumbers": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ignoreHashCodeFunction": {
              "type": "boolean"
            },
            "ignorePropertyDeclaration": {
              "type": "boolean"
            },
            "ignoreLocalVariableDeclaration": {
              "type": "boolean"
            },
            "ignoreConstantDeclaration": {
              "type": "boolean"
            },
            "ignoreCompanionObjectPropertyDeclaration": {
              "type": "boolean"
            },
            "ignoreAnnotation": {
              "type": "boolean"
            },
            "ignoreNamedArgument": {
              "type": "boolean"
            },
            "ignoreEnums": {
              "type": "boolean"
            },
            "ignoreRanges": {
              "type": "boolean"
            },
            "ignoreExtensionFunctions": {
              "type": "boolean"
            }
          }
        },
        "MandatoryBracesIfStatements": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "MandatoryBracesLoops": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "MaxChainedCallsOnSameLine": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maxChainedCalls": {
              "type": "integer"
            }
          }
        },
        "MaxLineLength": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maxLineLength": {
              "type": "integer"
            },
            "excludePackageStatements": {
              "type": "boolean"
            },
            "excludeImportStatements": {
              "type": "boolean"
            },
            "excludeCommentStatements": {
              "type": "boolean"
            },
            "excludeRawStrings": {
              "type": "boolean"
            }
          }
        },
        "MayBeConst": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ModifierOrder": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "MultilineLambdaItParameter": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "MultilineRawStringIndentation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "indentSize": {
              "type": "integer"
            }
          }
        },
        "NestedClassesVisibility": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NewLineAtEndOfFile": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NoTabs": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "NullableBooleanCheck": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ObjectLiteralToLambda": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "OptionalAbstractKeyword": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "OptionalUnit": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "OptionalWhenBraces": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "PreferToOverPairSyntax": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ProtectedMemberInFinalClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "RedundantExplicitType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "RedundantHigherOrderMapUsage": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "RedundantVisibilityModifierRule": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ReturnCount": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "max": {
              "type": "integer"
            },
            "excludedFunctions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "excludeLabeled": {
              "type": "boolean"
            },
            "excludeReturnFromLambda": {
              "type": "boolean"
            },
            "excludeGuardClauses": {
              "type": "boolean"
            }
          }
        },
        "SafeCast": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "SerialVersionUIDInSerializableClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "SpacingBetweenPackageAndImports": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ThrowsCount": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "max": {
              "type": "integer"
            },
            "excludeGuardClauses": {
              "type": "boolean"
            }
          }
        },
        "TrailingWhitespace": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "TrimMultilineRawString": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnderscoresInNumericLiterals": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "acceptableLength": {
              "type": "integer"
            },
            "allowNonStandardGrouping": {
              "type": "boolean"
            }
          }
        },
        "UnnecessaryAbstractClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryAnnotationUseSiteTarget": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryApply": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryBackticks": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryFilter": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryInheritance": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryInnerClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryLet": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnnecessaryParentheses": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "allowForUnclearPrecedence": {
              "type": "boolean"
            }
          }
        },
        "UntilInsteadOfRangeTo": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnusedImports": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnusedPrivateClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UnusedPrivateMember": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "allowedNames": {
              "type": "string"
            }
          }
        },
        "UseAnyOrNoneInsteadOfFind": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseArrayLiteralsInAnnotations": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseCheckNotNull": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseCheckOrError": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseDataClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "allowVars": {
              "type": "boolean"
            }
          }
        },
        "UseEmptyCounterpart": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseIfEmptyOrIfBlank": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseIfInsteadOfWhen": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseIsNullOrEmpty": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseOrEmpty": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseRequire": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseRequireNotNull": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UseSumOfInsteadOfFlatMapSize": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UselessCallOnNotNull": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "UtilityClassWithPublicConstructor": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "VarCouldBeVal": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignoreLateinitVar": {
              "type": "boolean"
            }
          }
        },
        "WildcardImport": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "excludeImports": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "formatting": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "android": {
          "type": "boolean"
        },
        "autoCorrect": {
          "type": "boolean"
        },
        "AnnotationOnSeparateLine": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "AnnotationSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "ArgumentListWrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "indentSize": {
              "type": "integer"
            },
            "maxLineLength": {
              "type": "integer"
            }
          }
        },
        "BlockCommentInitialStarAlignment": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "ChainWrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "CommentSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "CommentWrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "indentSize": {
              "type": "integer"
            }
          }
        },
        "DiscouragedCommentLocation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "EnumEntryNameCase": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "Filename": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "FinalNewline": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "insertFinalNewLine": {
              "type": "boolean"
            }
          }
        },
        "FunKeywordSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "FunctionReturnTypeSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "FunctionSignature": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "forceMultilineWhenParameterCountGreaterOrEqualThan": {
              "type": "integer"
            },
            "functionBodyExpressionWrapping": {
              "type": "string"
            },
            "maxLineLength": {
              "type": "integer"
            },
            "indentSize": {
              "type": "integer"
            }
          }
        },
        "FunctionStartOfBodySpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "FunctionTypeReferenceSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "ImportOrdering": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "layout": {
              "type": "string"
            }
          }
        },
        "Indentation": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "indentSize": {
              "type": "integer"
            }
          }
        },
        "KdocWrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "indentSize": {
              "type": "integer"
            }
          }
        },
        "MaximumLineLength": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "maxLineLength": {
              "type": "integer"
            },
            "ignoreBackTickedIdentifier": {
              "type": "boolean"
            }
          }
        },
        "ModifierListSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "ModifierOrdering": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "MultiLineIfElse": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoBlankLineBeforeRbrace": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoBlankLinesInChainedMethodCalls": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoConsecutiveBlankLines": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoEmptyClassBody": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoEmptyFirstLineInMethodBlock": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoLineBreakAfterElse": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoLineBreakBeforeAssignment": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoMultipleSpaces": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoSemicolons": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoTrailingSpaces": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoUnitReturn": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoUnusedImports": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "NoWildcardImports": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "packagesToUseImportOnDemandProperty": {
              "type": "string"
            }
          }
        },
        "NullableTypeSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "PackageName": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "ParameterListSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "ParameterListWrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "maxLineLength": {
              "type": "integer"
            }
          }
        },
        "SpacingAroundAngleBrackets": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundColon": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundComma": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundCurly": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundDot": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundDoubleColon": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundKeyword": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundOperators": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundParens": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundRangeOperator": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingAroundUnaryOperator": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingBetweenDeclarationsWithAnnotations": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingBetweenDeclarationsWithComments": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "SpacingBetweenFunctionNameAndOpeningParenthesis": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "StringTemplate": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "TrailingCommaOnCallSite": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "useTrailingCommaOnCallSite": {
              "type": "boolean"
            }
          }
        },
        "TrailingCommaOnDeclarationSite": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "useTrailingCommaOnDeclarationSite": {
              "type": "boolean"
            }
          }
        },
        "TypeArgumentListSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "TypeParameterListSpacing": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "UnnecessaryParenthesesBeforeTrailingLambda": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            }
          }
        },
        "Wrapping": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "autoCorrect": {
              "type": "boolean"
            },
            "indentSize": {
              "type": "integer"
            }
          }
        }
      }
    },
    "libraries": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "ForbiddenPublicDataClass": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ],
          "properties": {
            "ignorePackages": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "LibraryCodeMustSpecifyReturnType": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "LibraryEntitiesShouldNotBePublic": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        }
      }
    },
    "ruleauthors": {
      "type": "object",
      "properties": {
        "active": {
          "type": "boolean"
        },
        "UseEntityAtName": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        },
        "ViolatesTypeResolutionRequirements": {
          "type": "object",
          "allOf": [
            {
              "$ref": "#/$defs/ruleProperties"
            }
          ]
        }
      }
    }
  },
  "type": "object"
}