{
  "extends": [
    "tslint-eslint-rules"
  ],
  "rules": {
    "array-bracket-spacing": [true, "always", { "objectsInArrays": false, "arraysInArrays": false }],
    "await-promise": [true, "Promise", "JQueryPromise", "Q", "Bluebird", "PromiseLike", "RequestPromise"],
    "ban-comma-operator": true,
    "block-spacing": [true, "always"],
    "brace-style": [true, "1tbs"],
    "curly": true,
    "eofline": true,
    "indent": [true, "spaces", 2],
    "newline-per-chained-call": true,
    "no-conditional-assignment": true,
    "no-consecutive-blank-lines": [true],
    "no-duplicate-variable": true,
    "no-empty": true,
    "no-eval": true,
    "no-ex-assign": [true],
    "no-extra-boolean-cast": [true],
    "no-extra-semi": [true],
    "no-floating-promises": [true, "Promise", "JQueryPromise", "Q", "Bluebird", "PromiseLike", "RequestPromise"],
    "no-implicit-dependencies": true,
    "no-inferred-empty-object-type": true,
    "no-multi-spaces": true,
    "no-object-literal-type-assertion": true,
    "no-return-await": true,
    "no-shadowed-variable": true,
    "no-string-throw": true,
    "no-trailing-whitespace": true,
    "no-unexpected-multiline": [true],
    "no-unused-expression": true,
    "no-var-keyword": true,
    "no-var-requires": true,
    "object-curly-spacing": [true, "always"],
    "object-literal-shorthand": true,
    "object-literal-key-quotes": [true, "as-needed"],
    "prefer-const": true,
    "quotemark": [true, "single", "avoid-escape", "avoid-template"],
    "semicolon": [true, "always"],
    "ter-arrow-body-style": [true, "as-needed"],
    "ter-arrow-parens": [true, "always"],
    "ter-arrow-spacing": [true],
    "ter-indent": [true, 2, { "ArrayExpression": 1, "CallExpression": {"arguments": "first"}, "ObjectExpression": 1, "MemberExpression": 1, "SwitchCase": 1 }],
    "ter-no-tabs": true,
    "ter-prefer-arrow-callback": [true, { "allowUnboundThis": false }],
    "trailing-comma": [true, { "multiline": "always", "singleline": "never" }],
    "triple-equals": [true, "allow-null-check"],
    "use-isnan": true,
    "variable-name": [true, "check-format", "allow-leading-underscore"],
    "whitespace": [true, "check-branch", "check-decl", "check-operator", "check-module", "check-separator", "check-rest-spread", "check-type", "check-type-operator", "check-preblock"],

    "cyclomatic-complexity": { "severity": "warning" },
    "deprecation": { "severity": "warning" },
    "no-any": { "severity": "warning" },
    "no-magic-numbers": { "severity": "warning" },

    "completed-docs": { "severity": "warning", "options": {
      "classes": { "visibilities": "exported" },
      "enums": { "visibilities": "exported" },
      "enum-members": { "visibilities": "exported" },
      "functions": { "visibilities": "exported" },
      "interfaces": { "visibilities": "exported" },
      "methods": { "locations": "all", "privacies": ["public", "protected"] },
      "properties": { "locations": "all", "privacies": ["public", "protected"] },
      "types": { "visibilities": "exported" },
      "variables": { "visibilities": "exported" }
    } }
  }
}
