{
	"rules": {
		// TypeScript Specific
		"member-access": false,
		"member-ordering": [true,
			"static-before-instance",
			"variables-before-functions"
		],
		"no-any": false,
		"no-inferrable-types": false,
		"no-internal-module": false,
		"no-namespace": false,
		"no-reference": true,
		"no-var-requires": false,
		"only-arrow-functions": false,
		"typedef": [true,
			"call-signature",
			"property-declaration"
		],
		"typedef-whitespace": [true, {
			"call-signature": "nospace",
			"index-signature": "nospace",
			"parameter": "nospace",
			"property-declaration": "nospace",
			"variable-declaration": "nospace"
		}],

		// Functionality
		"ban": false,
		"curly": false,
		"forin": true,
		"label-position": true,
		"no-arg": true,
		"no-bitwise": true,
		"no-conditional-assignment": true,
		"no-console": [true,
			"debug",
			"info",
			"time",
			"timeEnd",
			"trace"
		],
		"no-construct": true,
		"no-debugger": true,
		"no-duplicate-variable": true,
		"no-empty": true,
		"no-eval": false,
		"no-for-in-array": false,
		"no-invalid-this": [true, "check-function-in-method"],
		"no-null-keyword": false,
		"no-shadowed-variable": false,
		"no-string-literal": false,
		"no-switch-case-fall-through": true,
		"no-unsafe-finally": true,
		"no-unused-expression": true,
		"no-unused-new": true,
		"no-use-before-declare": true,
		"no-var-keyword": true,
		"radix": true,
		"restrict-plus-operands": false,
		"switch-default": false,
		"triple-equals": [false, "allow-null-check", "allow-undefined-check"],
		"use-isnan": true,

		// Maintainability
		"eofline": true,
		"indent": [true, "tabs"],
		"linebreak-style": false,
		"max-file-line-count": false,
		"max-line-length": false,
		"no-default-export": false,
		"no-mergeable-namespace": true,
		"no-require-imports": false,
		"no-trailing-whitespace": true,
		"object-literal-sort-keys": false,
		"trailing-comma": true,

		// Style
		"align": [true,
			"parameters",
			"statements"
		],
		"arrow-parens": false,
		"class-name": true,
		"comment-format": false,
		"interface-name": false,
		"jsdoc-format": true,
		"new-parens": true,
		"no-angle-bracket-type-assertion": true,
		"no-consecutive-blank-lines": true,
		"object-literal-key-quotes": false,
		"one-line": [true,
			"check-catch",
			"check-finally",
			"check-else",
			"check-open-brace",
			"check-whitespace"
		],
		"one-variable-per-declaration": true,
		"ordered-imports": false,
		"quotemark": [true, "single", "avoid-escape"],
		"semicolon": true,
		"variable-name": false,
		"whitespace": [true,
			"check-branch",
			"check-decl",
			"check-operator",
			"check-separator",
			"check-type"
		]
	}
}
