{
	"$schema": "https://json.schemastore.org/eslintrc.json",
	"root": true,
	"extends": [
		"./js.json"
	],
	"parser": "@typescript-eslint/parser",
	"plugins": [
		"@typescript-eslint"
	],
	"rules": {
		"no-dupe-class-members": "off",
		"no-empty-function": "off",
		"no-redeclare": "off",
		"no-unused-expressions": "off",
		"no-unused-vars": "off",
		"no-use-before-define": "off",
		"no-useless-constructor": "off",
		"@typescript-eslint/no-dupe-class-members": "error",
		"@typescript-eslint/no-empty-function": "error",
		"@typescript-eslint/no-redeclare": [ "error", {
			"ignoreDeclarationMerge": true
		} ],
		"@typescript-eslint/no-unused-expressions": [ "error", {
			"allowShortCircuit": true,
			"allowTernary": true,
			"allowTaggedTemplates": true
		} ],
		"@typescript-eslint/no-unused-vars": [ "error", {
			"args": "none",
			"caughtErrors": "none",
			"ignoreRestSiblings": true,
			"vars": "all"
		} ],
		"@typescript-eslint/no-use-before-define": [ "off", {
			"functions": false,
			"classes": false,
			"variables": false
		} ],
		"@typescript-eslint/no-useless-constructor": "error"
	}
}
