/* This file is generated by `npm run typegen`. */ /* Do not edit it directly. */ /* eslint-typegen-hash: YoK6JKg-rWBs2VQz69VioJJ2tzyGxCoXovpAKj_Eu9k */ import type { Linter } from 'eslint' declare module 'eslint' { namespace Linter { interface RulesConfig extends RuleOptions {} } } export interface RuleOptions { /** * Require configured object rest bindings to have a concrete empty object type. */ '@arthurka/always-empty-rest'?: Linter.RuleEntry /** * Require over-indented multiline closing delimiters to start a new line. */ '@arthurka/closing-delimiter-position'?: Linter.RuleEntry /** * Require functions to be async exactly when they contain an await operation. */ '@arthurka/consistent-async'?: Linter.RuleEntry /** * Require configured packages to use consistent named-import and global-namespace access. */ '@arthurka/consistent-module-access'?: Linter.RuleEntry /** * Require a newline after an opening delimiter when its closing delimiter follows a newline. */ '@arthurka/delimiter-newline-consistency'?: Linter.RuleEntry<[]> /** * Disallow multiple inline global ignores objects in an @arthurka/eslint defineConfig call or a config expression marked with the rule directive. */ '@arthurka/eslint-config-no-multiple-global-ignores'?: Linter.RuleEntry<[]> /** * Require sibling logical operators to share one line or align in one column. */ '@arthurka/logical-operator-linebreak-consistency'?: Linter.RuleEntry<[]> /** * Place JSX child expression containers on separate lines in multiline JSX. */ '@arthurka/multiline-jsx-expression-newlines'?: Linter.RuleEntry<[]> /** * Disallow blank lines inside postfix expressions. */ '@arthurka/no-blank-lines'?: Linter.RuleEntry<[]> /** * Disallow a comma immediately before a semicolon. */ '@arthurka/no-comma-before-semicolon'?: Linter.RuleEntry<[]> /** * Disallow cycles between static relative ECMAScript module dependencies. */ '@arthurka/no-cycle-imports'?: Linter.RuleEntry /** * Disallow inline type predicates that TypeScript can infer from the condition. */ '@arthurka/no-explicit-type-predicate'?: Linter.RuleEntry<[]> /** * Disallow configured regular expression patterns in import and export sources. */ '@arthurka/no-import-export-patterns'?: Linter.RuleEntry /** * Disallow configured rule names in ESLint disable directives. */ '@arthurka/no-restricted-eslint-disable'?: Linter.RuleEntry /** * Require direct undefined comparisons instead of comparing typeof results with a string. */ '@arthurka/no-typeof-undefined'?: Linter.RuleEntry<[]> /** * Disallow copying an array immediately before calling an array-producing non-mutating method. */ '@arthurka/no-unnecessary-array-copy'?: Linter.RuleEntry<[]> /** * Disallow unnecessary line breaks in short logical and binary expressions. */ '@arthurka/no-unnecessary-multiline-expression'?: Linter.RuleEntry /** * Disallow typeof comparisons that are always true or always false based on TypeScript types. */ '@arthurka/no-unnecessary-typeof-comparison'?: Linter.RuleEntry<[]> /** * Disallow line breaks in empty literals and parentheses, and blank-line padding in non-empty literals, patterns, type literals, and parentheses. */ '@arthurka/padded-literals'?: Linter.RuleEntry<[]> /** * Require parentheses around multiline expressions and returned arrow functions, and consistently wrapped multiline union and intersection types. */ '@arthurka/parenthesize-multiline-expression'?: Linter.RuleEntry<[]> /** * Require array spread syntax instead of a zero-argument slice call when copying an array. */ '@arthurka/prefer-array-spread-copy'?: Linter.RuleEntry<[]> /** * Require concise element and index names in short inline callbacks. */ '@arthurka/short-callback-param-names'?: Linter.RuleEntry /** * Require static imports and re-exports to occupy a single line. */ '@arthurka/singleline-import-export'?: Linter.RuleEntry<[]> /** * Require consecutive re-export statements to be sorted by their complete source text. */ '@arthurka/sort-export-block'?: Linter.RuleEntry<[]> /** * Require entries in marked object-property and array-element blocks to be sorted. * * Place a block-comment directive `@arthurka/sort-keys-block profileName` before a block of entries. * * Configure `profiles.profileName` for named profiles. The `''` profile optionally overrides the default parameters for directives without a profile name. * @see https://eslint.org/docs/latest/rules/sort-keys */ '@arthurka/sort-keys-block'?: Linter.RuleEntry /** * Require top-of-file directive comments and JavaScript directives to form one contiguous block. */ '@arthurka/top-of-file-directive-comment-spacing'?: Linter.RuleEntry<[]> /** * Require or forbid `@ts-check` line-comment directives */ '@arthurka/ts-check-directive'?: Linter.RuleEntry /** * Require elements of an array marked with @arthurka/unique-array-elements to have unique source text. */ '@arthurka/unique-array-elements'?: Linter.RuleEntry<[]> /** * Require project-wide unique generated error IDs. */ '@arthurka/unique-error-ids'?: Linter.RuleEntry /** * Require @arthurka block-comment directives to use configured names and sort consecutive directives. */ '@arthurka/valid-directive-name'?: Linter.RuleEntry /** * Enforce linebreaks after opening and before closing array brackets * @see https://eslint.style/rules/array-bracket-newline */ '@stylistic/array-bracket-newline'?: Linter.RuleEntry /** * Enforce consistent spacing inside array brackets * @see https://eslint.style/rules/array-bracket-spacing */ '@stylistic/array-bracket-spacing'?: Linter.RuleEntry /** * Enforce line breaks after each array element * @see https://eslint.style/rules/array-element-newline */ '@stylistic/array-element-newline'?: Linter.RuleEntry /** * Require parentheses around arrow function arguments * @see https://eslint.style/rules/arrow-parens */ '@stylistic/arrow-parens'?: Linter.RuleEntry /** * Enforce consistent spacing before and after the arrow in arrow functions * @see https://eslint.style/rules/arrow-spacing */ '@stylistic/arrow-spacing'?: Linter.RuleEntry /** * Disallow or enforce spaces inside of blocks after opening block and before closing block * @see https://eslint.style/rules/block-spacing */ '@stylistic/block-spacing'?: Linter.RuleEntry /** * Enforce consistent brace style for blocks * @see https://eslint.style/rules/brace-style */ '@stylistic/brace-style'?: Linter.RuleEntry /** * Require or disallow trailing commas * @see https://eslint.style/rules/comma-dangle */ '@stylistic/comma-dangle'?: Linter.RuleEntry /** * Enforce consistent spacing before and after commas * @see https://eslint.style/rules/comma-spacing */ '@stylistic/comma-spacing'?: Linter.RuleEntry /** * Enforce consistent comma style * @see https://eslint.style/rules/comma-style */ '@stylistic/comma-style'?: Linter.RuleEntry /** * Enforce consistent spacing inside computed property brackets * @see https://eslint.style/rules/computed-property-spacing */ '@stylistic/computed-property-spacing'?: Linter.RuleEntry /** * Enforce consistent line breaks after opening and before closing braces * @see https://eslint.style/rules/curly-newline */ '@stylistic/curly-newline'?: Linter.RuleEntry /** * Enforce consistent newlines before and after dots * @see https://eslint.style/rules/dot-location */ '@stylistic/dot-location'?: Linter.RuleEntry /** * Require or disallow newline at the end of files * @see https://eslint.style/rules/eol-last */ '@stylistic/eol-last'?: Linter.RuleEntry /** * Enforce consistent spacing and line break styles inside brackets. * @see https://eslint.style/rules/list-style */ '@stylistic/exp-list-style'?: Linter.RuleEntry /** * Enforce line breaks between arguments of a function call * @see https://eslint.style/rules/function-call-argument-newline */ '@stylistic/function-call-argument-newline'?: Linter.RuleEntry /** * Require or disallow spacing between function identifiers and their invocations * @see https://eslint.style/rules/function-call-spacing */ '@stylistic/function-call-spacing'?: Linter.RuleEntry /** * Enforce consistent line breaks inside function parentheses * @see https://eslint.style/rules/function-paren-newline */ '@stylistic/function-paren-newline'?: Linter.RuleEntry /** * Enforce consistent spacing around `*` operators in generator functions * @see https://eslint.style/rules/generator-star-spacing */ '@stylistic/generator-star-spacing'?: Linter.RuleEntry /** * Enforce the location of arrow function bodies * @see https://eslint.style/rules/implicit-arrow-linebreak */ '@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry /** * Enforce consistent indentation * @see https://eslint.style/rules/indent */ '@stylistic/indent'?: Linter.RuleEntry /** * Indentation for binary operators * @see https://eslint.style/rules/indent-binary-ops */ '@stylistic/indent-binary-ops'?: Linter.RuleEntry /** * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions * @see https://eslint.style/rules/jsx-child-element-spacing */ '@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]> /** * Enforce closing bracket location in JSX * @see https://eslint.style/rules/jsx-closing-bracket-location */ '@stylistic/jsx-closing-bracket-location'?: Linter.RuleEntry /** * Enforce closing tag location for multiline JSX * @see https://eslint.style/rules/jsx-closing-tag-location */ '@stylistic/jsx-closing-tag-location'?: Linter.RuleEntry /** * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes * @see https://eslint.style/rules/jsx-curly-brace-presence */ '@stylistic/jsx-curly-brace-presence'?: Linter.RuleEntry /** * Enforce consistent linebreaks in curly braces in JSX attributes and expressions * @see https://eslint.style/rules/jsx-curly-newline */ '@stylistic/jsx-curly-newline'?: Linter.RuleEntry /** * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions * @see https://eslint.style/rules/jsx-curly-spacing */ '@stylistic/jsx-curly-spacing'?: Linter.RuleEntry /** * Enforce or disallow spaces around equal signs in JSX attributes * @see https://eslint.style/rules/jsx-equals-spacing */ '@stylistic/jsx-equals-spacing'?: Linter.RuleEntry /** * Enforce proper position of the first property in JSX * @see https://eslint.style/rules/jsx-first-prop-new-line */ '@stylistic/jsx-first-prop-new-line'?: Linter.RuleEntry /** * Enforce line breaks before and after JSX elements when they are used as arguments to a function. * @see https://eslint.style/rules/jsx-function-call-newline */ '@stylistic/jsx-function-call-newline'?: Linter.RuleEntry /** * Enforce props indentation in JSX * @see https://eslint.style/rules/jsx-indent-props */ '@stylistic/jsx-indent-props'?: Linter.RuleEntry /** * Enforce maximum of props on a single line in JSX * @see https://eslint.style/rules/jsx-max-props-per-line */ '@stylistic/jsx-max-props-per-line'?: Linter.RuleEntry /** * Require or prevent a new line after jsx elements and expressions. * @see https://eslint.style/rules/jsx-newline */ '@stylistic/jsx-newline'?: Linter.RuleEntry /** * Require one JSX element per line * @see https://eslint.style/rules/jsx-one-expression-per-line */ '@stylistic/jsx-one-expression-per-line'?: Linter.RuleEntry /** * Enforce PascalCase for user-defined JSX components * @see https://eslint.style/rules/jsx-pascal-case */ '@stylistic/jsx-pascal-case'?: Linter.RuleEntry /** * Enforce the consistent use of either double or single quotes in JSX attributes * @see https://eslint.style/rules/jsx-quotes */ '@stylistic/jsx-quotes'?: Linter.RuleEntry /** * Disallow extra closing tags for components without children * @see https://eslint.style/rules/jsx-self-closing-comp */ '@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry /** * Enforce shorthand for boolean JSX attributes. * @see https://eslint.style/rules/jsx-shorthand-boolean */ '@stylistic/jsx-shorthand-boolean'?: Linter.RuleEntry<[]> /** * Enforce shorthand fragment syntax. * @see https://eslint.style/rules/jsx-shorthand-fragment */ '@stylistic/jsx-shorthand-fragment'?: Linter.RuleEntry<[]> /** * Enforce whitespace in and around the JSX opening and closing brackets * @see https://eslint.style/rules/jsx-tag-spacing */ '@stylistic/jsx-tag-spacing'?: Linter.RuleEntry /** * Disallow missing parentheses around multiline JSX * @see https://eslint.style/rules/jsx-wrap-multilines */ '@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry /** * Enforce consistent spacing between property names and type annotations in types and interfaces * @see https://eslint.style/rules/key-spacing */ '@stylistic/key-spacing'?: Linter.RuleEntry /** * Enforce consistent spacing before and after keywords * @see https://eslint.style/rules/keyword-spacing */ '@stylistic/keyword-spacing'?: Linter.RuleEntry /** * Enforce position of line comments * @see https://eslint.style/rules/line-comment-position */ '@stylistic/line-comment-position'?: Linter.RuleEntry /** * Enforce consistent linebreak style * @see https://eslint.style/rules/linebreak-style */ '@stylistic/linebreak-style'?: Linter.RuleEntry /** * Require empty lines around comments * @see https://eslint.style/rules/lines-around-comment */ '@stylistic/lines-around-comment'?: Linter.RuleEntry /** * Require or disallow an empty line between class members * @see https://eslint.style/rules/lines-between-class-members */ '@stylistic/lines-between-class-members'?: Linter.RuleEntry /** * Enforce a maximum line length * @see https://eslint.style/rules/max-len */ '@stylistic/max-len'?: Linter.RuleEntry /** * Enforce a maximum number of statements allowed per line * @see https://eslint.style/rules/max-statements-per-line */ '@stylistic/max-statements-per-line'?: Linter.RuleEntry /** * Require a specific member delimiter style for interfaces and type literals * @see https://eslint.style/rules/member-delimiter-style */ '@stylistic/member-delimiter-style'?: Linter.RuleEntry /** * Enforce a particular style for multiline comments * @see https://eslint.style/rules/multiline-comment-style */ '@stylistic/multiline-comment-style'?: Linter.RuleEntry /** * Enforce newlines between operands of ternary expressions * @see https://eslint.style/rules/multiline-ternary */ '@stylistic/multiline-ternary'?: Linter.RuleEntry /** * Enforce or disallow parentheses when invoking a constructor with no arguments * @see https://eslint.style/rules/new-parens */ '@stylistic/new-parens'?: Linter.RuleEntry /** * Require a newline after each call in a method chain * @see https://eslint.style/rules/newline-per-chained-call */ '@stylistic/newline-per-chained-call'?: Linter.RuleEntry /** * Disallow arrow functions where they could be confused with comparisons * @see https://eslint.style/rules/no-confusing-arrow */ '@stylistic/no-confusing-arrow'?: Linter.RuleEntry /** * Disallow unnecessary parentheses * @see https://eslint.style/rules/no-extra-parens */ '@stylistic/no-extra-parens'?: Linter.RuleEntry /** * Disallow unnecessary semicolons * @see https://eslint.style/rules/no-extra-semi */ '@stylistic/no-extra-semi'?: Linter.RuleEntry<[]> /** * Disallow leading or trailing decimal points in numeric literals * @see https://eslint.style/rules/no-floating-decimal */ '@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]> /** * Disallow mixed binary operators * @see https://eslint.style/rules/no-mixed-operators */ '@stylistic/no-mixed-operators'?: Linter.RuleEntry /** * Disallow mixed spaces and tabs for indentation * @see https://eslint.style/rules/no-mixed-spaces-and-tabs */ '@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry /** * Disallow multiple spaces * @see https://eslint.style/rules/no-multi-spaces */ '@stylistic/no-multi-spaces'?: Linter.RuleEntry /** * Disallow multiple empty lines * @see https://eslint.style/rules/no-multiple-empty-lines */ '@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry /** * Disallow all tabs * @see https://eslint.style/rules/no-tabs */ '@stylistic/no-tabs'?: Linter.RuleEntry /** * Disallow trailing whitespace at the end of lines * @see https://eslint.style/rules/no-trailing-spaces */ '@stylistic/no-trailing-spaces'?: Linter.RuleEntry /** * Disallow whitespace before properties * @see https://eslint.style/rules/no-whitespace-before-property */ '@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]> /** * Enforce the location of single-line statements * @see https://eslint.style/rules/nonblock-statement-body-position */ '@stylistic/nonblock-statement-body-position'?: Linter.RuleEntry /** * Enforce consistent line breaks after opening and before closing braces * @see https://eslint.style/rules/object-curly-newline */ '@stylistic/object-curly-newline'?: Linter.RuleEntry /** * Enforce consistent spacing inside braces * @see https://eslint.style/rules/object-curly-spacing */ '@stylistic/object-curly-spacing'?: Linter.RuleEntry /** * Enforce placing object properties on separate lines * @see https://eslint.style/rules/object-property-newline */ '@stylistic/object-property-newline'?: Linter.RuleEntry /** * Require or disallow newlines around variable declarations * @see https://eslint.style/rules/one-var-declaration-per-line */ '@stylistic/one-var-declaration-per-line'?: Linter.RuleEntry /** * Enforce consistent linebreak style for operators * @see https://eslint.style/rules/operator-linebreak */ '@stylistic/operator-linebreak'?: Linter.RuleEntry /** * Require or disallow padding within blocks * @see https://eslint.style/rules/padded-blocks */ '@stylistic/padded-blocks'?: Linter.RuleEntry /** * Require or disallow padding lines between statements * @see https://eslint.style/rules/padding-line-between-statements */ '@stylistic/padding-line-between-statements'?: Linter.RuleEntry /** * Require quotes around object literal, type literal, interfaces and enums property names * @see https://eslint.style/rules/quote-props */ '@stylistic/quote-props'?: Linter.RuleEntry /** * Enforce the consistent use of either backticks, double, or single quotes * @see https://eslint.style/rules/quotes */ '@stylistic/quotes'?: Linter.RuleEntry /** * Enforce spacing between rest and spread operators and their expressions * @see https://eslint.style/rules/rest-spread-spacing */ '@stylistic/rest-spread-spacing'?: Linter.RuleEntry /** * Require or disallow semicolons instead of ASI * @see https://eslint.style/rules/semi */ '@stylistic/semi'?: Linter.RuleEntry /** * Enforce consistent spacing before and after semicolons * @see https://eslint.style/rules/semi-spacing */ '@stylistic/semi-spacing'?: Linter.RuleEntry /** * Enforce location of semicolons * @see https://eslint.style/rules/semi-style */ '@stylistic/semi-style'?: Linter.RuleEntry /** * Enforce consistent spacing before blocks * @see https://eslint.style/rules/space-before-blocks */ '@stylistic/space-before-blocks'?: Linter.RuleEntry /** * Enforce consistent spacing before function parenthesis * @see https://eslint.style/rules/space-before-function-paren */ '@stylistic/space-before-function-paren'?: Linter.RuleEntry /** * Enforce consistent spacing inside parentheses * @see https://eslint.style/rules/space-in-parens */ '@stylistic/space-in-parens'?: Linter.RuleEntry /** * Require spacing around infix operators * @see https://eslint.style/rules/space-infix-ops */ '@stylistic/space-infix-ops'?: Linter.RuleEntry /** * Enforce consistent spacing before or after unary operators * @see https://eslint.style/rules/space-unary-ops */ '@stylistic/space-unary-ops'?: Linter.RuleEntry /** * Enforce consistent spacing after the `//` or `/*` in a comment * @see https://eslint.style/rules/spaced-comment */ '@stylistic/spaced-comment'?: Linter.RuleEntry /** * Enforce spacing around colons of switch statements * @see https://eslint.style/rules/switch-colon-spacing */ '@stylistic/switch-colon-spacing'?: Linter.RuleEntry /** * Require or disallow spacing around embedded expressions of template strings * @see https://eslint.style/rules/template-curly-spacing */ '@stylistic/template-curly-spacing'?: Linter.RuleEntry /** * Require or disallow spacing between template tags and their literals * @see https://eslint.style/rules/template-tag-spacing */ '@stylistic/template-tag-spacing'?: Linter.RuleEntry /** * Require consistent spacing around type annotations * @see https://eslint.style/rules/type-annotation-spacing */ '@stylistic/type-annotation-spacing'?: Linter.RuleEntry /** * Enforces consistent spacing inside TypeScript type generics * @see https://eslint.style/rules/type-generic-spacing */ '@stylistic/type-generic-spacing'?: Linter.RuleEntry /** * Expect space before the type declaration in the named tuple * @see https://eslint.style/rules/type-named-tuple-spacing */ '@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]> /** * Require parentheses around immediate `function` invocations * @see https://eslint.style/rules/wrap-iife */ '@stylistic/wrap-iife'?: Linter.RuleEntry /** * Require parenthesis around regex literals * @see https://eslint.style/rules/wrap-regex */ '@stylistic/wrap-regex'?: Linter.RuleEntry<[]> /** * Require or disallow spacing around the `*` in `yield*` expressions * @see https://eslint.style/rules/yield-star-spacing */ '@stylistic/yield-star-spacing'?: Linter.RuleEntry /** * Enforce getter and setter pairs in objects and classes * @see https://eslint.org/docs/latest/rules/accessor-pairs */ 'accessor-pairs'?: Linter.RuleEntry /** * Enforce `return` statements in callbacks of array methods * @see https://eslint.org/docs/latest/rules/array-callback-return */ 'array-callback-return'?: Linter.RuleEntry /** * Require braces around arrow function bodies * @see https://eslint.org/docs/latest/rules/arrow-body-style */ 'arrow-body-style'?: Linter.RuleEntry /** * Enforce the use of variables within the scope they are defined * @see https://eslint.org/docs/latest/rules/block-scoped-var */ 'block-scoped-var'?: Linter.RuleEntry<[]> /** * Enforce camelcase naming convention * @see https://eslint.org/docs/latest/rules/camelcase */ 'camelcase'?: Linter.RuleEntry /** * Enforce or disallow capitalization of the first letter of a comment * @see https://eslint.org/docs/latest/rules/capitalized-comments */ 'capitalized-comments'?: Linter.RuleEntry /** * Enforce that class methods utilize `this` * @see https://eslint.org/docs/latest/rules/class-methods-use-this */ 'class-methods-use-this'?: Linter.RuleEntry /** * Enforce a maximum cyclomatic complexity allowed in a program * @see https://eslint.org/docs/latest/rules/complexity */ 'complexity'?: Linter.RuleEntry /** * Require `return` statements to either always or never specify values * @see https://eslint.org/docs/latest/rules/consistent-return */ 'consistent-return'?: Linter.RuleEntry /** * Enforce consistent naming when capturing the current execution context * @see https://eslint.org/docs/latest/rules/consistent-this */ 'consistent-this'?: Linter.RuleEntry /** * Require `super()` calls in constructors * @see https://eslint.org/docs/latest/rules/constructor-super */ 'constructor-super'?: Linter.RuleEntry<[]> /** * Enforce consistent brace style for all control statements * @see https://eslint.org/docs/latest/rules/curly */ 'curly'?: Linter.RuleEntry /** * Require `default` cases in `switch` statements * @see https://eslint.org/docs/latest/rules/default-case */ 'default-case'?: Linter.RuleEntry /** * Enforce `default` clauses in `switch` statements to be last * @see https://eslint.org/docs/latest/rules/default-case-last */ 'default-case-last'?: Linter.RuleEntry<[]> /** * Enforce default parameters to be last * @see https://eslint.org/docs/latest/rules/default-param-last */ 'default-param-last'?: Linter.RuleEntry<[]> /** * Enforce dot notation whenever possible * @see https://eslint.org/docs/latest/rules/dot-notation */ 'dot-notation'?: Linter.RuleEntry /** * Require the use of `===` and `!==` * @see https://eslint.org/docs/latest/rules/eqeqeq */ 'eqeqeq'?: Linter.RuleEntry /** * require class names to match the current filename. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/class-match-filename */ 'etc-misc/class-match-filename'?: Linter.RuleEntry<[]> /** * enforce consistent blank-line spacing after comments. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/comment-spacing */ 'etc-misc/comment-spacing'?: Linter.RuleEntry<[]> /** * enforce SCREAMING_SNAKE_CASE enum member names and string literal values. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-enum-members */ 'etc-misc/consistent-enum-members'?: Linter.RuleEntry<[]> /** * enforce consistent import declaration style per module source. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-import */ 'etc-misc/consistent-import'?: Linter.RuleEntry /** * disallow redundant `undefined` unions on optional property declarations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-optional-props */ 'etc-misc/consistent-optional-props'?: Linter.RuleEntry<[]> /** * require consistent kebab-case symbol descriptions. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/consistent-symbol-description */ 'etc-misc/consistent-symbol-description'?: Linter.RuleEntry<[]> /** * enforce consistent placement of decorators on class properties and methods. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/decorator-position */ 'etc-misc/decorator-position'?: Linter.RuleEntry /** * disallow import sources using configurable glob patterns. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/disallow-import */ 'etc-misc/disallow-import'?: Linter.RuleEntry /** * enforce filename-matching exports to be the only export. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/export-matching-filename-only */ 'etc-misc/export-matching-filename-only'?: Linter.RuleEntry /** * enforce selected declaration identifiers to match filename casing. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/match-filename */ 'etc-misc/match-filename'?: Linter.RuleEntry /** * disallow identifiers with more than four casing blocks. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/max-identifier-blocks */ 'etc-misc/max-identifier-blocks'?: Linter.RuleEntry<[]> /** * disallow assigning values returned from mutating array methods. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-assign-mutated-array */ 'etc-misc/no-assign-mutated-array'?: Linter.RuleEntry<[]> /** * disallow imports from @. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-at-sign-import */ 'etc-misc/no-at-sign-import'?: Linter.RuleEntry /** * disallow internal imports under @/. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-at-sign-internal-import */ 'etc-misc/no-at-sign-internal-import'?: Linter.RuleEntry /** * disallow mixing chain and coalescence operators in a single expression. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-chain-coalescence-mixture */ 'etc-misc/no-chain-coalescence-mixture'?: Linter.RuleEntry<[]> /** * disallow const enum declarations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-const-enum */ 'etc-misc/no-const-enum'?: Linter.RuleEntry /** * disallow binding class methods in constructors when an instance arrow field is preferred. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-constructor-bind */ 'etc-misc/no-constructor-bind'?: Linter.RuleEntry<[]> /** * disallow simple initial state assignments in constructors when a class field is preferred. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-constructor-state */ 'etc-misc/no-constructor-state'?: Linter.RuleEntry<[]> /** * disallow browser-only globals during class construction. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-dom-globals-in-constructor */ 'etc-misc/no-dom-globals-in-constructor'?: Linter.RuleEntry<[]> /** * disallow browser-only globals during module evaluation. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-dom-globals-in-module-scope */ 'etc-misc/no-dom-globals-in-module-scope'?: Linter.RuleEntry<[]> /** * disallow browser-only globals while rendering React class components. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-dom-globals-in-react-cc-render */ 'etc-misc/no-dom-globals-in-react-cc-render'?: Linter.RuleEntry<[]> /** * disallow browser-only globals while rendering React function components. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-dom-globals-in-react-fc */ 'etc-misc/no-dom-globals-in-react-fc'?: Linter.RuleEntry<[]> /** * disallow TypeScript enum declarations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-enum */ 'etc-misc/no-enum'?: Linter.RuleEntry<[]> /** * disallow blank lines inside expression statements. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-expression-empty-lines */ 'etc-misc/no-expression-empty-lines'?: Linter.RuleEntry<[]> /** * disallow calling forEach on configured collection types. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-foreach */ 'etc-misc/no-foreach'?: Linter.RuleEntry /** * disallow function declarations after a return statement. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-function-declare-after-return */ 'etc-misc/no-function-declare-after-return'?: Linter.RuleEntry<[]> /** * disallow imports from the current directory root (.). * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-index-import */ 'etc-misc/no-index-import'?: Linter.RuleEntry /** * disallow usage of APIs tagged with @internal. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-internal */ 'etc-misc/no-internal'?: Linter.RuleEntry /** * disallow importing internal modules. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-internal-modules */ 'etc-misc/no-internal-modules'?: Linter.RuleEntry /** * disallow deterministic invalid HTML parent and ancestor relationships in JSX. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-invalid-jsx-nesting */ 'etc-misc/no-invalid-jsx-nesting'?: Linter.RuleEntry /** * disallow mixed-language tokens combining latin and non-latin letters. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-language-mixing */ 'etc-misc/no-language-mixing'?: Linter.RuleEntry<[]> /** * disallow negated conditions. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-negated-conditions */ 'etc-misc/no-negated-conditions'?: Linter.RuleEntry<[]> /** * disallow imports from node: built-in module specifiers. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-nodejs-modules */ 'etc-misc/no-nodejs-modules'?: Linter.RuleEntry /** * disallow focused test invocations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-only-tests */ 'etc-misc/no-only-tests'?: Linter.RuleEntry /** * disallow parameter reassignment except in the first expression statement of a function body. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-param-reassign */ 'etc-misc/no-param-reassign'?: Linter.RuleEntry<[]> /** * disallow sibling imports from the current directory. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-sibling-import */ 'etc-misc/no-sibling-import'?: Linter.RuleEntry /** * disallow single-line comments. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-single-line-comment */ 'etc-misc/no-single-line-comment'?: Linter.RuleEntry /** * disallow single-character type parameters. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-t */ 'etc-misc/no-t'?: Linter.RuleEntry /** * disallow unnecessary as const assertions. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-as-const */ 'etc-misc/no-unnecessary-as-const'?: Linter.RuleEntry<[]> /** * disallow unnecessary trailing break statements. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-break */ 'etc-misc/no-unnecessary-break'?: Linter.RuleEntry<[]> /** * disallow unnecessary initialization to undefined. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unnecessary-initialization */ 'etc-misc/no-unnecessary-initialization'?: Linter.RuleEntry<[]> /** * disallow render-local unstable children passed to custom components. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unstable-react-children */ 'etc-misc/no-unstable-react-children'?: Linter.RuleEntry /** * disallow render-local unstable values passed to components or custom hooks. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-unstable-react-values */ 'etc-misc/no-unstable-react-values'?: Linter.RuleEntry /** * disallow usage of non-native members on built-in JavaScript objects. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-use-extend-native */ 'etc-misc/no-use-extend-native'?: Linter.RuleEntry<[]> /** * disallow ReDoS-vulnerable regular expressions. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/no-vulnerable */ 'etc-misc/no-vulnerable'?: Linter.RuleEntry /** * enforce object literal line format based on property count. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/object-format */ 'etc-misc/object-format'?: Linter.RuleEntry /** * disallow exported names that are not in a configured allow-list. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/only-export-name */ 'etc-misc/only-export-name'?: Linter.RuleEntry /** * require arrow-function properties when `this` is not required. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-arrow-function-property */ 'etc-misc/prefer-arrow-function-property'?: Linter.RuleEntry<[]> /** * require require() calls to be assigned to const. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-const-require */ 'etc-misc/prefer-const-require'?: Linter.RuleEntry<[]> /** * disallow greater-than comparisons. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-less-than */ 'etc-misc/prefer-less-than'?: Linter.RuleEntry<[]> /** * disallow additional exports alongside a default export. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/prefer-only-export */ 'etc-misc/prefer-only-export'?: Linter.RuleEntry<[]> /** * require React-style components to use functions when class-only APIs are unnecessary. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/react-prefer-function-component */ 'etc-misc/react-prefer-function-component'?: Linter.RuleEntry /** * require at least one match for each configured AST selector. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/require-syntax */ 'etc-misc/require-syntax'?: Linter.RuleEntry /** * enforce alphabetical ordering of top-of-file comments. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/sort-top-comments */ 'etc-misc/sort-top-comments'?: Linter.RuleEntry<[]> /** * enforce newline boundary formatting for multiline template literals. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/template-literal-format */ 'etc-misc/template-literal-format'?: Linter.RuleEntry<[]> /** * require explicit return types for array callback functions. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-array-callback-return-type */ 'etc-misc/typescript/array-callback-return-type'?: Linter.RuleEntry<[]> /** * enforce consistent naming for array-like type aliases. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-consistent-array-type-name */ 'etc-misc/typescript/consistent-array-type-name'?: Linter.RuleEntry<[]> /** * disallow optional boolean literal types in property signatures. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-boolean-literal-type */ 'etc-misc/typescript/no-boolean-literal-type'?: Linter.RuleEntry<[]> /** * disallow complex inferred declarator types without explicit annotation. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-complex-declarator-type */ 'etc-misc/typescript/no-complex-declarator-type'?: Linter.RuleEntry<[]> /** * disallow union element types directly inside tuple element positions. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-multi-type-tuples */ 'etc-misc/typescript/no-multi-type-tuples'?: Linter.RuleEntry<[]> /** * disallow inferred identifiers with `never` type. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-never */ 'etc-misc/typescript/no-never'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in const declaration union types when the initializer is definitely defined. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-const */ 'etc-misc/typescript/no-redundant-undefined-const'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in default parameter union types when the initializer is definitely defined. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-default-parameter */ 'etc-misc/typescript/no-redundant-undefined-default-parameter'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in `let` type unions when declarations are never reassigned and initialized with definitely-defined values. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-let */ 'etc-misc/typescript/no-redundant-undefined-let'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in optional parameter and tuple member union types. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-optional */ 'etc-misc/typescript/no-redundant-undefined-optional'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in Promise return value unions for async functions that deterministically return definitely-defined values. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-promise-return-type */ 'etc-misc/typescript/no-redundant-undefined-promise-return-type'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in readonly property union types when the initializer is definitely defined. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-readonly-property */ 'etc-misc/typescript/no-redundant-undefined-readonly-property'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in return type unions when the function deterministically returns a definitely-defined value. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-return-type */ 'etc-misc/typescript/no-redundant-undefined-return-type'?: Linter.RuleEntry<[]> /** * disallow redundant `undefined` in `var` type unions when declarations are never reassigned and initialized with definitely-defined values. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-redundant-undefined-var */ 'etc-misc/typescript/no-redundant-undefined-var'?: Linter.RuleEntry<[]> /** * disallow Object.assign sources that may overwrite readonly target keys. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-no-unsafe-object-assign */ 'etc-misc/typescript/no-unsafe-object-assign'?: Linter.RuleEntry<[]> /** * require class methods over untyped arrow-function class properties. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-class-method */ 'etc-misc/typescript/prefer-class-method'?: Linter.RuleEntry<[]> /** * require explicit names for tuple members in TypeScript tuple types. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-named-tuple-members */ 'etc-misc/typescript/prefer-named-tuple-members'?: Linter.RuleEntry<[]> /** * require readonly index signatures. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-prefer-readonly-index-signature */ 'etc-misc/typescript/prefer-readonly-index-signature'?: Linter.RuleEntry<[]> /** * require explicit type annotations for class properties without initializers. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-prop-type-annotation */ 'etc-misc/typescript/require-prop-type-annotation'?: Linter.RuleEntry<[]> /** * require readonly array and tuple property type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-array-property-type */ 'etc-misc/typescript/require-readonly-array-property-type'?: Linter.RuleEntry<[]> /** * require readonly array and tuple return type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-array-return-type */ 'etc-misc/typescript/require-readonly-array-return-type'?: Linter.RuleEntry<[]> /** * require readonly array and tuple type alias annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-array-type-alias */ 'etc-misc/typescript/require-readonly-array-type-alias'?: Linter.RuleEntry<[]> /** * require ReadonlyMap property type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-property-type */ 'etc-misc/typescript/require-readonly-map-property-type'?: Linter.RuleEntry<[]> /** * require ReadonlyMap return type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-return-type */ 'etc-misc/typescript/require-readonly-map-return-type'?: Linter.RuleEntry<[]> /** * require ReadonlyMap type alias annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-map-type-alias */ 'etc-misc/typescript/require-readonly-map-type-alias'?: Linter.RuleEntry<[]> /** * require Readonly> property type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-property-type */ 'etc-misc/typescript/require-readonly-record-property-type'?: Linter.RuleEntry<[]> /** * require Readonly> return type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-return-type */ 'etc-misc/typescript/require-readonly-record-return-type'?: Linter.RuleEntry<[]> /** * require Readonly> type alias annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-record-type-alias */ 'etc-misc/typescript/require-readonly-record-type-alias'?: Linter.RuleEntry<[]> /** * require ReadonlySet property type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-property-type */ 'etc-misc/typescript/require-readonly-set-property-type'?: Linter.RuleEntry<[]> /** * require ReadonlySet return type annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-return-type */ 'etc-misc/typescript/require-readonly-set-return-type'?: Linter.RuleEntry<[]> /** * require ReadonlySet type alias annotations. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-readonly-set-type-alias */ 'etc-misc/typescript/require-readonly-set-type-alias'?: Linter.RuleEntry<[]> /** * require static class methods to declare `this: void`. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/typescript-require-this-void */ 'etc-misc/typescript/require-this-void'?: Linter.RuleEntry<[]> /** * disallow internal APIs that are not prefixed with underscores. * @see https://nick2bad4u.github.io/eslint-plugin-etc-misc/docs/rules/underscore-internal */ 'etc-misc/underscore-internal'?: Linter.RuleEntry<[]> /** * Enforce `for` loop update clause moving the counter in the right direction * @see https://eslint.org/docs/latest/rules/for-direction */ 'for-direction'?: Linter.RuleEntry<[]> /** * Require function names to match the name of the variable or property to which they are assigned * @see https://eslint.org/docs/latest/rules/func-name-matching */ 'func-name-matching'?: Linter.RuleEntry /** * Require or disallow named `function` expressions * @see https://eslint.org/docs/latest/rules/func-names */ 'func-names'?: Linter.RuleEntry /** * Enforce the consistent use of either `function` declarations or expressions assigned to variables * @see https://eslint.org/docs/latest/rules/func-style */ 'func-style'?: Linter.RuleEntry /** * Enforce `return` statements in getters * @see https://eslint.org/docs/latest/rules/getter-return */ 'getter-return'?: Linter.RuleEntry /** * Require grouped accessor pairs in object literals and classes * @see https://eslint.org/docs/latest/rules/grouped-accessor-pairs */ 'grouped-accessor-pairs'?: Linter.RuleEntry /** * Require `for-in` loops to include an `if` statement * @see https://eslint.org/docs/latest/rules/guard-for-in */ 'guard-for-in'?: Linter.RuleEntry<[]> /** * Disallow specified identifiers * @see https://eslint.org/docs/latest/rules/id-denylist */ 'id-denylist'?: Linter.RuleEntry /** * Enforce minimum and maximum identifier lengths * @see https://eslint.org/docs/latest/rules/id-length */ 'id-length'?: Linter.RuleEntry /** * Require identifiers to match a specified regular expression * @see https://eslint.org/docs/latest/rules/id-match */ 'id-match'?: Linter.RuleEntry /** * Enforce or ban the use of inline type-only markers for named imports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md */ 'import/consistent-type-specifier-style'?: Linter.RuleEntry /** * Ensure a default export is present, given a default import. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/default.md */ 'import/default'?: Linter.RuleEntry<[]> /** * Enforce a leading comment with the webpackChunkName for dynamic imports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/dynamic-import-chunkname.md */ 'import/dynamic-import-chunkname'?: Linter.RuleEntry /** * Enforce either using, or omitting, the `node:` protocol when importing Node.js builtin modules. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/enforce-node-protocol-usage.md */ 'import/enforce-node-protocol-usage'?: Linter.RuleEntry /** * Forbid any invalid exports, i.e. re-export of the same name. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/export.md */ 'import/export'?: Linter.RuleEntry<[]> /** * Ensure all exports appear after other statements. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/exports-last.md */ 'import/exports-last'?: Linter.RuleEntry<[]> /** * Ensure consistent use of file extension within the import path. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/extensions.md */ 'import/extensions'?: Linter.RuleEntry /** * Ensure all imports appear before other statements. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/first.md */ 'import/first'?: Linter.RuleEntry /** * Prefer named exports to be grouped together in a single export declaration * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/group-exports.md */ 'import/group-exports'?: Linter.RuleEntry<[]> /** * Enforce the maximum number of dependencies a module can have. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/max-dependencies.md */ 'import/max-dependencies'?: Linter.RuleEntry /** * Ensure named imports correspond to a named export in the remote file. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/named.md */ 'import/named'?: Linter.RuleEntry /** * Ensure imported namespaces contain dereferenced properties as they are dereferenced. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/namespace.md */ 'import/namespace'?: Linter.RuleEntry /** * Enforce a newline after import statements. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/newline-after-import.md */ 'import/newline-after-import'?: Linter.RuleEntry /** * Forbid import of modules using absolute paths. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-absolute-path.md */ 'import/no-absolute-path'?: Linter.RuleEntry /** * Forbid AMD `require` and `define` calls. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-amd.md */ 'import/no-amd'?: Linter.RuleEntry<[]> /** * Forbid anonymous values as default exports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-anonymous-default-export.md */ 'import/no-anonymous-default-export'?: Linter.RuleEntry /** * Forbid CommonJS `require` calls and `module.exports` or `exports.*`. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-commonjs.md */ 'import/no-commonjs'?: Linter.RuleEntry /** * Forbid a module from importing a module with a dependency path back to itself. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-cycle.md */ 'import/no-cycle'?: Linter.RuleEntry /** * Forbid default exports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-default-export.md */ 'import/no-default-export'?: Linter.RuleEntry<[]> /** * Forbid imported names marked with `@deprecated` documentation tag. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-deprecated.md */ 'import/no-deprecated'?: Linter.RuleEntry<[]> /** * Forbid repeated import of the same module in multiple places. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-duplicates.md */ 'import/no-duplicates'?: Linter.RuleEntry /** * Forbid `require()` calls with expressions. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-dynamic-require.md */ 'import/no-dynamic-require'?: Linter.RuleEntry /** * Forbid empty named import blocks. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-empty-named-blocks.md */ 'import/no-empty-named-blocks'?: Linter.RuleEntry<[]> /** * Forbid the use of extraneous packages. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-extraneous-dependencies.md */ 'import/no-extraneous-dependencies'?: Linter.RuleEntry /** * Forbid import statements with CommonJS module.exports. */ 'import/no-import-module-exports'?: Linter.RuleEntry /** * Forbid importing the submodules of other modules. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-internal-modules.md */ 'import/no-internal-modules'?: Linter.RuleEntry /** * Forbid the use of mutable exports with `var` or `let`. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-mutable-exports.md */ 'import/no-mutable-exports'?: Linter.RuleEntry<[]> /** * Forbid use of exported name as identifier of default export. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default.md */ 'import/no-named-as-default'?: Linter.RuleEntry<[]> /** * Forbid use of exported name as property of default export. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default-member.md */ 'import/no-named-as-default-member'?: Linter.RuleEntry<[]> /** * Forbid named default exports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-default.md */ 'import/no-named-default'?: Linter.RuleEntry<[]> /** * Forbid named exports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-export.md */ 'import/no-named-export'?: Linter.RuleEntry<[]> /** * Forbid namespace (a.k.a. "wildcard" `*`) imports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-namespace.md */ 'import/no-namespace'?: Linter.RuleEntry /** * Forbid Node.js builtin modules. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-nodejs-modules.md */ 'import/no-nodejs-modules'?: Linter.RuleEntry /** * Forbid importing packages through relative paths. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-packages.md */ 'import/no-relative-packages'?: Linter.RuleEntry /** * Forbid importing modules from parent directories. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-parent-imports.md */ 'import/no-relative-parent-imports'?: Linter.RuleEntry /** * Enforce which files can be imported in a given folder. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-restricted-paths.md */ 'import/no-restricted-paths'?: Linter.RuleEntry /** * Forbid a module from importing itself. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-self-import.md */ 'import/no-self-import'?: Linter.RuleEntry<[]> /** * Forbid unassigned imports * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unassigned-import.md */ 'import/no-unassigned-import'?: Linter.RuleEntry /** * Ensure imports point to a file/module that can be resolved. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unresolved.md */ 'import/no-unresolved'?: Linter.RuleEntry /** * Forbid modules without exports, or exports without matching import in another module. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unused-modules.md */ 'import/no-unused-modules'?: Linter.RuleEntry /** * Forbid unnecessary path segments in import and require statements. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-useless-path-segments.md */ 'import/no-useless-path-segments'?: Linter.RuleEntry /** * Forbid webpack loader syntax in imports. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-webpack-loader-syntax.md */ 'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]> /** * Enforce a convention in module import order. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/order.md */ 'import/order'?: Linter.RuleEntry /** * Prefer a default export if module exports a single name or multiple names. * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/prefer-default-export.md */ 'import/prefer-default-export'?: Linter.RuleEntry /** * Forbid potentially ambiguous parse goal (`script` vs. `module`). * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/unambiguous.md */ 'import/unambiguous'?: Linter.RuleEntry<[]> /** * Require or disallow initialization in variable declarations * @see https://eslint.org/docs/latest/rules/init-declarations */ 'init-declarations'?: Linter.RuleEntry /** * Require or disallow newlines around directives * @see https://eslint.org/docs/latest/rules/lines-around-directive * @deprecated */ 'lines-around-directive'?: Linter.RuleEntry /** * Require or disallow logical assignment operator shorthand * @see https://eslint.org/docs/latest/rules/logical-assignment-operators */ 'logical-assignment-operators'?: Linter.RuleEntry /** * Enforce a maximum number of classes per file * @see https://eslint.org/docs/latest/rules/max-classes-per-file */ 'max-classes-per-file'?: Linter.RuleEntry /** * Enforce a maximum depth that blocks can be nested * @see https://eslint.org/docs/latest/rules/max-depth */ 'max-depth'?: Linter.RuleEntry /** * Enforce a maximum number of lines per file * @see https://eslint.org/docs/latest/rules/max-lines */ 'max-lines'?: Linter.RuleEntry /** * Enforce a maximum number of lines of code in a function * @see https://eslint.org/docs/latest/rules/max-lines-per-function */ 'max-lines-per-function'?: Linter.RuleEntry /** * Enforce a maximum depth that callbacks can be nested * @see https://eslint.org/docs/latest/rules/max-nested-callbacks */ 'max-nested-callbacks'?: Linter.RuleEntry /** * Enforce a maximum number of parameters in function definitions * @see https://eslint.org/docs/latest/rules/max-params */ 'max-params'?: Linter.RuleEntry /** * Enforce a maximum number of statements allowed in function blocks * @see https://eslint.org/docs/latest/rules/max-statements */ 'max-statements'?: Linter.RuleEntry /** * Require constructor names to begin with a capital letter * @see https://eslint.org/docs/latest/rules/new-cap */ 'new-cap'?: Linter.RuleEntry /** * Disallow the use of `alert`, `confirm`, and `prompt` * @see https://eslint.org/docs/latest/rules/no-alert */ 'no-alert'?: Linter.RuleEntry<[]> /** * Disallow `Array` constructors * @see https://eslint.org/docs/latest/rules/no-array-constructor */ 'no-array-constructor'?: Linter.RuleEntry<[]> /** * Disallow using an async function as a Promise executor * @see https://eslint.org/docs/latest/rules/no-async-promise-executor */ 'no-async-promise-executor'?: Linter.RuleEntry<[]> /** * Disallow `await` inside of loops * @see https://eslint.org/docs/latest/rules/no-await-in-loop */ 'no-await-in-loop'?: Linter.RuleEntry<[]> /** * Disallow bitwise operators * @see https://eslint.org/docs/latest/rules/no-bitwise */ 'no-bitwise'?: Linter.RuleEntry /** * Disallow the use of `arguments.caller` or `arguments.callee` * @see https://eslint.org/docs/latest/rules/no-caller */ 'no-caller'?: Linter.RuleEntry<[]> /** * Disallow lexical declarations in case clauses * @see https://eslint.org/docs/latest/rules/no-case-declarations */ 'no-case-declarations'?: Linter.RuleEntry<[]> /** * Disallow reassigning class members * @see https://eslint.org/docs/latest/rules/no-class-assign */ 'no-class-assign'?: Linter.RuleEntry<[]> /** * Disallow comparing against `-0` * @see https://eslint.org/docs/latest/rules/no-compare-neg-zero */ 'no-compare-neg-zero'?: Linter.RuleEntry<[]> /** * Disallow assignment operators in conditional expressions * @see https://eslint.org/docs/latest/rules/no-cond-assign */ 'no-cond-assign'?: Linter.RuleEntry /** * Disallow the use of `console` * @see https://eslint.org/docs/latest/rules/no-console */ 'no-console'?: Linter.RuleEntry /** * Disallow reassigning `const`, `using`, and `await using` variables * @see https://eslint.org/docs/latest/rules/no-const-assign */ 'no-const-assign'?: Linter.RuleEntry<[]> /** * Disallow expressions where the operation doesn't affect the value * @see https://eslint.org/docs/latest/rules/no-constant-binary-expression */ 'no-constant-binary-expression'?: Linter.RuleEntry /** * Disallow constant expressions in conditions * @see https://eslint.org/docs/latest/rules/no-constant-condition */ 'no-constant-condition'?: Linter.RuleEntry /** * Disallow returning value from constructor * @see https://eslint.org/docs/latest/rules/no-constructor-return */ 'no-constructor-return'?: Linter.RuleEntry<[]> /** * Disallow `continue` statements * @see https://eslint.org/docs/latest/rules/no-continue */ 'no-continue'?: Linter.RuleEntry<[]> /** * Disallow control characters in regular expressions * @see https://eslint.org/docs/latest/rules/no-control-regex */ 'no-control-regex'?: Linter.RuleEntry<[]> /** * Disallow the use of `debugger` * @see https://eslint.org/docs/latest/rules/no-debugger */ 'no-debugger'?: Linter.RuleEntry<[]> /** * Disallow deleting variables * @see https://eslint.org/docs/latest/rules/no-delete-var */ 'no-delete-var'?: Linter.RuleEntry<[]> /** * Disallow equal signs explicitly at the beginning of regular expressions * @see https://eslint.org/docs/latest/rules/no-div-regex */ 'no-div-regex'?: Linter.RuleEntry<[]> /** * Disallow duplicate arguments in `function` definitions * @see https://eslint.org/docs/latest/rules/no-dupe-args */ 'no-dupe-args'?: Linter.RuleEntry<[]> /** * Disallow duplicate class members * @see https://eslint.org/docs/latest/rules/no-dupe-class-members */ 'no-dupe-class-members'?: Linter.RuleEntry<[]> /** * Disallow duplicate conditions in if-else-if chains * @see https://eslint.org/docs/latest/rules/no-dupe-else-if */ 'no-dupe-else-if'?: Linter.RuleEntry<[]> /** * Disallow duplicate keys in object literals * @see https://eslint.org/docs/latest/rules/no-dupe-keys */ 'no-dupe-keys'?: Linter.RuleEntry<[]> /** * Disallow duplicate case labels * @see https://eslint.org/docs/latest/rules/no-duplicate-case */ 'no-duplicate-case'?: Linter.RuleEntry<[]> /** * Disallow duplicate module imports * @see https://eslint.org/docs/latest/rules/no-duplicate-imports */ 'no-duplicate-imports'?: Linter.RuleEntry /** * Disallow `else` blocks after `return` statements in `if` statements * @see https://eslint.org/docs/latest/rules/no-else-return */ 'no-else-return'?: Linter.RuleEntry /** * Disallow empty block statements * @see https://eslint.org/docs/latest/rules/no-empty */ 'no-empty'?: Linter.RuleEntry /** * Disallow empty character classes in regular expressions * @see https://eslint.org/docs/latest/rules/no-empty-character-class */ 'no-empty-character-class'?: Linter.RuleEntry<[]> /** * Disallow empty functions * @see https://eslint.org/docs/latest/rules/no-empty-function */ 'no-empty-function'?: Linter.RuleEntry /** * Disallow empty destructuring patterns * @see https://eslint.org/docs/latest/rules/no-empty-pattern */ 'no-empty-pattern'?: Linter.RuleEntry /** * Disallow empty static blocks * @see https://eslint.org/docs/latest/rules/no-empty-static-block */ 'no-empty-static-block'?: Linter.RuleEntry<[]> /** * Disallow `null` comparisons without type-checking operators * @see https://eslint.org/docs/latest/rules/no-eq-null */ 'no-eq-null'?: Linter.RuleEntry<[]> /** * Disallow the use of `eval()` * @see https://eslint.org/docs/latest/rules/no-eval */ 'no-eval'?: Linter.RuleEntry /** * Disallow reassigning exceptions in `catch` clauses * @see https://eslint.org/docs/latest/rules/no-ex-assign */ 'no-ex-assign'?: Linter.RuleEntry<[]> /** * Disallow extending native types * @see https://eslint.org/docs/latest/rules/no-extend-native */ 'no-extend-native'?: Linter.RuleEntry /** * Disallow unnecessary calls to `.bind()` * @see https://eslint.org/docs/latest/rules/no-extra-bind */ 'no-extra-bind'?: Linter.RuleEntry<[]> /** * Disallow unnecessary boolean casts * @see https://eslint.org/docs/latest/rules/no-extra-boolean-cast */ 'no-extra-boolean-cast'?: Linter.RuleEntry /** * Disallow unnecessary labels * @see https://eslint.org/docs/latest/rules/no-extra-label */ 'no-extra-label'?: Linter.RuleEntry<[]> /** * Disallow fallthrough of `case` statements * @see https://eslint.org/docs/latest/rules/no-fallthrough */ 'no-fallthrough'?: Linter.RuleEntry /** * Disallow reassigning `function` declarations * @see https://eslint.org/docs/latest/rules/no-func-assign */ 'no-func-assign'?: Linter.RuleEntry<[]> /** * Disallow assignments to native objects or read-only global variables * @see https://eslint.org/docs/latest/rules/no-global-assign */ 'no-global-assign'?: Linter.RuleEntry /** * Disallow shorthand type conversions * @see https://eslint.org/docs/latest/rules/no-implicit-coercion */ 'no-implicit-coercion'?: Linter.RuleEntry /** * Disallow declarations in the global scope * @see https://eslint.org/docs/latest/rules/no-implicit-globals */ 'no-implicit-globals'?: Linter.RuleEntry /** * Disallow the use of `eval()`-like methods * @see https://eslint.org/docs/latest/rules/no-implied-eval */ 'no-implied-eval'?: Linter.RuleEntry<[]> /** * Disallow assigning to imported bindings * @see https://eslint.org/docs/latest/rules/no-import-assign */ 'no-import-assign'?: Linter.RuleEntry<[]> /** * Disallow inline comments after code * @see https://eslint.org/docs/latest/rules/no-inline-comments */ 'no-inline-comments'?: Linter.RuleEntry /** * Disallow variable or `function` declarations in nested blocks * @see https://eslint.org/docs/latest/rules/no-inner-declarations */ 'no-inner-declarations'?: Linter.RuleEntry /** * Disallow invalid regular expression strings in `RegExp` constructors * @see https://eslint.org/docs/latest/rules/no-invalid-regexp */ 'no-invalid-regexp'?: Linter.RuleEntry /** * Disallow use of `this` in contexts where the value of `this` is `undefined` * @see https://eslint.org/docs/latest/rules/no-invalid-this */ 'no-invalid-this'?: Linter.RuleEntry /** * Disallow irregular whitespace * @see https://eslint.org/docs/latest/rules/no-irregular-whitespace */ 'no-irregular-whitespace'?: Linter.RuleEntry /** * Disallow the use of the `__iterator__` property * @see https://eslint.org/docs/latest/rules/no-iterator */ 'no-iterator'?: Linter.RuleEntry<[]> /** * Disallow labels that share a name with a variable * @see https://eslint.org/docs/latest/rules/no-label-var */ 'no-label-var'?: Linter.RuleEntry<[]> /** * Disallow labeled statements * @see https://eslint.org/docs/latest/rules/no-labels */ 'no-labels'?: Linter.RuleEntry /** * Disallow unnecessary nested blocks * @see https://eslint.org/docs/latest/rules/no-lone-blocks */ 'no-lone-blocks'?: Linter.RuleEntry<[]> /** * Disallow `if` statements as the only statement in `else` blocks * @see https://eslint.org/docs/latest/rules/no-lonely-if */ 'no-lonely-if'?: Linter.RuleEntry<[]> /** * Disallow function declarations that contain unsafe references inside loop statements * @see https://eslint.org/docs/latest/rules/no-loop-func */ 'no-loop-func'?: Linter.RuleEntry<[]> /** * Disallow literal numbers that lose precision * @see https://eslint.org/docs/latest/rules/no-loss-of-precision */ 'no-loss-of-precision'?: Linter.RuleEntry<[]> /** * Disallow magic numbers * @see https://eslint.org/docs/latest/rules/no-magic-numbers */ 'no-magic-numbers'?: Linter.RuleEntry /** * Disallow characters which are made with multiple code points in character class syntax * @see https://eslint.org/docs/latest/rules/no-misleading-character-class */ 'no-misleading-character-class'?: Linter.RuleEntry /** * Disallow use of chained assignment expressions * @see https://eslint.org/docs/latest/rules/no-multi-assign */ 'no-multi-assign'?: Linter.RuleEntry /** * Disallow multiline strings * @see https://eslint.org/docs/latest/rules/no-multi-str */ 'no-multi-str'?: Linter.RuleEntry<[]> /** * Disallow negated conditions * @see https://eslint.org/docs/latest/rules/no-negated-condition */ 'no-negated-condition'?: Linter.RuleEntry<[]> /** * Disallow nested ternary expressions * @see https://eslint.org/docs/latest/rules/no-nested-ternary */ 'no-nested-ternary'?: Linter.RuleEntry<[]> /** * Disallow `new` operators outside of assignments or comparisons * @see https://eslint.org/docs/latest/rules/no-new */ 'no-new'?: Linter.RuleEntry<[]> /** * Disallow `new` operators with the `Function` object * @see https://eslint.org/docs/latest/rules/no-new-func */ 'no-new-func'?: Linter.RuleEntry<[]> /** * Disallow `new` operators with global non-constructor functions * @see https://eslint.org/docs/latest/rules/no-new-native-nonconstructor */ 'no-new-native-nonconstructor'?: Linter.RuleEntry<[]> /** * Disallow `new` operators with the `String`, `Number`, and `Boolean` objects * @see https://eslint.org/docs/latest/rules/no-new-wrappers */ 'no-new-wrappers'?: Linter.RuleEntry<[]> /** * Disallow `\8` and `\9` escape sequences in string literals * @see https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape */ 'no-nonoctal-decimal-escape'?: Linter.RuleEntry<[]> /** * Disallow calling global object properties as functions * @see https://eslint.org/docs/latest/rules/no-obj-calls */ 'no-obj-calls'?: Linter.RuleEntry<[]> /** * Disallow calls to the `Object` constructor without an argument * @see https://eslint.org/docs/latest/rules/no-object-constructor */ 'no-object-constructor'?: Linter.RuleEntry<[]> /** * Disallow octal literals * @see https://eslint.org/docs/latest/rules/no-octal */ 'no-octal'?: Linter.RuleEntry<[]> /** * Disallow octal escape sequences in string literals * @see https://eslint.org/docs/latest/rules/no-octal-escape */ 'no-octal-escape'?: Linter.RuleEntry<[]> /** * Disallow reassigning function parameters * @see https://eslint.org/docs/latest/rules/no-param-reassign */ 'no-param-reassign'?: Linter.RuleEntry /** * Disallow the unary operators `++` and `--` * @see https://eslint.org/docs/latest/rules/no-plusplus */ 'no-plusplus'?: Linter.RuleEntry /** * Disallow returning values from Promise executor functions * @see https://eslint.org/docs/latest/rules/no-promise-executor-return */ 'no-promise-executor-return'?: Linter.RuleEntry /** * Disallow the use of the `__proto__` property * @see https://eslint.org/docs/latest/rules/no-proto */ 'no-proto'?: Linter.RuleEntry<[]> /** * Disallow calling some `Object.prototype` methods directly on objects * @see https://eslint.org/docs/latest/rules/no-prototype-builtins */ 'no-prototype-builtins'?: Linter.RuleEntry<[]> /** * Disallow variable redeclaration * @see https://eslint.org/docs/latest/rules/no-redeclare */ 'no-redeclare'?: Linter.RuleEntry /** * Disallow multiple spaces in regular expressions * @see https://eslint.org/docs/latest/rules/no-regex-spaces */ 'no-regex-spaces'?: Linter.RuleEntry<[]> /** * Disallow specified names in exports * @see https://eslint.org/docs/latest/rules/no-restricted-exports */ 'no-restricted-exports'?: Linter.RuleEntry /** * Disallow specified global variables * @see https://eslint.org/docs/latest/rules/no-restricted-globals */ 'no-restricted-globals'?: Linter.RuleEntry /** * Disallow specified modules when loaded by `import` * @see https://eslint.org/docs/latest/rules/no-restricted-imports */ 'no-restricted-imports'?: Linter.RuleEntry /** * Disallow certain properties on certain objects * @see https://eslint.org/docs/latest/rules/no-restricted-properties */ 'no-restricted-properties'?: Linter.RuleEntry /** * Disallow specified syntax * @see https://eslint.org/docs/latest/rules/no-restricted-syntax */ 'no-restricted-syntax'?: Linter.RuleEntry /** * Disallow assignment operators in `return` statements * @see https://eslint.org/docs/latest/rules/no-return-assign */ 'no-return-assign'?: Linter.RuleEntry /** * Disallow `javascript:` URLs * @see https://eslint.org/docs/latest/rules/no-script-url */ 'no-script-url'?: Linter.RuleEntry<[]> /** * Disallow assignments where both sides are exactly the same * @see https://eslint.org/docs/latest/rules/no-self-assign */ 'no-self-assign'?: Linter.RuleEntry /** * Disallow comparisons where both sides are exactly the same * @see https://eslint.org/docs/latest/rules/no-self-compare */ 'no-self-compare'?: Linter.RuleEntry<[]> /** * Disallow comma operators * @see https://eslint.org/docs/latest/rules/no-sequences */ 'no-sequences'?: Linter.RuleEntry /** * Disallow returning values from setters * @see https://eslint.org/docs/latest/rules/no-setter-return */ 'no-setter-return'?: Linter.RuleEntry<[]> /** * Disallow variable declarations from shadowing variables declared in the outer scope * @see https://eslint.org/docs/latest/rules/no-shadow */ 'no-shadow'?: Linter.RuleEntry /** * Disallow identifiers from shadowing restricted names * @see https://eslint.org/docs/latest/rules/no-shadow-restricted-names */ 'no-shadow-restricted-names'?: Linter.RuleEntry /** * Disallow sparse arrays * @see https://eslint.org/docs/latest/rules/no-sparse-arrays */ 'no-sparse-arrays'?: Linter.RuleEntry<[]> /** * Disallow template literal placeholder syntax in regular strings * @see https://eslint.org/docs/latest/rules/no-template-curly-in-string */ 'no-template-curly-in-string'?: Linter.RuleEntry<[]> /** * Disallow ternary operators * @see https://eslint.org/docs/latest/rules/no-ternary */ 'no-ternary'?: Linter.RuleEntry<[]> /** * Disallow `this`/`super` before calling `super()` in constructors * @see https://eslint.org/docs/latest/rules/no-this-before-super */ 'no-this-before-super'?: Linter.RuleEntry<[]> /** * Disallow throwing literals as exceptions * @see https://eslint.org/docs/latest/rules/no-throw-literal */ 'no-throw-literal'?: Linter.RuleEntry<[]> /** * Disallow `let` or `var` variables that are read but never assigned * @see https://eslint.org/docs/latest/rules/no-unassigned-vars */ 'no-unassigned-vars'?: Linter.RuleEntry<[]> /** * Disallow the use of undeclared variables unless mentioned in `/*global *\/` comments * @see https://eslint.org/docs/latest/rules/no-undef */ 'no-undef'?: Linter.RuleEntry /** * Disallow initializing variables to `undefined` * @see https://eslint.org/docs/latest/rules/no-undef-init */ 'no-undef-init'?: Linter.RuleEntry<[]> /** * Disallow the use of `undefined` as an identifier * @see https://eslint.org/docs/latest/rules/no-undefined */ 'no-undefined'?: Linter.RuleEntry<[]> /** * Disallow dangling underscores in identifiers * @see https://eslint.org/docs/latest/rules/no-underscore-dangle */ 'no-underscore-dangle'?: Linter.RuleEntry /** * Disallow confusing multiline expressions * @see https://eslint.org/docs/latest/rules/no-unexpected-multiline */ 'no-unexpected-multiline'?: Linter.RuleEntry<[]> /** * Disallow unmodified loop conditions * @see https://eslint.org/docs/latest/rules/no-unmodified-loop-condition */ 'no-unmodified-loop-condition'?: Linter.RuleEntry<[]> /** * Disallow ternary operators when simpler alternatives exist * @see https://eslint.org/docs/latest/rules/no-unneeded-ternary */ 'no-unneeded-ternary'?: Linter.RuleEntry /** * Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements * @see https://eslint.org/docs/latest/rules/no-unreachable */ 'no-unreachable'?: Linter.RuleEntry<[]> /** * Disallow loops with a body that allows only one iteration * @see https://eslint.org/docs/latest/rules/no-unreachable-loop */ 'no-unreachable-loop'?: Linter.RuleEntry /** * Disallow control flow statements in `finally` blocks * @see https://eslint.org/docs/latest/rules/no-unsafe-finally */ 'no-unsafe-finally'?: Linter.RuleEntry<[]> /** * Disallow negating the left operand of relational operators * @see https://eslint.org/docs/latest/rules/no-unsafe-negation */ 'no-unsafe-negation'?: Linter.RuleEntry /** * Disallow use of optional chaining in contexts where the `undefined` value is not allowed * @see https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining */ 'no-unsafe-optional-chaining'?: Linter.RuleEntry /** * Disallow unused expressions * @see https://eslint.org/docs/latest/rules/no-unused-expressions */ 'no-unused-expressions'?: Linter.RuleEntry /** * Disallow unused labels * @see https://eslint.org/docs/latest/rules/no-unused-labels */ 'no-unused-labels'?: Linter.RuleEntry<[]> /** * Disallow unused private class members * @see https://eslint.org/docs/latest/rules/no-unused-private-class-members */ 'no-unused-private-class-members'?: Linter.RuleEntry<[]> /** * Disallow unused variables * @see https://eslint.org/docs/latest/rules/no-unused-vars */ 'no-unused-vars'?: Linter.RuleEntry /** * Disallow the use of variables before they are defined * @see https://eslint.org/docs/latest/rules/no-use-before-define */ 'no-use-before-define'?: Linter.RuleEntry /** * Disallow variable assignments when the value is not used * @see https://eslint.org/docs/latest/rules/no-useless-assignment */ 'no-useless-assignment'?: Linter.RuleEntry<[]> /** * Disallow useless backreferences in regular expressions * @see https://eslint.org/docs/latest/rules/no-useless-backreference */ 'no-useless-backreference'?: Linter.RuleEntry<[]> /** * Disallow unnecessary calls to `.call()` and `.apply()` * @see https://eslint.org/docs/latest/rules/no-useless-call */ 'no-useless-call'?: Linter.RuleEntry<[]> /** * Disallow unnecessary `catch` clauses * @see https://eslint.org/docs/latest/rules/no-useless-catch */ 'no-useless-catch'?: Linter.RuleEntry<[]> /** * Disallow unnecessary computed property keys in objects and classes * @see https://eslint.org/docs/latest/rules/no-useless-computed-key */ 'no-useless-computed-key'?: Linter.RuleEntry /** * Disallow unnecessary concatenation of literals or template literals * @see https://eslint.org/docs/latest/rules/no-useless-concat */ 'no-useless-concat'?: Linter.RuleEntry<[]> /** * Disallow unnecessary constructors * @see https://eslint.org/docs/latest/rules/no-useless-constructor */ 'no-useless-constructor'?: Linter.RuleEntry<[]> /** * Disallow unnecessary escape characters * @see https://eslint.org/docs/latest/rules/no-useless-escape */ 'no-useless-escape'?: Linter.RuleEntry /** * Disallow renaming import, export, and destructured assignments to the same name * @see https://eslint.org/docs/latest/rules/no-useless-rename */ 'no-useless-rename'?: Linter.RuleEntry /** * Disallow redundant return statements * @see https://eslint.org/docs/latest/rules/no-useless-return */ 'no-useless-return'?: Linter.RuleEntry<[]> /** * Require `let` or `const` instead of `var` * @see https://eslint.org/docs/latest/rules/no-var */ 'no-var'?: Linter.RuleEntry<[]> /** * Disallow `void` operators * @see https://eslint.org/docs/latest/rules/no-void */ 'no-void'?: Linter.RuleEntry /** * Disallow specified warning terms in comments * @see https://eslint.org/docs/latest/rules/no-warning-comments */ 'no-warning-comments'?: Linter.RuleEntry /** * Disallow `with` statements * @see https://eslint.org/docs/latest/rules/no-with */ 'no-with'?: Linter.RuleEntry<[]> /** * Require or disallow method and property shorthand syntax for object literals * @see https://eslint.org/docs/latest/rules/object-shorthand */ 'object-shorthand'?: Linter.RuleEntry /** * Enforce variables to be declared either together or separately in functions * @see https://eslint.org/docs/latest/rules/one-var */ 'one-var'?: Linter.RuleEntry /** * Require or disallow assignment operator shorthand where possible * @see https://eslint.org/docs/latest/rules/operator-assignment */ 'operator-assignment'?: Linter.RuleEntry /** * Require using arrow functions for callbacks * @see https://eslint.org/docs/latest/rules/prefer-arrow-callback */ 'prefer-arrow-callback'?: Linter.RuleEntry /** * Require `const` declarations for variables that are never reassigned after declared * @see https://eslint.org/docs/latest/rules/prefer-const */ 'prefer-const'?: Linter.RuleEntry /** * Require destructuring from arrays and/or objects * @see https://eslint.org/docs/latest/rules/prefer-destructuring */ 'prefer-destructuring'?: Linter.RuleEntry /** * Disallow the use of `Math.pow` in favor of the `**` operator * @see https://eslint.org/docs/latest/rules/prefer-exponentiation-operator */ 'prefer-exponentiation-operator'?: Linter.RuleEntry<[]> /** * Enforce using named capture group in regular expression * @see https://eslint.org/docs/latest/rules/prefer-named-capture-group */ 'prefer-named-capture-group'?: Linter.RuleEntry<[]> /** * Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals * @see https://eslint.org/docs/latest/rules/prefer-numeric-literals */ 'prefer-numeric-literals'?: Linter.RuleEntry<[]> /** * Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()` * @see https://eslint.org/docs/latest/rules/prefer-object-has-own */ 'prefer-object-has-own'?: Linter.RuleEntry<[]> /** * Disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead * @see https://eslint.org/docs/latest/rules/prefer-object-spread */ 'prefer-object-spread'?: Linter.RuleEntry<[]> /** * Require using Error objects as Promise rejection reasons * @see https://eslint.org/docs/latest/rules/prefer-promise-reject-errors */ 'prefer-promise-reject-errors'?: Linter.RuleEntry /** * Disallow use of the `RegExp` constructor in favor of regular expression literals * @see https://eslint.org/docs/latest/rules/prefer-regex-literals */ 'prefer-regex-literals'?: Linter.RuleEntry /** * Require rest parameters instead of `arguments` * @see https://eslint.org/docs/latest/rules/prefer-rest-params */ 'prefer-rest-params'?: Linter.RuleEntry<[]> /** * Require spread operators instead of `.apply()` * @see https://eslint.org/docs/latest/rules/prefer-spread */ 'prefer-spread'?: Linter.RuleEntry<[]> /** * Require template literals instead of string concatenation * @see https://eslint.org/docs/latest/rules/prefer-template */ 'prefer-template'?: Linter.RuleEntry<[]> /** * Disallow losing originally caught error when re-throwing custom errors * @see https://eslint.org/docs/latest/rules/preserve-caught-error */ 'preserve-caught-error'?: Linter.RuleEntry /** * Enforce the use of the radix argument when using `parseInt()` * @see https://eslint.org/docs/latest/rules/radix */ 'radix'?: Linter.RuleEntry /** * Validates against calling capitalized functions/methods instead of using JSX * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/capitalized-calls */ 'react-hooks/capitalized-calls'?: Linter.RuleEntry /** * Validates the compiler configuration options * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/config */ 'react-hooks/config'?: Linter.RuleEntry /** * Validates usage of error boundaries instead of try/catch for errors in child components * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/error-boundaries */ 'react-hooks/error-boundaries'?: Linter.RuleEntry /** * verifies the list of dependencies for Hooks like useEffect and similar * @see https://github.com/facebook/react/issues/14920 */ 'react-hooks/exhaustive-deps'?: Linter.RuleEntry /** * Validates that effect dependencies are exhaustive and without extraneous values * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/exhaustive-effect-dependencies */ 'react-hooks/exhaustive-effect-dependencies'?: Linter.RuleEntry /** * Validates usage of fbt * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/fbt */ 'react-hooks/fbt'?: Linter.RuleEntry /** * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating) * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/gating */ 'react-hooks/gating'?: Linter.RuleEntry /** * Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render) * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/globals */ 'react-hooks/globals'?: Linter.RuleEntry /** * Validates the rules of hooks * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/hooks */ 'react-hooks/hooks'?: Linter.RuleEntry /** * Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable) * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/immutability */ 'react-hooks/immutability'?: Linter.RuleEntry /** * Validates against usage of libraries which are incompatible with memoization (manual or automatic) * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/incompatible-library */ 'react-hooks/incompatible-library'?: Linter.RuleEntry /** * Internal invariants * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/invariant */ 'react-hooks/invariant'?: Linter.RuleEntry /** * Validates that useMemo() and useCallback() specify comprehensive dependencies without extraneous values. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information. * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/memo-dependencies */ 'react-hooks/memo-dependencies'?: Linter.RuleEntry /** * Validates that effect dependencies are memoized * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/memoized-effect-dependencies */ 'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry /** * Validates against deriving values from state in an effect * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/no-deriving-state-in-effects */ 'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry /** * Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo) * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/preserve-manual-memoization */ 'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry /** * Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/purity */ 'react-hooks/purity'?: Linter.RuleEntry /** * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage) * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/refs */ 'react-hooks/refs'?: Linter.RuleEntry /** * Validates against suppression of other rules * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/rule-suppression */ 'react-hooks/rule-suppression'?: Linter.RuleEntry /** * enforces the Rules of Hooks * @see https://react.dev/reference/rules/rules-of-hooks */ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry /** * Validates against calling setState synchronously in an effect. This can indicate non-local derived data, a derived event pattern, or improper external data synchronization. * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-effect */ 'react-hooks/set-state-in-effect'?: Linter.RuleEntry /** * Validates against setting state during render, which can trigger additional renders and potential infinite render loops * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/set-state-in-render */ 'react-hooks/set-state-in-render'?: Linter.RuleEntry /** * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/static-components */ 'react-hooks/static-components'?: Linter.RuleEntry /** * Validates against invalid syntax * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/syntax */ 'react-hooks/syntax'?: Linter.RuleEntry /** * Unimplemented features * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/todo */ 'react-hooks/todo'?: Linter.RuleEntry /** * Validates against syntax that we do not plan to support in React Compiler * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/unsupported-syntax */ 'react-hooks/unsupported-syntax'?: Linter.RuleEntry /** * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information. * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/use-memo */ 'react-hooks/use-memo'?: Linter.RuleEntry /** * Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information. * @see https://react.dev/reference/eslint-plugin-react-hooks/lints/void-use-memo */ 'react-hooks/void-use-memo'?: Linter.RuleEntry /** * Enforces consistent naming for boolean props * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/boolean-prop-naming.md */ 'react/boolean-prop-naming'?: Linter.RuleEntry /** * Disallow usage of `button` elements without an explicit `type` attribute * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/button-has-type.md */ 'react/button-has-type'?: Linter.RuleEntry /** * Enforce using `onChange` or `readonly` attribute when `checked` is used * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/checked-requires-onchange-or-readonly.md */ 'react/checked-requires-onchange-or-readonly'?: Linter.RuleEntry /** * Enforce all defaultProps have a corresponding non-required PropType * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/default-props-match-prop-types.md */ 'react/default-props-match-prop-types'?: Linter.RuleEntry /** * Enforce consistent usage of destructuring assignment of props, state, and context * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/destructuring-assignment.md */ 'react/destructuring-assignment'?: Linter.RuleEntry /** * Disallow missing displayName in a React component definition * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/display-name.md */ 'react/display-name'?: Linter.RuleEntry /** * Disallow certain props on components * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-component-props.md */ 'react/forbid-component-props'?: Linter.RuleEntry /** * Disallow certain props on DOM Nodes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-dom-props.md */ 'react/forbid-dom-props'?: Linter.RuleEntry /** * Disallow certain elements * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-elements.md */ 'react/forbid-elements'?: Linter.RuleEntry /** * Disallow using another component's propTypes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-foreign-prop-types.md */ 'react/forbid-foreign-prop-types'?: Linter.RuleEntry /** * Disallow certain propTypes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-prop-types.md */ 'react/forbid-prop-types'?: Linter.RuleEntry /** * Require all forwardRef components include a ref parameter * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forward-ref-uses-ref.md */ 'react/forward-ref-uses-ref'?: Linter.RuleEntry<[]> /** * Enforce a specific function type for function components * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/function-component-definition.md */ 'react/function-component-definition'?: Linter.RuleEntry /** * Ensure destructuring and symmetric naming of useState hook value and setter variables * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/hook-use-state.md */ 'react/hook-use-state'?: Linter.RuleEntry /** * Enforce sandbox attribute on iframe elements * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/iframe-missing-sandbox.md */ 'react/iframe-missing-sandbox'?: Linter.RuleEntry<[]> /** * Enforce boolean attributes notation in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-boolean-value.md */ 'react/jsx-boolean-value'?: Linter.RuleEntry /** * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-child-element-spacing.md */ 'react/jsx-child-element-spacing'?: Linter.RuleEntry<[]> /** * Enforce closing bracket location in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-bracket-location.md */ 'react/jsx-closing-bracket-location'?: Linter.RuleEntry /** * Enforce closing tag location for multiline JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-tag-location.md */ 'react/jsx-closing-tag-location'?: Linter.RuleEntry /** * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-brace-presence.md */ 'react/jsx-curly-brace-presence'?: Linter.RuleEntry /** * Enforce consistent linebreaks in curly braces in JSX attributes and expressions * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-newline.md */ 'react/jsx-curly-newline'?: Linter.RuleEntry /** * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-spacing.md */ 'react/jsx-curly-spacing'?: Linter.RuleEntry /** * Enforce or disallow spaces around equal signs in JSX attributes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-equals-spacing.md */ 'react/jsx-equals-spacing'?: Linter.RuleEntry /** * Disallow file extensions that may contain JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-filename-extension.md */ 'react/jsx-filename-extension'?: Linter.RuleEntry /** * Enforce proper position of the first property in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-first-prop-new-line.md */ 'react/jsx-first-prop-new-line'?: Linter.RuleEntry /** * Enforce shorthand or standard form for React fragments * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-fragments.md */ 'react/jsx-fragments'?: Linter.RuleEntry /** * Enforce event handler naming conventions in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-handler-names.md */ 'react/jsx-handler-names'?: Linter.RuleEntry /** * Enforce JSX indentation * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent.md */ 'react/jsx-indent'?: Linter.RuleEntry /** * Enforce props indentation in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent-props.md */ 'react/jsx-indent-props'?: Linter.RuleEntry /** * Disallow missing `key` props in iterators/collection literals * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-key.md */ 'react/jsx-key'?: Linter.RuleEntry /** * Enforce JSX maximum depth * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-depth.md */ 'react/jsx-max-depth'?: Linter.RuleEntry /** * Enforce maximum of props on a single line in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-props-per-line.md */ 'react/jsx-max-props-per-line'?: Linter.RuleEntry /** * Require or prevent a new line after jsx elements and expressions. * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-newline.md */ 'react/jsx-newline'?: Linter.RuleEntry /** * Disallow `.bind()` or arrow functions in JSX props * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-bind.md */ 'react/jsx-no-bind'?: Linter.RuleEntry /** * Disallow comments from being inserted as text nodes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-comment-textnodes.md */ 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]> /** * Disallows JSX context provider values from taking values that will cause needless rerenders * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-constructed-context-values.md */ 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<[]> /** * Disallow duplicate properties in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-duplicate-props.md */ 'react/jsx-no-duplicate-props'?: Linter.RuleEntry /** * Disallow problematic leaked values from being rendered * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-leaked-render.md */ 'react/jsx-no-leaked-render'?: Linter.RuleEntry /** * Disallow usage of string literals in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-literals.md */ 'react/jsx-no-literals'?: Linter.RuleEntry /** * Disallow usage of `javascript:` URLs * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-script-url.md */ 'react/jsx-no-script-url'?: Linter.RuleEntry /** * Disallow `target="_blank"` attribute without `rel="noreferrer"` * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-target-blank.md */ 'react/jsx-no-target-blank'?: Linter.RuleEntry /** * Disallow undeclared variables in JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-undef.md */ 'react/jsx-no-undef'?: Linter.RuleEntry /** * Disallow unnecessary fragments * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-useless-fragment.md */ 'react/jsx-no-useless-fragment'?: Linter.RuleEntry /** * Require one JSX element per line * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-one-expression-per-line.md */ 'react/jsx-one-expression-per-line'?: Linter.RuleEntry /** * Enforce PascalCase for user-defined JSX components * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-pascal-case.md */ 'react/jsx-pascal-case'?: Linter.RuleEntry /** * Disallow multiple spaces between inline JSX props * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-multi-spaces.md */ 'react/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]> /** * Disallow JSX prop spreading the same identifier multiple times * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spread-multi.md */ 'react/jsx-props-no-spread-multi'?: Linter.RuleEntry<[]> /** * Disallow JSX prop spreading * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spreading.md */ 'react/jsx-props-no-spreading'?: Linter.RuleEntry /** * Enforce props alphabetical sorting * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-props.md */ 'react/jsx-sort-props'?: Linter.RuleEntry /** * Enforce whitespace in and around the JSX opening and closing brackets * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-tag-spacing.md */ 'react/jsx-tag-spacing'?: Linter.RuleEntry /** * Disallow React to be incorrectly marked as unused * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-react.md */ 'react/jsx-uses-react'?: Linter.RuleEntry<[]> /** * Disallow variables used in JSX to be incorrectly marked as unused * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-vars.md */ 'react/jsx-uses-vars'?: Linter.RuleEntry<[]> /** * Disallow missing parentheses around multiline JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-wrap-multilines.md */ 'react/jsx-wrap-multilines'?: Linter.RuleEntry /** * Disallow when this.state is accessed within setState * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-access-state-in-setstate.md */ 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]> /** * Disallow adjacent inline elements not separated by whitespace. * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-adjacent-inline-elements.md */ 'react/no-adjacent-inline-elements'?: Linter.RuleEntry<[]> /** * Disallow usage of Array index in keys * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-array-index-key.md */ 'react/no-array-index-key'?: Linter.RuleEntry<[]> /** * Lifecycle methods should be methods on the prototype, not class fields * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-arrow-function-lifecycle.md */ 'react/no-arrow-function-lifecycle'?: Linter.RuleEntry<[]> /** * Disallow passing of children as props * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-children-prop.md */ 'react/no-children-prop'?: Linter.RuleEntry /** * Disallow usage of dangerous JSX properties * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger.md */ 'react/no-danger'?: Linter.RuleEntry /** * Disallow when a DOM element is using both children and dangerouslySetInnerHTML * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger-with-children.md */ 'react/no-danger-with-children'?: Linter.RuleEntry<[]> /** * Disallow usage of deprecated methods * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-deprecated.md */ 'react/no-deprecated'?: Linter.RuleEntry<[]> /** * Disallow usage of setState in componentDidMount * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-mount-set-state.md */ 'react/no-did-mount-set-state'?: Linter.RuleEntry /** * Disallow usage of setState in componentDidUpdate * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-update-set-state.md */ 'react/no-did-update-set-state'?: Linter.RuleEntry /** * Disallow direct mutation of this.state * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-direct-mutation-state.md */ 'react/no-direct-mutation-state'?: Linter.RuleEntry<[]> /** * Disallow usage of findDOMNode * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-find-dom-node.md */ 'react/no-find-dom-node'?: Linter.RuleEntry<[]> /** * Disallow usage of invalid attributes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-invalid-html-attribute.md */ 'react/no-invalid-html-attribute'?: Linter.RuleEntry /** * Disallow usage of isMounted * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-is-mounted.md */ 'react/no-is-mounted'?: Linter.RuleEntry<[]> /** * Disallow multiple component definition per file * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-multi-comp.md */ 'react/no-multi-comp'?: Linter.RuleEntry /** * Enforce that namespaces are not used in React elements * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-namespace.md */ 'react/no-namespace'?: Linter.RuleEntry<[]> /** * Disallow usage of referential-type variables as default param in functional component * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-object-type-as-default-prop.md */ 'react/no-object-type-as-default-prop'?: Linter.RuleEntry<[]> /** * Disallow usage of shouldComponentUpdate when extending React.PureComponent * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-redundant-should-component-update.md */ 'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]> /** * Disallow usage of the return value of ReactDOM.render * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-render-return-value.md */ 'react/no-render-return-value'?: Linter.RuleEntry<[]> /** * Disallow usage of setState * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-set-state.md */ 'react/no-set-state'?: Linter.RuleEntry<[]> /** * Disallow using string references * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-string-refs.md */ 'react/no-string-refs'?: Linter.RuleEntry /** * Disallow `this` from being used in stateless functional components * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-this-in-sfc.md */ 'react/no-this-in-sfc'?: Linter.RuleEntry<[]> /** * Disallow common typos * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-typos.md */ 'react/no-typos'?: Linter.RuleEntry<[]> /** * Disallow unescaped HTML entities from appearing in markup * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unescaped-entities.md */ 'react/no-unescaped-entities'?: Linter.RuleEntry /** * Disallow usage of unknown DOM property * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unknown-property.md */ 'react/no-unknown-property'?: Linter.RuleEntry /** * Disallow usage of unsafe lifecycle methods * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unsafe.md */ 'react/no-unsafe'?: Linter.RuleEntry /** * Disallow creating unstable components inside components * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unstable-nested-components.md */ 'react/no-unstable-nested-components'?: Linter.RuleEntry /** * Disallow declaring unused methods of component class * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-class-component-methods.md */ 'react/no-unused-class-component-methods'?: Linter.RuleEntry<[]> /** * Disallow definitions of unused propTypes * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-prop-types.md */ 'react/no-unused-prop-types'?: Linter.RuleEntry /** * Disallow definitions of unused state * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-state.md */ 'react/no-unused-state'?: Linter.RuleEntry<[]> /** * Disallow usage of setState in componentWillUpdate * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-will-update-set-state.md */ 'react/no-will-update-set-state'?: Linter.RuleEntry /** * Enforce ES5 or ES6 class for React Components * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-es6-class.md */ 'react/prefer-es6-class'?: Linter.RuleEntry /** * Prefer exact proptype definitions * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-exact-props.md */ 'react/prefer-exact-props'?: Linter.RuleEntry<[]> /** * Enforce that props are read-only * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-read-only-props.md */ 'react/prefer-read-only-props'?: Linter.RuleEntry<[]> /** * Enforce stateless components to be written as a pure function * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-stateless-function.md */ 'react/prefer-stateless-function'?: Linter.RuleEntry /** * Disallow missing props validation in a React component definition * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prop-types.md */ 'react/prop-types'?: Linter.RuleEntry /** * Disallow missing React when using JSX * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/react-in-jsx-scope.md */ 'react/react-in-jsx-scope'?: Linter.RuleEntry<[]> /** * Enforce a defaultProps definition for every prop that is not a required prop * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-default-props.md */ 'react/require-default-props'?: Linter.RuleEntry /** * Enforce React components to have a shouldComponentUpdate method * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-optimization.md */ 'react/require-optimization'?: Linter.RuleEntry /** * Enforce ES5 or ES6 class for returning value in render function * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-render-return.md */ 'react/require-render-return'?: Linter.RuleEntry<[]> /** * Disallow extra closing tags for components without children * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/self-closing-comp.md */ 'react/self-closing-comp'?: Linter.RuleEntry /** * Enforce component methods order * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-comp.md */ 'react/sort-comp'?: Linter.RuleEntry /** * Enforce defaultProps declarations alphabetical sorting * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-default-props.md */ 'react/sort-default-props'?: Linter.RuleEntry /** * Enforce propTypes declarations alphabetical sorting * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-prop-types.md */ 'react/sort-prop-types'?: Linter.RuleEntry /** * Enforce class component state initialization style * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/state-in-constructor.md */ 'react/state-in-constructor'?: Linter.RuleEntry /** * Enforces where React component static properties should be positioned. * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/static-property-placement.md */ 'react/static-property-placement'?: Linter.RuleEntry /** * Enforce style prop value is an object * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/style-prop-object.md */ 'react/style-prop-object'?: Linter.RuleEntry /** * Disallow void DOM elements (e.g. ``, `
`) from receiving children * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/void-dom-elements-no-children.md */ 'react/void-dom-elements-no-children'?: Linter.RuleEntry<[]> /** * Disallow assignments that can lead to race conditions due to usage of `await` or `yield` * @see https://eslint.org/docs/latest/rules/require-atomic-updates */ 'require-atomic-updates'?: Linter.RuleEntry /** * Disallow async functions which have no `await` expression * @see https://eslint.org/docs/latest/rules/require-await */ 'require-await'?: Linter.RuleEntry<[]> /** * Enforce the use of `u` or `v` flag on regular expressions * @see https://eslint.org/docs/latest/rules/require-unicode-regexp */ 'require-unicode-regexp'?: Linter.RuleEntry /** * Require generator functions to contain `yield` * @see https://eslint.org/docs/latest/rules/require-yield */ 'require-yield'?: Linter.RuleEntry<[]> /** * Enforce sorted `import` declarations within modules * @see https://eslint.org/docs/latest/rules/sort-imports */ 'sort-imports'?: Linter.RuleEntry /** * Require object keys to be sorted * @see https://eslint.org/docs/latest/rules/sort-keys */ 'sort-keys'?: Linter.RuleEntry /** * Require variables within the same declaration block to be sorted * @see https://eslint.org/docs/latest/rules/sort-vars */ 'sort-vars'?: Linter.RuleEntry /** * Require or disallow strict mode directives * @see https://eslint.org/docs/latest/rules/strict */ 'strict'?: Linter.RuleEntry /** * Require symbol descriptions * @see https://eslint.org/docs/latest/rules/symbol-description */ 'symbol-description'?: Linter.RuleEntry<[]> /** * Require that function overload signatures be consecutive * @see https://typescript-eslint.io/rules/adjacent-overload-signatures */ 'ts/adjacent-overload-signatures'?: Linter.RuleEntry<[]> /** * Require consistently using either `T[]` or `Array` for arrays * @see https://typescript-eslint.io/rules/array-type */ 'ts/array-type'?: Linter.RuleEntry /** * Disallow awaiting a value that is not a Thenable * @see https://typescript-eslint.io/rules/await-thenable */ 'ts/await-thenable'?: Linter.RuleEntry<[]> /** * Disallow `@ts-` comments or require descriptions after directives * @see https://typescript-eslint.io/rules/ban-ts-comment */ 'ts/ban-ts-comment'?: Linter.RuleEntry /** * Disallow `// tslint:` comments * @see https://typescript-eslint.io/rules/ban-tslint-comment */ 'ts/ban-tslint-comment'?: Linter.RuleEntry<[]> /** * Enforce that literals on classes are exposed in a consistent style * @see https://typescript-eslint.io/rules/class-literal-property-style */ 'ts/class-literal-property-style'?: Linter.RuleEntry /** * Enforce that class methods utilize `this` * @see https://typescript-eslint.io/rules/class-methods-use-this */ 'ts/class-methods-use-this'?: Linter.RuleEntry /** * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call * @see https://typescript-eslint.io/rules/consistent-generic-constructors */ 'ts/consistent-generic-constructors'?: Linter.RuleEntry /** * Require or disallow the `Record` type * @see https://typescript-eslint.io/rules/consistent-indexed-object-style */ 'ts/consistent-indexed-object-style'?: Linter.RuleEntry /** * Require `return` statements to either always or never specify values * @see https://typescript-eslint.io/rules/consistent-return */ 'ts/consistent-return'?: Linter.RuleEntry /** * Enforce consistent usage of type assertions * @see https://typescript-eslint.io/rules/consistent-type-assertions */ 'ts/consistent-type-assertions'?: Linter.RuleEntry /** * Enforce type definitions to consistently use either `interface` or `type` * @see https://typescript-eslint.io/rules/consistent-type-definitions */ 'ts/consistent-type-definitions'?: Linter.RuleEntry /** * Enforce consistent usage of type exports * @see https://typescript-eslint.io/rules/consistent-type-exports */ 'ts/consistent-type-exports'?: Linter.RuleEntry /** * Enforce consistent usage of type imports * @see https://typescript-eslint.io/rules/consistent-type-imports */ 'ts/consistent-type-imports'?: Linter.RuleEntry /** * Enforce default parameters to be last * @see https://typescript-eslint.io/rules/default-param-last */ 'ts/default-param-last'?: Linter.RuleEntry<[]> /** * Enforce dot notation whenever possible * @see https://typescript-eslint.io/rules/dot-notation */ 'ts/dot-notation'?: Linter.RuleEntry /** * Require explicit return types on functions and class methods * @see https://typescript-eslint.io/rules/explicit-function-return-type */ 'ts/explicit-function-return-type'?: Linter.RuleEntry /** * Require explicit accessibility modifiers on class properties and methods * @see https://typescript-eslint.io/rules/explicit-member-accessibility */ 'ts/explicit-member-accessibility'?: Linter.RuleEntry /** * Require explicit return and argument types on exported functions' and classes' public class methods * @see https://typescript-eslint.io/rules/explicit-module-boundary-types */ 'ts/explicit-module-boundary-types'?: Linter.RuleEntry /** * Require or disallow initialization in variable declarations * @see https://typescript-eslint.io/rules/init-declarations */ 'ts/init-declarations'?: Linter.RuleEntry /** * Enforce a maximum number of parameters in function definitions * @see https://typescript-eslint.io/rules/max-params */ 'ts/max-params'?: Linter.RuleEntry /** * Require a consistent member declaration order * @see https://typescript-eslint.io/rules/member-ordering */ 'ts/member-ordering'?: Linter.RuleEntry /** * Enforce using a particular method signature syntax * @see https://typescript-eslint.io/rules/method-signature-style */ 'ts/method-signature-style'?: Linter.RuleEntry /** * Enforce naming conventions for everything across a codebase * @see https://typescript-eslint.io/rules/naming-convention */ 'ts/naming-convention'?: Linter.RuleEntry /** * Disallow generic `Array` constructors * @see https://typescript-eslint.io/rules/no-array-constructor */ 'ts/no-array-constructor'?: Linter.RuleEntry<[]> /** * Disallow using the `delete` operator on array values * @see https://typescript-eslint.io/rules/no-array-delete */ 'ts/no-array-delete'?: Linter.RuleEntry<[]> /** * Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified * @see https://typescript-eslint.io/rules/no-base-to-string */ 'ts/no-base-to-string'?: Linter.RuleEntry /** * Disallow non-null assertion in locations that may be confusing * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion */ 'ts/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]> /** * Require expressions of type void to appear in statement position * @see https://typescript-eslint.io/rules/no-confusing-void-expression */ 'ts/no-confusing-void-expression'?: Linter.RuleEntry /** * Disallow using code marked as `@deprecated` * @see https://typescript-eslint.io/rules/no-deprecated */ 'ts/no-deprecated'?: Linter.RuleEntry /** * Disallow duplicate class members * @see https://typescript-eslint.io/rules/no-dupe-class-members */ 'ts/no-dupe-class-members'?: Linter.RuleEntry<[]> /** * Disallow duplicate enum member values * @see https://typescript-eslint.io/rules/no-duplicate-enum-values */ 'ts/no-duplicate-enum-values'?: Linter.RuleEntry<[]> /** * Disallow duplicate constituents of union or intersection types * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents */ 'ts/no-duplicate-type-constituents'?: Linter.RuleEntry /** * Disallow using the `delete` operator on computed key expressions * @see https://typescript-eslint.io/rules/no-dynamic-delete */ 'ts/no-dynamic-delete'?: Linter.RuleEntry<[]> /** * Disallow empty functions * @see https://typescript-eslint.io/rules/no-empty-function */ 'ts/no-empty-function'?: Linter.RuleEntry /** * Disallow accidentally using the "empty object" type * @see https://typescript-eslint.io/rules/no-empty-object-type */ 'ts/no-empty-object-type'?: Linter.RuleEntry /** * Disallow the `any` type * @see https://typescript-eslint.io/rules/no-explicit-any */ 'ts/no-explicit-any'?: Linter.RuleEntry /** * Disallow extra non-null assertions * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion */ 'ts/no-extra-non-null-assertion'?: Linter.RuleEntry<[]> /** * Disallow classes used as namespaces * @see https://typescript-eslint.io/rules/no-extraneous-class */ 'ts/no-extraneous-class'?: Linter.RuleEntry /** * Require Promise-like statements to be handled appropriately * @see https://typescript-eslint.io/rules/no-floating-promises */ 'ts/no-floating-promises'?: Linter.RuleEntry /** * Disallow iterating over an array with a for-in loop * @see https://typescript-eslint.io/rules/no-for-in-array */ 'ts/no-for-in-array'?: Linter.RuleEntry<[]> /** * Disallow the use of `eval()`-like functions * @see https://typescript-eslint.io/rules/no-implied-eval */ 'ts/no-implied-eval'?: Linter.RuleEntry<[]> /** * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers * @see https://typescript-eslint.io/rules/no-import-type-side-effects */ 'ts/no-import-type-side-effects'?: Linter.RuleEntry<[]> /** * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean * @see https://typescript-eslint.io/rules/no-inferrable-types */ 'ts/no-inferrable-types'?: Linter.RuleEntry /** * Disallow `this` keywords outside of classes or class-like objects * @see https://typescript-eslint.io/rules/no-invalid-this */ 'ts/no-invalid-this'?: Linter.RuleEntry /** * Disallow `void` type outside of generic or return types * @see https://typescript-eslint.io/rules/no-invalid-void-type */ 'ts/no-invalid-void-type'?: Linter.RuleEntry /** * Disallow function declarations that contain unsafe references inside loop statements * @see https://typescript-eslint.io/rules/no-loop-func */ 'ts/no-loop-func'?: Linter.RuleEntry<[]> /** * Disallow magic numbers * @see https://typescript-eslint.io/rules/no-magic-numbers */ 'ts/no-magic-numbers'?: Linter.RuleEntry /** * Disallow the `void` operator except when used to discard a value * @see https://typescript-eslint.io/rules/no-meaningless-void-operator */ 'ts/no-meaningless-void-operator'?: Linter.RuleEntry /** * Enforce valid definition of `new` and `constructor` * @see https://typescript-eslint.io/rules/no-misused-new */ 'ts/no-misused-new'?: Linter.RuleEntry<[]> /** * Disallow Promises in places not designed to handle them * @see https://typescript-eslint.io/rules/no-misused-promises */ 'ts/no-misused-promises'?: Linter.RuleEntry /** * Disallow using the spread operator when it might cause unexpected behavior * @see https://typescript-eslint.io/rules/no-misused-spread */ 'ts/no-misused-spread'?: Linter.RuleEntry /** * Disallow enums from having both number and string members * @see https://typescript-eslint.io/rules/no-mixed-enums */ 'ts/no-mixed-enums'?: Linter.RuleEntry<[]> /** * Disallow TypeScript namespaces * @see https://typescript-eslint.io/rules/no-namespace */ 'ts/no-namespace'?: Linter.RuleEntry /** * Disallow non-null assertions in the left operand of a nullish coalescing operator * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing */ 'ts/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]> /** * Disallow non-null assertions after an optional chain expression * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain */ 'ts/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]> /** * Disallow non-null assertions using the `!` postfix operator * @see https://typescript-eslint.io/rules/no-non-null-assertion */ 'ts/no-non-null-assertion'?: Linter.RuleEntry<[]> /** * Disallow variable redeclaration * @see https://typescript-eslint.io/rules/no-redeclare */ 'ts/no-redeclare'?: Linter.RuleEntry /** * Disallow members of unions and intersections that do nothing or override type information * @see https://typescript-eslint.io/rules/no-redundant-type-constituents */ 'ts/no-redundant-type-constituents'?: Linter.RuleEntry<[]> /** * Disallow invocation of `require()` * @see https://typescript-eslint.io/rules/no-require-imports */ 'ts/no-require-imports'?: Linter.RuleEntry /** * Disallow specified modules when loaded by `import` * @see https://typescript-eslint.io/rules/no-restricted-imports */ 'ts/no-restricted-imports'?: Linter.RuleEntry /** * Disallow certain types * @see https://typescript-eslint.io/rules/no-restricted-types */ 'ts/no-restricted-types'?: Linter.RuleEntry /** * Disallow variable declarations from shadowing variables declared in the outer scope * @see https://typescript-eslint.io/rules/no-shadow */ 'ts/no-shadow'?: Linter.RuleEntry /** * Disallow aliasing `this` * @see https://typescript-eslint.io/rules/no-this-alias */ 'ts/no-this-alias'?: Linter.RuleEntry /** * Disallow unnecessary equality comparisons against boolean literals * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare */ 'ts/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry /** * Disallow conditionals where the type is always truthy or always falsy * @see https://typescript-eslint.io/rules/no-unnecessary-condition */ 'ts/no-unnecessary-condition'?: Linter.RuleEntry /** * Disallow unnecessary assignment of constructor property parameter * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment */ 'ts/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]> /** * Disallow unnecessary namespace qualifiers * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier */ 'ts/no-unnecessary-qualifier'?: Linter.RuleEntry<[]> /** * Disallow unnecessary template expressions * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression */ 'ts/no-unnecessary-template-expression'?: Linter.RuleEntry<[]> /** * Disallow type arguments that are equal to the default * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments */ 'ts/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]> /** * Disallow type assertions that do not change the type of an expression * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion */ 'ts/no-unnecessary-type-assertion'?: Linter.RuleEntry /** * Disallow unnecessary constraints on generic types * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint */ 'ts/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]> /** * Disallow conversion idioms when they do not change the type or value of the expression * @see https://typescript-eslint.io/rules/no-unnecessary-type-conversion */ 'ts/no-unnecessary-type-conversion'?: Linter.RuleEntry /** * Disallow type parameters that aren't used multiple times * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters */ 'ts/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]> /** * Disallow calling a function with a value with type `any` * @see https://typescript-eslint.io/rules/no-unsafe-argument */ 'ts/no-unsafe-argument'?: Linter.RuleEntry<[]> /** * Disallow assigning a value with type `any` to variables and properties * @see https://typescript-eslint.io/rules/no-unsafe-assignment */ 'ts/no-unsafe-assignment'?: Linter.RuleEntry<[]> /** * Disallow calling a value with type `any` * @see https://typescript-eslint.io/rules/no-unsafe-call */ 'ts/no-unsafe-call'?: Linter.RuleEntry<[]> /** * Disallow unsafe declaration merging * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging */ 'ts/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]> /** * Disallow comparing an enum value with a non-enum value * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison */ 'ts/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]> /** * Disallow using the unsafe built-in Function type * @see https://typescript-eslint.io/rules/no-unsafe-function-type */ 'ts/no-unsafe-function-type'?: Linter.RuleEntry<[]> /** * Disallow member access on a value with type `any` * @see https://typescript-eslint.io/rules/no-unsafe-member-access */ 'ts/no-unsafe-member-access'?: Linter.RuleEntry /** * Disallow returning a value with type `any` from a function * @see https://typescript-eslint.io/rules/no-unsafe-return */ 'ts/no-unsafe-return'?: Linter.RuleEntry<[]> /** * Disallow type assertions that narrow a type * @see https://typescript-eslint.io/rules/no-unsafe-type-assertion */ 'ts/no-unsafe-type-assertion'?: Linter.RuleEntry<[]> /** * Require unary negation to take a number * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus */ 'ts/no-unsafe-unary-minus'?: Linter.RuleEntry<[]> /** * Disallow unused expressions * @see https://typescript-eslint.io/rules/no-unused-expressions */ 'ts/no-unused-expressions'?: Linter.RuleEntry /** * Disallow unused private class members * @see https://typescript-eslint.io/rules/no-unused-private-class-members */ 'ts/no-unused-private-class-members'?: Linter.RuleEntry<[]> /** * Disallow unused variables * @see https://typescript-eslint.io/rules/no-unused-vars */ 'ts/no-unused-vars'?: Linter.RuleEntry /** * Disallow the use of variables before they are defined * @see https://typescript-eslint.io/rules/no-use-before-define */ 'ts/no-use-before-define'?: Linter.RuleEntry /** * Disallow unnecessary constructors * @see https://typescript-eslint.io/rules/no-useless-constructor */ 'ts/no-useless-constructor'?: Linter.RuleEntry<[]> /** * Disallow default values that will never be used * @see https://typescript-eslint.io/rules/no-useless-default-assignment */ 'ts/no-useless-default-assignment'?: Linter.RuleEntry /** * Disallow empty exports that don't change anything in a module file * @see https://typescript-eslint.io/rules/no-useless-empty-export */ 'ts/no-useless-empty-export'?: Linter.RuleEntry<[]> /** * Disallow using confusing built-in primitive class wrappers * @see https://typescript-eslint.io/rules/no-wrapper-object-types */ 'ts/no-wrapper-object-types'?: Linter.RuleEntry<[]> /** * Enforce non-null assertions over explicit type assertions * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style */ 'ts/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]> /** * Disallow throwing non-`Error` values as exceptions * @see https://typescript-eslint.io/rules/only-throw-error */ 'ts/only-throw-error'?: Linter.RuleEntry /** * Require or disallow parameter properties in class constructors * @see https://typescript-eslint.io/rules/parameter-properties */ 'ts/parameter-properties'?: Linter.RuleEntry /** * Enforce the use of `as const` over literal type * @see https://typescript-eslint.io/rules/prefer-as-const */ 'ts/prefer-as-const'?: Linter.RuleEntry<[]> /** * Require destructuring from arrays and/or objects * @see https://typescript-eslint.io/rules/prefer-destructuring */ 'ts/prefer-destructuring'?: Linter.RuleEntry /** * Require each enum member value to be explicitly initialized * @see https://typescript-eslint.io/rules/prefer-enum-initializers */ 'ts/prefer-enum-initializers'?: Linter.RuleEntry<[]> /** * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result * @see https://typescript-eslint.io/rules/prefer-find */ 'ts/prefer-find'?: Linter.RuleEntry<[]> /** * Enforce the use of `for-of` loop over the standard `for` loop where possible * @see https://typescript-eslint.io/rules/prefer-for-of */ 'ts/prefer-for-of'?: Linter.RuleEntry<[]> /** * Enforce using function types instead of interfaces with call signatures * @see https://typescript-eslint.io/rules/prefer-function-type */ 'ts/prefer-function-type'?: Linter.RuleEntry<[]> /** * Enforce `includes` method over `indexOf` method * @see https://typescript-eslint.io/rules/prefer-includes */ 'ts/prefer-includes'?: Linter.RuleEntry<[]> /** * Require all enum members to be literal values * @see https://typescript-eslint.io/rules/prefer-literal-enum-member */ 'ts/prefer-literal-enum-member'?: Linter.RuleEntry /** * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules * @see https://typescript-eslint.io/rules/prefer-namespace-keyword */ 'ts/prefer-namespace-keyword'?: Linter.RuleEntry<[]> /** * Enforce using the nullish coalescing operator instead of logical assignments or chaining * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing */ 'ts/prefer-nullish-coalescing'?: Linter.RuleEntry /** * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects * @see https://typescript-eslint.io/rules/prefer-optional-chain */ 'ts/prefer-optional-chain'?: Linter.RuleEntry /** * Require using Error objects as Promise rejection reasons * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors */ 'ts/prefer-promise-reject-errors'?: Linter.RuleEntry /** * Require private members to be marked as `readonly` if they're never modified outside of the constructor * @see https://typescript-eslint.io/rules/prefer-readonly */ 'ts/prefer-readonly'?: Linter.RuleEntry /** * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types */ 'ts/prefer-readonly-parameter-types'?: Linter.RuleEntry /** * Enforce using type parameter when calling `Array#reduce` instead of using a type assertion * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter */ 'ts/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]> /** * Enforce `RegExp#exec` over `String#match` if no global flag is provided * @see https://typescript-eslint.io/rules/prefer-regexp-exec */ 'ts/prefer-regexp-exec'?: Linter.RuleEntry<[]> /** * Enforce that `this` is used when only `this` type is returned * @see https://typescript-eslint.io/rules/prefer-return-this-type */ 'ts/prefer-return-this-type'?: Linter.RuleEntry<[]> /** * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with */ 'ts/prefer-string-starts-ends-with'?: Linter.RuleEntry /** * Require any function or method that returns a Promise to be marked async * @see https://typescript-eslint.io/rules/promise-function-async */ 'ts/promise-function-async'?: Linter.RuleEntry /** * Enforce that `get()` types should be assignable to their equivalent `set()` type * @see https://typescript-eslint.io/rules/related-getter-setter-pairs */ 'ts/related-getter-setter-pairs'?: Linter.RuleEntry<[]> /** * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction` * @see https://typescript-eslint.io/rules/require-array-sort-compare */ 'ts/require-array-sort-compare'?: Linter.RuleEntry /** * Disallow async functions which do not return promises and have no `await` expression * @see https://typescript-eslint.io/rules/require-await */ 'ts/require-await'?: Linter.RuleEntry<[]> /** * Require both operands of addition to be the same type and be `bigint`, `number`, or `string` * @see https://typescript-eslint.io/rules/restrict-plus-operands */ 'ts/restrict-plus-operands'?: Linter.RuleEntry /** * Enforce template literal expressions to be of `string` type * @see https://typescript-eslint.io/rules/restrict-template-expressions */ 'ts/restrict-template-expressions'?: Linter.RuleEntry /** * Enforce consistent awaiting of returned promises * @see https://typescript-eslint.io/rules/return-await */ 'ts/return-await'?: Linter.RuleEntry /** * Disallow certain types in boolean expressions * @see https://typescript-eslint.io/rules/strict-boolean-expressions */ 'ts/strict-boolean-expressions'?: Linter.RuleEntry /** * Disallow passing a value-returning function in a position accepting a void function * @see https://typescript-eslint.io/rules/strict-void-return */ 'ts/strict-void-return'?: Linter.RuleEntry /** * Require switch-case statements to be exhaustive * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check */ 'ts/switch-exhaustiveness-check'?: Linter.RuleEntry /** * Disallow certain triple slash directives in favor of ES6-style import declarations * @see https://typescript-eslint.io/rules/triple-slash-reference */ 'ts/triple-slash-reference'?: Linter.RuleEntry /** * Enforce unbound methods are called with their expected scope * @see https://typescript-eslint.io/rules/unbound-method */ 'ts/unbound-method'?: Linter.RuleEntry /** * Disallow two overloads that could be unified into one with a union or an optional/rest parameter * @see https://typescript-eslint.io/rules/unified-signatures */ 'ts/unified-signatures'?: Linter.RuleEntry /** * Enforce typing arguments in Promise rejection callbacks as `unknown` * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable */ 'ts/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]> /** * Require or disallow Unicode byte order mark (BOM) * @see https://eslint.org/docs/latest/rules/unicode-bom */ 'unicode-bom'?: Linter.RuleEntry /** * Require calls to `isNaN()` when checking for `NaN` * @see https://eslint.org/docs/latest/rules/use-isnan */ 'use-isnan'?: Linter.RuleEntry /** * Enforce comparing `typeof` expressions against valid strings * @see https://eslint.org/docs/latest/rules/valid-typeof */ 'valid-typeof'?: Linter.RuleEntry /** * Require `var` declarations be placed at the top of their containing scope * @see https://eslint.org/docs/latest/rules/vars-on-top */ 'vars-on-top'?: Linter.RuleEntry<[]> /** * Require or disallow "Yoda" conditions * @see https://eslint.org/docs/latest/rules/yoda */ 'yoda'?: Linter.RuleEntry } /* ======= Declarations ======= */ // ----- @arthurka/always-empty-rest ----- type ArthurkaAlwaysEmptyRest = []|[{ restNames?: string[] }] // ----- @arthurka/closing-delimiter-position ----- type ArthurkaClosingDelimiterPosition = []|[{ checkTaggedTemplateNames?: string[] }] // ----- @arthurka/consistent-async ----- type ArthurkaConsistentAsync = []|[{ asyncToSync?: boolean syncToAsync?: boolean }] // ----- @arthurka/consistent-module-access ----- type ArthurkaConsistentModuleAccess = []|[{ disallowDefaultImport: boolean disallowNamespaceImport: boolean namespaceName: string packageName: string typeOnlyExports: ("global-namespace" | "named-import") }[]] // ----- @arthurka/no-cycle-imports ----- type ArthurkaNoCycleImports = []|[{ cacheStrategy?: ("process" | "validated") }] // ----- @arthurka/no-import-export-patterns ----- type ArthurkaNoImportExportPatterns = []|[{ regexPatterns?: string[] }] // ----- @arthurka/no-restricted-eslint-disable ----- type ArthurkaNoRestrictedEslintDisable = []|[{ ruleNames?: string[] }] // ----- @arthurka/no-unnecessary-multiline-expression ----- type ArthurkaNoUnnecessaryMultilineExpression = []|[{ lineLength?: number maxOperations?: number }] // ----- @arthurka/short-callback-param-names ----- type ArthurkaShortCallbackParamNames = []|[{ additionalIndexCallbackMethods?: string[] excludedIndexCallbackMethods?: string[] ignoredCalleePaths?: string[] ignoredParameterNames?: string[] maxBlockStatements?: number }] // ----- @arthurka/sort-keys-block ----- type ArthurkaSortKeysBlock = []|[{ profiles?: { [k: string]: { beginsWith?: string caseSensitive?: boolean ignoreComputedKeys?: boolean minKeys?: number natural?: boolean order?: ("asc" | "desc") } | undefined } }] // ----- @arthurka/ts-check-directive ----- type ArthurkaTsCheckDirective = [("forbid" | "require")]|[("forbid" | "require"), { comment?: string }] // ----- @arthurka/unique-error-ids ----- type ArthurkaUniqueErrorIds = []|[{ cacheStrategy?: ("process" | "validated") checkGitHistoryIds?: boolean newIdReplacementPlaceholder?: string }] // ----- @arthurka/valid-directive-name ----- type ArthurkaValidDirectiveName = []|[{ directives?: string[] sortFirst?: string[] }] // ----- @stylistic/array-bracket-newline ----- type StylisticArrayBracketNewline = []|[(("always" | "never" | "consistent") | { multiline?: boolean minItems?: (number | null) })] // ----- @stylistic/array-bracket-spacing ----- type StylisticArrayBracketSpacing = []|[("always" | "never")]|[("always" | "never"), { singleValue?: boolean objectsInArrays?: boolean arraysInArrays?: boolean }] // ----- @stylistic/array-element-newline ----- type StylisticArrayElementNewline = []|[(_StylisticArrayElementNewlineBasicConfig | { ArrayExpression?: _StylisticArrayElementNewlineBasicConfig ArrayPattern?: _StylisticArrayElementNewlineBasicConfig })] type _StylisticArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | { consistent?: boolean multiline?: boolean minItems?: (number | null) }) // ----- @stylistic/arrow-parens ----- type StylisticArrowParens = []|[("always" | "as-needed")]|[("always" | "as-needed"), { requireForBlockBody?: boolean }] // ----- @stylistic/arrow-spacing ----- type StylisticArrowSpacing = []|[{ before?: boolean after?: boolean }] // ----- @stylistic/block-spacing ----- type StylisticBlockSpacing = []|[("always" | "never")]|[("always" | "never"), { emptyBlocks?: ("ignore" | "always" | "never") }] // ----- @stylistic/brace-style ----- type StylisticBraceStyle = []|[("1tbs" | "stroustrup" | "allman")]|[("1tbs" | "stroustrup" | "allman"), { allowSingleLine?: boolean }] // ----- @stylistic/comma-dangle ----- type StylisticCommaDangle = []|[(_StylisticCommaDangleValue | { arrays?: _StylisticCommaDangleValueWithIgnore objects?: _StylisticCommaDangleValueWithIgnore imports?: _StylisticCommaDangleValueWithIgnore exports?: _StylisticCommaDangleValueWithIgnore functions?: _StylisticCommaDangleValueWithIgnore importAttributes?: _StylisticCommaDangleValueWithIgnore dynamicImports?: _StylisticCommaDangleValueWithIgnore enums?: _StylisticCommaDangleValueWithIgnore generics?: _StylisticCommaDangleValueWithIgnore tuples?: _StylisticCommaDangleValueWithIgnore })] type _StylisticCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline") type _StylisticCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore") // ----- @stylistic/comma-spacing ----- type StylisticCommaSpacing = []|[{ before?: boolean after?: boolean }] // ----- @stylistic/comma-style ----- type StylisticCommaStyle = []|[("first" | "last")]|[("first" | "last"), { exceptions?: { [k: string]: boolean | undefined } }] // ----- @stylistic/computed-property-spacing ----- type StylisticComputedPropertySpacing = []|[("always" | "never")]|[("always" | "never"), { enforceForClassMembers?: boolean }] // ----- @stylistic/curly-newline ----- type StylisticCurlyNewline = []|[(("always" | "never") | { IfStatementConsequent?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) IfStatementAlternative?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) DoWhileStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) ForInStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) ForOfStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) ForStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) WhileStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) SwitchStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) SwitchCase?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) TryStatementBlock?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) TryStatementHandler?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) TryStatementFinalizer?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) BlockStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) ArrowFunctionExpression?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) FunctionDeclaration?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) FunctionExpression?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) Property?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) ClassBody?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) StaticBlock?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) WithStatement?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) TSModuleBlock?: (("always" | "never") | { multiline?: boolean minElements?: number consistent?: boolean }) multiline?: boolean minElements?: number consistent?: boolean })] // ----- @stylistic/dot-location ----- type StylisticDotLocation = []|[("object" | "property")] // ----- @stylistic/eol-last ----- type StylisticEolLast = []|[("always" | "never")] // ----- @stylistic/exp-list-style ----- type StylisticExpListStyle = []|[{ singleLine?: _StylisticExpListStyle_SingleLineConfig multiLine?: _StylisticExpListStyle_MultiLineConfig overrides?: { "()"?: (_StylisticExpListStyle_BaseConfig | "off") "[]"?: (_StylisticExpListStyle_BaseConfig | "off") "{}"?: (_StylisticExpListStyle_BaseConfig | "off") "<>"?: (_StylisticExpListStyle_BaseConfig | "off") ArrayExpression?: (_StylisticExpListStyle_BaseConfig | "off") ArrayPattern?: (_StylisticExpListStyle_BaseConfig | "off") ArrowFunctionExpression?: (_StylisticExpListStyle_BaseConfig | "off") CallExpression?: (_StylisticExpListStyle_BaseConfig | "off") ExportNamedDeclaration?: (_StylisticExpListStyle_BaseConfig | "off") FunctionDeclaration?: (_StylisticExpListStyle_BaseConfig | "off") FunctionExpression?: (_StylisticExpListStyle_BaseConfig | "off") IfStatement?: (_StylisticExpListStyle_BaseConfig | "off") ImportAttributes?: (_StylisticExpListStyle_BaseConfig | "off") ImportDeclaration?: (_StylisticExpListStyle_BaseConfig | "off") JSONArrayExpression?: (_StylisticExpListStyle_BaseConfig | "off") JSONObjectExpression?: (_StylisticExpListStyle_BaseConfig | "off") NewExpression?: (_StylisticExpListStyle_BaseConfig | "off") ObjectExpression?: (_StylisticExpListStyle_BaseConfig | "off") ObjectPattern?: (_StylisticExpListStyle_BaseConfig | "off") TSDeclareFunction?: (_StylisticExpListStyle_BaseConfig | "off") TSEnumBody?: (_StylisticExpListStyle_BaseConfig | "off") TSFunctionType?: (_StylisticExpListStyle_BaseConfig | "off") TSInterfaceBody?: (_StylisticExpListStyle_BaseConfig | "off") TSTupleType?: (_StylisticExpListStyle_BaseConfig | "off") TSTypeLiteral?: (_StylisticExpListStyle_BaseConfig | "off") TSTypeParameterDeclaration?: (_StylisticExpListStyle_BaseConfig | "off") TSTypeParameterInstantiation?: (_StylisticExpListStyle_BaseConfig | "off") } }] interface _StylisticExpListStyle_SingleLineConfig { spacing?: ("always" | "never") maxItems?: number } interface _StylisticExpListStyle_MultiLineConfig { minItems?: number } interface _StylisticExpListStyle_BaseConfig { singleLine?: _StylisticExpListStyle_SingleLineConfig multiline?: _StylisticExpListStyle_MultiLineConfig } // ----- @stylistic/function-call-argument-newline ----- type StylisticFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")] // ----- @stylistic/function-call-spacing ----- type StylisticFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", { allowNewlines?: boolean optionalChain?: { before?: boolean after?: boolean } }]) // ----- @stylistic/function-paren-newline ----- type StylisticFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | { minItems?: number })] // ----- @stylistic/generator-star-spacing ----- type StylisticGeneratorStarSpacing = []|[(("before" | "after" | "both" | "neither") | { before?: boolean after?: boolean named?: (("before" | "after" | "both" | "neither") | { before?: boolean after?: boolean }) anonymous?: (("before" | "after" | "both" | "neither") | { before?: boolean after?: boolean }) method?: (("before" | "after" | "both" | "neither") | { before?: boolean after?: boolean }) shorthand?: (("before" | "after" | "both" | "neither") | { before?: boolean after?: boolean }) })] // ----- @stylistic/implicit-arrow-linebreak ----- type StylisticImplicitArrowLinebreak = []|[("beside" | "below")] // ----- @stylistic/indent ----- type StylisticIndent = []|[("tab" | number)]|[("tab" | number), { SwitchCase?: number VariableDeclarator?: ((number | ("first" | "off")) | { var?: (number | ("first" | "off")) let?: (number | ("first" | "off")) const?: (number | ("first" | "off")) using?: (number | ("first" | "off")) }) assignmentOperator?: (number | "off") outerIIFEBody?: (number | "off") MemberExpression?: (number | "off") FunctionDeclaration?: { parameters?: (number | ("first" | "off")) body?: number returnType?: number } FunctionExpression?: { parameters?: (number | ("first" | "off")) body?: number returnType?: number } StaticBlock?: { body?: number } CallExpression?: { arguments?: (number | ("first" | "off")) } ArrayExpression?: (number | ("first" | "off")) ObjectExpression?: (number | ("first" | "off")) ImportDeclaration?: (number | ("first" | "off")) flatTernaryExpressions?: boolean offsetTernaryExpressions?: (boolean | { CallExpression?: boolean AwaitExpression?: boolean NewExpression?: boolean }) ignoredNodes?: string[] ignoreComments?: boolean groupConsecutiveReports?: boolean tabLength?: number }] // ----- @stylistic/indent-binary-ops ----- type StylisticIndentBinaryOps = []|[(number | "tab")] // ----- @stylistic/jsx-closing-bracket-location ----- type StylisticJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | { location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") } | { nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false) selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false) })] // ----- @stylistic/jsx-closing-tag-location ----- type StylisticJsxClosingTagLocation = []|[("tag-aligned" | "line-aligned")] // ----- @stylistic/jsx-curly-brace-presence ----- type StylisticJsxCurlyBracePresence = []|[({ props?: ("always" | "never" | "ignore") children?: ("always" | "never" | "ignore") propElementValues?: ("always" | "never" | "ignore") } | ("always" | "never" | "ignore"))] // ----- @stylistic/jsx-curly-newline ----- type StylisticJsxCurlyNewline = []|[(("consistent" | "never") | { singleline?: ("consistent" | "require" | "forbid") multiline?: ("consistent" | "require" | "forbid") })] // ----- @stylistic/jsx-curly-spacing ----- type StylisticJsxCurlySpacing = []|[({ when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } attributes?: ({ when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } } | boolean) children?: ({ when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } } | boolean) } | ("always" | "never"))]|[({ when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } attributes?: ({ when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } } | boolean) children?: ({ when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } } | boolean) } | ("always" | "never")), { allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") } }] // ----- @stylistic/jsx-equals-spacing ----- type StylisticJsxEqualsSpacing = []|[("always" | "never")] // ----- @stylistic/jsx-first-prop-new-line ----- type StylisticJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")] // ----- @stylistic/jsx-function-call-newline ----- type StylisticJsxFunctionCallNewline = []|[("always" | "multiline")] // ----- @stylistic/jsx-indent-props ----- type StylisticJsxIndentProps = []|[(("tab" | "first") | number | { indentMode?: (("tab" | "first") | number) ignoreTernaryOperator?: boolean })] // ----- @stylistic/jsx-max-props-per-line ----- type StylisticJsxMaxPropsPerLine = []|[({ maximum?: { single?: number multi?: number } } | { maximum?: number when?: ("always" | "multiline") })] // ----- @stylistic/jsx-newline ----- type StylisticJsxNewline = []|[{ prevent?: boolean allowMultilines?: boolean }] // ----- @stylistic/jsx-one-expression-per-line ----- type StylisticJsxOneExpressionPerLine = []|[{ allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx") }] // ----- @stylistic/jsx-pascal-case ----- type StylisticJsxPascalCase = []|[{ allowAllCaps?: boolean allowLeadingUnderscore?: boolean allowNamespace?: boolean ignore?: string[] }] // ----- @stylistic/jsx-quotes ----- type StylisticJsxQuotes = []|[("prefer-single" | "prefer-double")] // ----- @stylistic/jsx-self-closing-comp ----- type StylisticJsxSelfClosingComp = []|[{ component?: boolean html?: boolean }] // ----- @stylistic/jsx-tag-spacing ----- type StylisticJsxTagSpacing = []|[{ closingSlash?: ("always" | "never" | "allow") beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow") afterOpening?: ("always" | "allow-multiline" | "never" | "allow") beforeClosing?: ("always" | "proportional-always" | "never" | "allow") }] // ----- @stylistic/jsx-wrap-multilines ----- type StylisticJsxWrapMultilines = []|[{ declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line")) }] // ----- @stylistic/key-spacing ----- type StylisticKeySpacing = []|[({ align?: (("colon" | "value") | { mode?: ("strict" | "minimum") on?: ("colon" | "value") beforeColon?: boolean afterColon?: boolean }) mode?: ("strict" | "minimum") beforeColon?: boolean afterColon?: boolean ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[] } | { singleLine?: { mode?: ("strict" | "minimum") beforeColon?: boolean afterColon?: boolean } multiLine?: { align?: (("colon" | "value") | { mode?: ("strict" | "minimum") on?: ("colon" | "value") beforeColon?: boolean afterColon?: boolean }) mode?: ("strict" | "minimum") beforeColon?: boolean afterColon?: boolean } } | { singleLine?: { mode?: ("strict" | "minimum") beforeColon?: boolean afterColon?: boolean } multiLine?: { mode?: ("strict" | "minimum") beforeColon?: boolean afterColon?: boolean } align?: { mode?: ("strict" | "minimum") on?: ("colon" | "value") beforeColon?: boolean afterColon?: boolean } })] // ----- @stylistic/keyword-spacing ----- type StylisticKeywordSpacing = []|[{ before?: boolean after?: boolean overrides?: { forAwait?: { before?: boolean after?: boolean } readonly?: { before?: boolean after?: boolean } abstract?: { before?: boolean after?: boolean } boolean?: { before?: boolean after?: boolean } break?: { before?: boolean after?: boolean } byte?: { before?: boolean after?: boolean } case?: { before?: boolean after?: boolean } catch?: { before?: boolean after?: boolean } char?: { before?: boolean after?: boolean } class?: { before?: boolean after?: boolean } const?: { before?: boolean after?: boolean } continue?: { before?: boolean after?: boolean } debugger?: { before?: boolean after?: boolean } default?: { before?: boolean after?: boolean } delete?: { before?: boolean after?: boolean } do?: { before?: boolean after?: boolean } double?: { before?: boolean after?: boolean } else?: { before?: boolean after?: boolean } enum?: { before?: boolean after?: boolean } export?: { before?: boolean after?: boolean } extends?: { before?: boolean after?: boolean } false?: { before?: boolean after?: boolean } final?: { before?: boolean after?: boolean } finally?: { before?: boolean after?: boolean } float?: { before?: boolean after?: boolean } for?: { before?: boolean after?: boolean } function?: { before?: boolean after?: boolean } goto?: { before?: boolean after?: boolean } if?: { before?: boolean after?: boolean } implements?: { before?: boolean after?: boolean } import?: { before?: boolean after?: boolean } in?: { before?: boolean after?: boolean } instanceof?: { before?: boolean after?: boolean } int?: { before?: boolean after?: boolean } interface?: { before?: boolean after?: boolean } long?: { before?: boolean after?: boolean } native?: { before?: boolean after?: boolean } new?: { before?: boolean after?: boolean } null?: { before?: boolean after?: boolean } package?: { before?: boolean after?: boolean } private?: { before?: boolean after?: boolean } protected?: { before?: boolean after?: boolean } public?: { before?: boolean after?: boolean } return?: { before?: boolean after?: boolean } short?: { before?: boolean after?: boolean } static?: { before?: boolean after?: boolean } super?: { before?: boolean after?: boolean } switch?: { before?: boolean after?: boolean } synchronized?: { before?: boolean after?: boolean } this?: { before?: boolean after?: boolean } throw?: { before?: boolean after?: boolean } throws?: { before?: boolean after?: boolean } transient?: { before?: boolean after?: boolean } true?: { before?: boolean after?: boolean } try?: { before?: boolean after?: boolean } typeof?: { before?: boolean after?: boolean } var?: { before?: boolean after?: boolean } void?: { before?: boolean after?: boolean } volatile?: { before?: boolean after?: boolean } while?: { before?: boolean after?: boolean } with?: { before?: boolean after?: boolean } arguments?: { before?: boolean after?: boolean } as?: { before?: boolean after?: boolean } async?: { before?: boolean after?: boolean } await?: { before?: boolean after?: boolean } eval?: { before?: boolean after?: boolean } from?: { before?: boolean after?: boolean } get?: { before?: boolean after?: boolean } let?: { before?: boolean after?: boolean } of?: { before?: boolean after?: boolean } set?: { before?: boolean after?: boolean } type?: { before?: boolean after?: boolean } using?: { before?: boolean after?: boolean } yield?: { before?: boolean after?: boolean } accessor?: { before?: boolean after?: boolean } satisfies?: { before?: boolean after?: boolean } } }] // ----- @stylistic/line-comment-position ----- type StylisticLineCommentPosition = []|[(("above" | "beside") | { position?: ("above" | "beside") ignorePattern?: string applyDefaultIgnorePatterns?: boolean })] // ----- @stylistic/linebreak-style ----- type StylisticLinebreakStyle = []|[("unix" | "windows")] // ----- @stylistic/lines-around-comment ----- type StylisticLinesAroundComment = []|[{ beforeBlockComment?: boolean afterBlockComment?: boolean beforeLineComment?: boolean afterLineComment?: boolean allowBlockStart?: boolean allowBlockEnd?: boolean allowClassStart?: boolean allowClassEnd?: boolean allowObjectStart?: boolean allowObjectEnd?: boolean allowArrayStart?: boolean allowArrayEnd?: boolean allowInterfaceStart?: boolean allowInterfaceEnd?: boolean allowTypeStart?: boolean allowTypeEnd?: boolean allowEnumStart?: boolean allowEnumEnd?: boolean allowModuleStart?: boolean allowModuleEnd?: boolean ignorePattern?: string applyDefaultIgnorePatterns?: boolean afterHashbangComment?: boolean }] // ----- @stylistic/lines-between-class-members ----- type StylisticLinesBetweenClassMembers = []|[({ enforce: [{ blankLine: ("always" | "never") prev: ("method" | "field" | "*") next: ("method" | "field" | "*") }, ...({ blankLine: ("always" | "never") prev: ("method" | "field" | "*") next: ("method" | "field" | "*") })[]] } | ("always" | "never"))]|[({ enforce: [{ blankLine: ("always" | "never") prev: ("method" | "field" | "*") next: ("method" | "field" | "*") }, ...({ blankLine: ("always" | "never") prev: ("method" | "field" | "*") next: ("method" | "field" | "*") })[]] } | ("always" | "never")), { exceptAfterSingleLine?: boolean exceptAfterOverload?: boolean }] // ----- @stylistic/max-len ----- type StylisticMaxLen = []|[({ code?: number comments?: number tabWidth?: number ignorePattern?: string ignoreComments?: boolean ignoreStrings?: boolean ignoreUrls?: boolean ignoreTemplateLiterals?: boolean ignoreRegExpLiterals?: boolean ignoreTrailingComments?: boolean } | number)]|[({ code?: number comments?: number tabWidth?: number ignorePattern?: string ignoreComments?: boolean ignoreStrings?: boolean ignoreUrls?: boolean ignoreTemplateLiterals?: boolean ignoreRegExpLiterals?: boolean ignoreTrailingComments?: boolean } | number), ({ code?: number comments?: number tabWidth?: number ignorePattern?: string ignoreComments?: boolean ignoreStrings?: boolean ignoreUrls?: boolean ignoreTemplateLiterals?: boolean ignoreRegExpLiterals?: boolean ignoreTrailingComments?: boolean } | number)]|[({ code?: number comments?: number tabWidth?: number ignorePattern?: string ignoreComments?: boolean ignoreStrings?: boolean ignoreUrls?: boolean ignoreTemplateLiterals?: boolean ignoreRegExpLiterals?: boolean ignoreTrailingComments?: boolean } | number), ({ code?: number comments?: number tabWidth?: number ignorePattern?: string ignoreComments?: boolean ignoreStrings?: boolean ignoreUrls?: boolean ignoreTemplateLiterals?: boolean ignoreRegExpLiterals?: boolean ignoreTrailingComments?: boolean } | number), { code?: number comments?: number tabWidth?: number ignorePattern?: string ignoreComments?: boolean ignoreStrings?: boolean ignoreUrls?: boolean ignoreTemplateLiterals?: boolean ignoreRegExpLiterals?: boolean ignoreTrailingComments?: boolean }] // ----- @stylistic/max-statements-per-line ----- type StylisticMaxStatementsPerLine = []|[{ max?: number ignoredNodes?: ("BreakStatement" | "ClassDeclaration" | "ContinueStatement" | "DebuggerStatement" | "DoWhileStatement" | "ExpressionStatement" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "IfStatement" | "ImportDeclaration" | "LabeledStatement" | "ReturnStatement" | "SwitchStatement" | "ThrowStatement" | "TryStatement" | "VariableDeclaration" | "WhileStatement" | "WithStatement" | "ExportNamedDeclaration" | "ExportDefaultDeclaration" | "ExportAllDeclaration")[] }] // ----- @stylistic/member-delimiter-style ----- type StylisticMemberDelimiterStyle = []|[{ multiline?: { delimiter?: ("none" | "semi" | "comma") requireLast?: boolean } singleline?: { delimiter?: ("semi" | "comma") requireLast?: boolean } overrides?: { interface?: _StylisticMemberDelimiterStyle_DelimiterConfig typeLiteral?: _StylisticMemberDelimiterStyle_DelimiterConfig } multilineDetection?: ("brackets" | "last-member") }] interface _StylisticMemberDelimiterStyle_DelimiterConfig { multiline?: { delimiter?: ("none" | "semi" | "comma") requireLast?: boolean } singleline?: { delimiter?: ("semi" | "comma") requireLast?: boolean } } // ----- @stylistic/multiline-comment-style ----- type StylisticMultilineCommentStyle = ([]|[("starred-block" | "bare-block")] | []|["separate-lines"]|["separate-lines", { checkJSDoc?: boolean checkExclamation?: boolean }]) // ----- @stylistic/multiline-ternary ----- type StylisticMultilineTernary = []|[("always" | "always-multiline" | "never")]|[("always" | "always-multiline" | "never"), { ignoreJSX?: boolean }] // ----- @stylistic/new-parens ----- type StylisticNewParens = []|[("always" | "never")] // ----- @stylistic/newline-per-chained-call ----- type StylisticNewlinePerChainedCall = []|[{ ignoreChainWithDepth?: number }] // ----- @stylistic/no-confusing-arrow ----- type StylisticNoConfusingArrow = []|[{ allowParens?: boolean onlyOneSimpleParam?: boolean }] // ----- @stylistic/no-extra-parens ----- type StylisticNoExtraParens = ([]|["functions"] | []|["all"]|["all", { conditionalAssign?: boolean compactMultilineCallChains?: number ternaryOperandBinaryExpressions?: boolean nestedBinaryExpressions?: boolean returnAssign?: boolean ignoreJSX?: ("none" | "all" | "single-line" | "multi-line") enforceForArrowConditionals?: boolean enforceForSequenceExpressions?: boolean enforceForNewInMemberExpressions?: boolean enforceForFunctionPrototypeMethods?: boolean allowParensAfterCommentPattern?: string nestedConditionalExpressions?: boolean allowNodesInSpreadElement?: { ConditionalExpression?: boolean LogicalExpression?: boolean AwaitExpression?: boolean } ignoredNodes?: string[] }]) // ----- @stylistic/no-mixed-operators ----- type StylisticNoMixedOperators = []|[{ groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][] allowSamePrecedence?: boolean }] // ----- @stylistic/no-mixed-spaces-and-tabs ----- type StylisticNoMixedSpacesAndTabs = []|["smart-tabs"] // ----- @stylistic/no-multi-spaces ----- type StylisticNoMultiSpaces = []|[{ exceptions?: { [k: string]: boolean } ignoreEOLComments?: boolean includeTabs?: boolean }] // ----- @stylistic/no-multiple-empty-lines ----- type StylisticNoMultipleEmptyLines = []|[{ max: number maxEOF?: number maxBOF?: number }] // ----- @stylistic/no-tabs ----- type StylisticNoTabs = []|[{ allowIndentationTabs?: boolean }] // ----- @stylistic/no-trailing-spaces ----- type StylisticNoTrailingSpaces = []|[{ skipBlankLines?: boolean ignoreComments?: boolean }] // ----- @stylistic/nonblock-statement-body-position ----- type StylisticNonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), { overrides?: { if?: ("beside" | "below" | "any") else?: ("beside" | "below" | "any") while?: ("beside" | "below" | "any") do?: ("beside" | "below" | "any") for?: ("beside" | "below" | "any") } }] // ----- @stylistic/object-curly-newline ----- type StylisticObjectCurlyNewline = []|[((("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) | { ObjectExpression?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) ObjectPattern?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) ImportDeclaration?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) ExportDeclaration?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) TSTypeLiteral?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) TSInterfaceBody?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) TSEnumBody?: (("always" | "never") | { multiline?: boolean minProperties?: number consistent?: boolean }) })] // ----- @stylistic/object-curly-spacing ----- type StylisticObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), { arraysInObjects?: boolean objectsInObjects?: boolean overrides?: { ObjectPattern?: ("always" | "never") ObjectExpression?: ("always" | "never") ImportDeclaration?: ("always" | "never") ImportAttributes?: ("always" | "never") ExportNamedDeclaration?: ("always" | "never") ExportAllDeclaration?: ("always" | "never") TSMappedType?: ("always" | "never") TSTypeLiteral?: ("always" | "never") TSInterfaceBody?: ("always" | "never") TSEnumBody?: ("always" | "never") } emptyObjects?: ("ignore" | "always" | "never") }] // ----- @stylistic/object-property-newline ----- type StylisticObjectPropertyNewline = []|[{ allowAllPropertiesOnSameLine?: boolean }] // ----- @stylistic/one-var-declaration-per-line ----- type StylisticOneVarDeclarationPerLine = []|[("always" | "initializations")] // ----- @stylistic/operator-linebreak ----- type StylisticOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(("after" | "before" | "none") | null), { propertyValueOnSameLine?: boolean overrides?: { [k: string]: ("after" | "before" | "none" | "ignore") | undefined } }] // ----- @stylistic/padded-blocks ----- type StylisticPaddedBlocks = []|[(("always" | "never" | "start" | "end") | { blocks?: ("always" | "never" | "start" | "end") switches?: ("always" | "never" | "start" | "end") classes?: ("always" | "never" | "start" | "end") })]|[(("always" | "never" | "start" | "end") | { blocks?: ("always" | "never" | "start" | "end") switches?: ("always" | "never" | "start" | "end") classes?: ("always" | "never" | "start" | "end") }), { allowSingleLineBlocks?: boolean }] // ----- @stylistic/padding-line-between-statements ----- type _StylisticPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always") type _StylisticPaddingLineBetweenStatementsStatementOption = (_StylisticPaddingLineBetweenStatementsStatementMatcher | [_StylisticPaddingLineBetweenStatementsStatementMatcher, ...(_StylisticPaddingLineBetweenStatementsStatementMatcher)[]]) type _StylisticPaddingLineBetweenStatementsStatementMatcher = (_StylisticPaddingLineBetweenStatementsStatementType | _StylisticPaddingLineBetweenStatements_SelectorOption) type _StylisticPaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type") type StylisticPaddingLineBetweenStatements = { blankLine: _StylisticPaddingLineBetweenStatementsPaddingType prev: _StylisticPaddingLineBetweenStatementsStatementOption next: _StylisticPaddingLineBetweenStatementsStatementOption }[] interface _StylisticPaddingLineBetweenStatements_SelectorOption { selector: string lineMode?: ("any" | "singleline" | "multiline") } // ----- @stylistic/quote-props ----- type StylisticQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), { keywords?: boolean unnecessary?: boolean numbers?: boolean }]) // ----- @stylistic/quotes ----- type StylisticQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), { avoidEscape?: boolean allowTemplateLiterals?: ("never" | "avoidEscape" | "always") ignoreStringLiterals?: boolean }] // ----- @stylistic/rest-spread-spacing ----- type StylisticRestSpreadSpacing = []|[("always" | "never")] // ----- @stylistic/semi ----- type StylisticSemi = ([]|["never"]|["never", { beforeStatementContinuationChars?: ("always" | "any" | "never") }] | []|["always"]|["always", { omitLastInOneLineBlock?: boolean omitLastInOneLineClassBody?: boolean }]) // ----- @stylistic/semi-spacing ----- type StylisticSemiSpacing = []|[{ before?: boolean after?: boolean }] // ----- @stylistic/semi-style ----- type StylisticSemiStyle = []|[("last" | "first")] // ----- @stylistic/space-before-blocks ----- type StylisticSpaceBeforeBlocks = []|[(("always" | "never") | { keywords?: ("always" | "never" | "off") functions?: ("always" | "never" | "off") classes?: ("always" | "never" | "off") modules?: ("always" | "never" | "off") })] // ----- @stylistic/space-before-function-paren ----- type StylisticSpaceBeforeFunctionParen = []|[(("always" | "never") | { anonymous?: ("always" | "never" | "ignore") named?: ("always" | "never" | "ignore") asyncArrow?: ("always" | "never" | "ignore") catch?: ("always" | "never" | "ignore") })] // ----- @stylistic/space-in-parens ----- type StylisticSpaceInParens = []|[("always" | "never")]|[("always" | "never"), { exceptions?: ("{}" | "[]" | "()" | "empty")[] }] // ----- @stylistic/space-infix-ops ----- type StylisticSpaceInfixOps = []|[{ int32Hint?: boolean ignoreTypes?: boolean }] // ----- @stylistic/space-unary-ops ----- type StylisticSpaceUnaryOps = []|[{ words?: boolean nonwords?: boolean overrides?: { [k: string]: boolean | undefined } }] // ----- @stylistic/spaced-comment ----- type StylisticSpacedComment = []|[("always" | "never")]|[("always" | "never"), { exceptions?: string[] markers?: string[] line?: { exceptions?: string[] markers?: string[] } block?: { exceptions?: string[] markers?: string[] balanced?: boolean } }] // ----- @stylistic/switch-colon-spacing ----- type StylisticSwitchColonSpacing = []|[{ before?: boolean after?: boolean }] // ----- @stylistic/template-curly-spacing ----- type StylisticTemplateCurlySpacing = []|[("always" | "never")] // ----- @stylistic/template-tag-spacing ----- type StylisticTemplateTagSpacing = []|[("always" | "never")] // ----- @stylistic/type-annotation-spacing ----- type StylisticTypeAnnotationSpacing = []|[{ before?: boolean after?: boolean overrides?: { colon?: _StylisticTypeAnnotationSpacing_SpacingConfig variable?: ("ignore" | _StylisticTypeAnnotationSpacing_SpacingConfig) parameter?: ("ignore" | _StylisticTypeAnnotationSpacing_SpacingConfig) property?: ("ignore" | _StylisticTypeAnnotationSpacing_SpacingConfig) returnType?: ("ignore" | _StylisticTypeAnnotationSpacing_SpacingConfig) questionMark?: ("ignore" | _StylisticTypeAnnotationSpacing_SpacingConfig) } }] interface _StylisticTypeAnnotationSpacing_SpacingConfig { before?: boolean after?: boolean } // ----- @stylistic/type-generic-spacing ----- type StylisticTypeGenericSpacing = []|[{ before?: boolean after?: boolean }] // ----- @stylistic/wrap-iife ----- type StylisticWrapIife = []|[("outside" | "inside" | "any")]|[("outside" | "inside" | "any"), { functionPrototypeMethods?: boolean }] // ----- @stylistic/yield-star-spacing ----- type StylisticYieldStarSpacing = []|[(("before" | "after" | "both" | "neither") | { before?: boolean after?: boolean })] // ----- accessor-pairs ----- type AccessorPairs = []|[{ getWithoutSet?: boolean setWithoutGet?: boolean enforceForClassMembers?: boolean enforceForTSTypes?: boolean }] // ----- array-callback-return ----- type ArrayCallbackReturn = []|[{ allowImplicit?: boolean checkForEach?: boolean allowVoid?: boolean }] // ----- arrow-body-style ----- type ArrowBodyStyle = ([]|[("always" | "never")] | []|["as-needed"]|["as-needed", { requireReturnForObjectLiteral?: boolean }]) // ----- camelcase ----- type Camelcase = []|[{ ignoreDestructuring?: boolean ignoreImports?: boolean ignoreGlobals?: boolean properties?: ("always" | "never") allow?: string[] }] // ----- capitalized-comments ----- type CapitalizedComments = []|[("always" | "never")]|[("always" | "never"), ({ ignorePattern?: string ignoreInlineComments?: boolean ignoreConsecutiveComments?: boolean } | { line?: { ignorePattern?: string ignoreInlineComments?: boolean ignoreConsecutiveComments?: boolean } block?: { ignorePattern?: string ignoreInlineComments?: boolean ignoreConsecutiveComments?: boolean } })] // ----- class-methods-use-this ----- type ClassMethodsUseThis = []|[{ exceptMethods?: string[] enforceForClassFields?: boolean ignoreOverrideMethods?: boolean ignoreClassesWithImplements?: ("all" | "public-fields") }] // ----- complexity ----- type Complexity = []|[(number | { maximum?: number max?: number variant?: ("classic" | "modified") })] // ----- consistent-return ----- type ConsistentReturn = []|[{ treatUndefinedAsUnspecified?: boolean }] // ----- consistent-this ----- type ConsistentThis = string[] // ----- curly ----- type Curly = ([]|["all"] | []|[("multi" | "multi-line" | "multi-or-nest")]|[("multi" | "multi-line" | "multi-or-nest"), "consistent"]) // ----- default-case ----- type DefaultCase = []|[{ commentPattern?: string }] // ----- dot-notation ----- type DotNotation = []|[{ allowKeywords?: boolean allowPattern?: string }] // ----- eqeqeq ----- type Eqeqeq = ([]|["always"]|["always", { null?: ("always" | "never" | "ignore") }] | []|[("smart" | "allow-null")]) // ----- etc-misc/consistent-import ----- type EtcMiscConsistentImport = []|[{ style?: ("default" | "mixed" | "named" | "namespace" | "side-effect") }] // ----- etc-misc/decorator-position ----- type EtcMiscDecoratorPosition = []|[{ methods?: ("prefer-inline" | "above") overrides?: { above?: (string | [string, { withArgs: boolean }])[] "prefer-inline"?: (string | [string, { withArgs: boolean }])[] } printWidth?: number properties?: ("prefer-inline" | "above") }] // ----- etc-misc/disallow-import ----- type EtcMiscDisallowImport = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/export-matching-filename-only ----- type EtcMiscExportMatchingFilenameOnly = []|[{ format?: ("camelCase" | "kebab-case" | "PascalCase") }] // ----- etc-misc/match-filename ----- type EtcMiscMatchFilename = []|[{ format?: ("camelCase" | "kebab-case" | "PascalCase") match?: boolean prefix?: string selector?: (string | string[]) suffix?: string }] // ----- etc-misc/no-at-sign-import ----- type EtcMiscNoAtSignImport = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/no-at-sign-internal-import ----- type EtcMiscNoAtSignInternalImport = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/no-const-enum ----- type EtcMiscNoConstEnum = []|[{ allowLocal?: boolean }] // ----- etc-misc/no-foreach ----- type EtcMiscNoForeach = []|[{ types?: string[] }] // ----- etc-misc/no-index-import ----- type EtcMiscNoIndexImport = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/no-internal ----- type EtcMiscNoInternal = []|[{ ignored?: { [k: string]: ("name" | "path") | undefined } }] // ----- etc-misc/no-internal-modules ----- type EtcMiscNoInternalModules = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/no-invalid-jsx-nesting ----- type EtcMiscNoInvalidJsxNesting = []|[{ checkVoidParents?: boolean }] // ----- etc-misc/no-nodejs-modules ----- type EtcMiscNoNodejsModules = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/no-only-tests ----- type EtcMiscNoOnlyTests = []|[{ block?: string[] fix?: boolean focus?: string[] functions?: string[] }] // ----- etc-misc/no-sibling-import ----- type EtcMiscNoSiblingImport = []|[{ allow?: string[] disallow?: string[] }] // ----- etc-misc/no-single-line-comment ----- type EtcMiscNoSingleLineComment = []|[{ allowDirectiveComments?: boolean }] // ----- etc-misc/no-t ----- type EtcMiscNoT = []|[{ prefix?: string [k: string]: unknown | undefined }] // ----- etc-misc/no-unstable-react-children ----- type EtcMiscNoUnstableReactChildren = []|[{ strict?: boolean }] // ----- etc-misc/no-unstable-react-values ----- type EtcMiscNoUnstableReactValues = []|[{ checkHookCalls?: boolean checkHookReturnObject?: boolean ignoredHookCallsNames?: { [k: string]: boolean | undefined } ignoredPropNames?: string[] strict?: boolean }] // ----- etc-misc/no-vulnerable ----- type EtcMiscNoVulnerable = []|[{ ignoreErrors?: boolean permittableComplexities?: ("polynomial" | "exponential")[] timeout?: (number | null) }] // ----- etc-misc/object-format ----- type EtcMiscObjectFormat = []|[{ maxProperties?: number }] // ----- etc-misc/only-export-name ----- type EtcMiscOnlyExportName = []|[{ names?: string[] }] // ----- etc-misc/react-prefer-function-component ----- type EtcMiscReactPreferFunctionComponent = []|[{ allowErrorBoundary?: boolean allowJsxUtilityClass?: boolean }] // ----- etc-misc/require-syntax ----- type EtcMiscRequireSyntax = []|[{ selectors?: (string | { message?: string selector: string })[] }] // ----- func-name-matching ----- type FuncNameMatching = ([]|[("always" | "never")]|[("always" | "never"), { considerPropertyDescriptor?: boolean includeCommonJSModuleExports?: boolean }] | []|[{ considerPropertyDescriptor?: boolean includeCommonJSModuleExports?: boolean }]) // ----- func-names ----- type FuncNames = []|[_FuncNamesValue]|[_FuncNamesValue, { generators?: _FuncNamesValue }] type _FuncNamesValue = ("always" | "as-needed" | "never") // ----- func-style ----- type FuncStyle = []|[("declaration" | "expression")]|[("declaration" | "expression"), { allowArrowFunctions?: boolean allowTypeAnnotation?: boolean autofixToArrowFunction?: boolean overrides?: { namedExports?: ("declaration" | "expression" | "ignore") } }] // ----- getter-return ----- type GetterReturn = []|[{ allowImplicit?: boolean }] // ----- grouped-accessor-pairs ----- type GroupedAccessorPairs = []|[("anyOrder" | "getBeforeSet" | "setBeforeGet")]|[("anyOrder" | "getBeforeSet" | "setBeforeGet"), { enforceForTSTypes?: boolean }] // ----- id-denylist ----- type IdDenylist = string[] // ----- id-length ----- type IdLength = []|[{ min?: number max?: number exceptions?: string[] exceptionPatterns?: string[] properties?: ("always" | "never") }] // ----- id-match ----- type IdMatch = []|[string]|[string, { properties?: boolean classFields?: boolean onlyDeclarations?: boolean ignoreDestructuring?: boolean }] // ----- import/consistent-type-specifier-style ----- type ImportConsistentTypeSpecifierStyle = []|[("prefer-inline" | "prefer-top-level")] // ----- import/dynamic-import-chunkname ----- type ImportDynamicImportChunkname = []|[{ importFunctions?: string[] allowEmpty?: boolean webpackChunknameFormat?: string [k: string]: unknown | undefined }] // ----- import/enforce-node-protocol-usage ----- type ImportEnforceNodeProtocolUsage = [("always" | "never")] // ----- import/extensions ----- type ImportExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), { pattern?: { [k: string]: ("always" | "ignorePackages" | "never") } checkTypeImports?: boolean ignorePackages?: boolean pathGroupOverrides?: { pattern: string patternOptions?: { [k: string]: unknown | undefined } action: ("enforce" | "ignore") }[] [k: string]: unknown | undefined }] | []|[{ pattern?: { [k: string]: ("always" | "ignorePackages" | "never") } checkTypeImports?: boolean ignorePackages?: boolean pathGroupOverrides?: { pattern: string patternOptions?: { [k: string]: unknown | undefined } action: ("enforce" | "ignore") }[] [k: string]: unknown | undefined }] | []|[{ [k: string]: ("always" | "ignorePackages" | "never") }] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), { [k: string]: ("always" | "ignorePackages" | "never") }]) // ----- import/first ----- type ImportFirst = []|[("absolute-first" | "disable-absolute-first")] // ----- import/max-dependencies ----- type ImportMaxDependencies = []|[{ max?: number ignoreTypeImports?: boolean }] // ----- import/named ----- type ImportNamed = []|[{ commonjs?: boolean }] // ----- import/namespace ----- type ImportNamespace = []|[{ allowComputed?: boolean }] // ----- import/newline-after-import ----- type ImportNewlineAfterImport = []|[{ count?: number exactCount?: boolean considerComments?: boolean }] // ----- import/no-absolute-path ----- type ImportNoAbsolutePath = []|[{ commonjs?: boolean amd?: boolean esmodule?: boolean ignore?: [string, ...(string)[]] }] // ----- import/no-anonymous-default-export ----- type ImportNoAnonymousDefaultExport = []|[{ allowArray?: boolean allowArrowFunction?: boolean allowCallExpression?: boolean allowAnonymousClass?: boolean allowAnonymousFunction?: boolean allowLiteral?: boolean allowObject?: boolean allowNew?: boolean }] // ----- import/no-commonjs ----- type ImportNoCommonjs = ([]|["allow-primitive-modules"] | []|[{ allowPrimitiveModules?: boolean allowRequire?: boolean allowConditionalRequire?: boolean }]) // ----- import/no-cycle ----- type ImportNoCycle = []|[{ commonjs?: boolean amd?: boolean esmodule?: boolean ignore?: [string, ...(string)[]] maxDepth?: (number | "∞") ignoreExternal?: boolean allowUnsafeDynamicCyclicDependency?: boolean disableScc?: boolean }] // ----- import/no-duplicates ----- type ImportNoDuplicates = []|[{ considerQueryString?: boolean "prefer-inline"?: boolean }] // ----- import/no-dynamic-require ----- type ImportNoDynamicRequire = []|[{ esmodule?: boolean }] // ----- import/no-extraneous-dependencies ----- type ImportNoExtraneousDependencies = []|[{ devDependencies?: (boolean | unknown[]) optionalDependencies?: (boolean | unknown[]) peerDependencies?: (boolean | unknown[]) bundledDependencies?: (boolean | unknown[]) packageDir?: (string | unknown[]) includeInternal?: boolean includeTypes?: boolean }] // ----- import/no-import-module-exports ----- type ImportNoImportModuleExports = []|[{ exceptions?: unknown[] }] // ----- import/no-internal-modules ----- type ImportNoInternalModules = []|[({ allow?: string[] } | { forbid?: string[] })] // ----- import/no-namespace ----- type ImportNoNamespace = []|[{ ignore?: string[] [k: string]: unknown | undefined }] // ----- import/no-nodejs-modules ----- type ImportNoNodejsModules = []|[{ allow?: string[] }] // ----- import/no-relative-packages ----- type ImportNoRelativePackages = []|[{ commonjs?: boolean amd?: boolean esmodule?: boolean ignore?: [string, ...(string)[]] }] // ----- import/no-relative-parent-imports ----- type ImportNoRelativeParentImports = []|[{ commonjs?: boolean amd?: boolean esmodule?: boolean ignore?: [string, ...(string)[]] }] // ----- import/no-restricted-paths ----- type ImportNoRestrictedPaths = []|[{ zones?: [{ target?: (string | string[]) from?: (string | string[]) except?: string[] message?: string }, ...({ target?: (string | string[]) from?: (string | string[]) except?: string[] message?: string })[]] basePath?: string }] // ----- import/no-unassigned-import ----- type ImportNoUnassignedImport = []|[{ devDependencies?: (boolean | unknown[]) optionalDependencies?: (boolean | unknown[]) peerDependencies?: (boolean | unknown[]) allow?: string[] }] // ----- import/no-unresolved ----- type ImportNoUnresolved = []|[{ commonjs?: boolean amd?: boolean esmodule?: boolean ignore?: [string, ...(string)[]] caseSensitive?: boolean caseSensitiveStrict?: boolean }] // ----- import/no-unused-modules ----- type ImportNoUnusedModules = []|[({ unusedExports: true src?: { [k: string]: unknown | undefined } [k: string]: unknown | undefined } | { missingExports: true [k: string]: unknown | undefined })] // ----- import/no-useless-path-segments ----- type ImportNoUselessPathSegments = []|[{ commonjs?: boolean noUselessIndex?: boolean }] // ----- import/order ----- type ImportOrder = []|[{ groups?: (("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type") | ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")[])[] pathGroupsExcludedImportTypes?: unknown[] distinctGroup?: boolean pathGroups?: { pattern: string patternOptions?: { [k: string]: unknown | undefined } group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type") position?: ("after" | "before") }[] "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never") "newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never") consolidateIslands?: ("inside-groups" | "never") sortTypesGroup?: boolean named?: (boolean | { enabled?: boolean import?: boolean export?: boolean require?: boolean cjsExports?: boolean types?: ("mixed" | "types-first" | "types-last") }) alphabetize?: { caseInsensitive?: boolean order?: ("ignore" | "asc" | "desc") orderImportKind?: ("ignore" | "asc" | "desc") } warnOnUnassignedImports?: boolean }] // ----- import/prefer-default-export ----- type ImportPreferDefaultExport = []|[{ target?: ("single" | "any") }] // ----- init-declarations ----- type InitDeclarations = ([]|["always"] | []|["never"]|["never", { ignoreForLoopInit?: boolean }]) // ----- lines-around-directive ----- type LinesAroundDirective = []|[(("always" | "never") | { before: ("always" | "never") after: ("always" | "never") })] // ----- logical-assignment-operators ----- type LogicalAssignmentOperators = (([]|["always"]|["always", { enforceForIfStatements?: boolean }] | ["never"]) & unknown[]) // ----- max-classes-per-file ----- type MaxClassesPerFile = []|[(number | { ignoreExpressions?: boolean max?: number })] // ----- max-depth ----- type MaxDepth = []|[(number | { maximum?: number max?: number })] // ----- max-lines ----- type MaxLines = []|[(number | { max?: number skipComments?: boolean skipBlankLines?: boolean })] // ----- max-lines-per-function ----- type MaxLinesPerFunction = []|[({ max?: number skipComments?: boolean skipBlankLines?: boolean IIFEs?: boolean } | number)] // ----- max-nested-callbacks ----- type MaxNestedCallbacks = []|[(number | { maximum?: number max?: number })] // ----- max-params ----- type MaxParams = []|[(number | { maximum?: number max?: number countVoidThis?: boolean countThis?: ("never" | "except-void" | "always") })] // ----- max-statements ----- type MaxStatements = []|[(number | { maximum?: number max?: number })]|[(number | { maximum?: number max?: number }), { ignoreTopLevelFunctions?: boolean }] // ----- new-cap ----- type NewCap = []|[{ newIsCap?: boolean capIsNew?: boolean newIsCapExceptions?: string[] newIsCapExceptionPattern?: string capIsNewExceptions?: string[] capIsNewExceptionPattern?: string properties?: boolean }] // ----- no-bitwise ----- type NoBitwise = []|[{ allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[] int32Hint?: boolean }] // ----- no-cond-assign ----- type NoCondAssign = []|[("except-parens" | "always")] // ----- no-console ----- type NoConsole = []|[{ allow?: [string, ...(string)[]] }] // ----- no-constant-binary-expression ----- type NoConstantBinaryExpression = []|[{ checkRelationalComparisons?: boolean }] // ----- no-constant-condition ----- type NoConstantCondition = []|[{ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false) }] // ----- no-duplicate-imports ----- type NoDuplicateImports = []|[{ includeExports?: boolean allowSeparateTypeImports?: boolean }] // ----- no-else-return ----- type NoElseReturn = []|[{ allowElseIf?: boolean }] // ----- no-empty ----- type NoEmpty = []|[{ allowEmptyCatch?: boolean }] // ----- no-empty-function ----- type NoEmptyFunction = []|[{ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods" | "privateConstructors" | "protectedConstructors" | "decoratedFunctions" | "overrideMethods")[] }] // ----- no-empty-pattern ----- type NoEmptyPattern = []|[{ allowObjectPatternsAsParameters?: boolean }] // ----- no-eval ----- type NoEval = []|[{ allowIndirect?: boolean }] // ----- no-extend-native ----- type NoExtendNative = []|[{ exceptions?: string[] }] // ----- no-extra-boolean-cast ----- type NoExtraBooleanCast = []|[({ enforceForInnerExpressions?: boolean } | { enforceForLogicalOperands?: boolean })] // ----- no-fallthrough ----- type NoFallthrough = []|[{ commentPattern?: string allowEmptyCase?: boolean reportUnusedFallthroughComment?: boolean }] // ----- no-global-assign ----- type NoGlobalAssign = []|[{ exceptions?: string[] }] // ----- no-implicit-coercion ----- type NoImplicitCoercion = []|[{ boolean?: boolean number?: boolean string?: boolean disallowTemplateShorthand?: boolean allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[] }] // ----- no-implicit-globals ----- type NoImplicitGlobals = []|[{ lexicalBindings?: boolean }] // ----- no-inline-comments ----- type NoInlineComments = []|[{ ignorePattern?: string }] // ----- no-inner-declarations ----- type NoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), { blockScopedFunctions?: ("allow" | "disallow") }] // ----- no-invalid-regexp ----- type NoInvalidRegexp = []|[{ allowConstructorFlags?: string[] }] // ----- no-invalid-this ----- type NoInvalidThis = []|[{ capIsConstructor?: boolean }] // ----- no-irregular-whitespace ----- type NoIrregularWhitespace = []|[{ skipComments?: boolean skipStrings?: boolean skipTemplates?: boolean skipRegExps?: boolean skipJSXText?: boolean }] // ----- no-labels ----- type NoLabels = []|[{ allowLoop?: boolean allowSwitch?: boolean }] // ----- no-magic-numbers ----- type NoMagicNumbers = []|[{ detectObjects?: boolean enforceConst?: boolean ignore?: (number | string)[] ignoreArrayIndexes?: boolean ignoreDefaultValues?: boolean ignoreClassFieldInitialValues?: boolean ignoreEnums?: boolean ignoreNumericLiteralTypes?: boolean ignoreReadonlyClassProperties?: boolean ignoreTypeIndexes?: boolean }] // ----- no-misleading-character-class ----- type NoMisleadingCharacterClass = []|[{ allowEscape?: boolean }] // ----- no-multi-assign ----- type NoMultiAssign = []|[{ ignoreNonDeclaration?: boolean }] // ----- no-param-reassign ----- type NoParamReassign = []|[({ props?: false } | { props?: true ignorePropertyModificationsFor?: string[] ignorePropertyModificationsForRegex?: string[] })] // ----- no-plusplus ----- type NoPlusplus = []|[{ allowForLoopAfterthoughts?: boolean }] // ----- no-promise-executor-return ----- type NoPromiseExecutorReturn = []|[{ allowVoid?: boolean }] // ----- no-redeclare ----- type NoRedeclare = []|[{ builtinGlobals?: boolean }] // ----- no-restricted-exports ----- type NoRestrictedExports = []|[({ restrictedNamedExports?: string[] restrictedNamedExportsPattern?: string } | { restrictedNamedExports?: string[] restrictedNamedExportsPattern?: string restrictDefaultExports?: { direct?: boolean named?: boolean defaultFrom?: boolean namedFrom?: boolean namespaceFrom?: boolean } })] // ----- no-restricted-globals ----- type NoRestrictedGlobals = ((string | { name: string message?: string })[] | []|[{ globals: (string | { name: string message?: string })[] checkGlobalObject?: boolean globalObjects?: string[] }]) // ----- no-restricted-imports ----- type NoRestrictedImports = ((string | { name: string message?: string importNames?: string[] allowImportNames?: string[] allowTypeImports?: boolean })[] | []|[{ paths?: (string | { name: string message?: string importNames?: string[] allowImportNames?: string[] allowTypeImports?: boolean })[] patterns?: (string[] | ({ [k: string]: unknown | undefined } | { [k: string]: unknown | undefined })[]) }]) // ----- no-restricted-properties ----- type NoRestrictedProperties = ({ [k: string]: unknown | undefined } | { [k: string]: unknown | undefined })[] // ----- no-restricted-syntax ----- type NoRestrictedSyntax = (string | { selector: string message?: string autofix?: ("class-function-property-to-method" | "remove-switch-case-block" | "global-this-reg-exp-to-reg-exp" | "zod-discriminated-union-to-union") suggestion?: "add-void-iife-return-type" })[] // ----- no-return-assign ----- type NoReturnAssign = []|[("except-parens" | "always")] // ----- no-self-assign ----- type NoSelfAssign = []|[{ props?: boolean }] // ----- no-sequences ----- type NoSequences = []|[{ allowInParentheses?: boolean }] // ----- no-shadow ----- type NoShadow = []|[{ builtinGlobals?: boolean hoist?: ("all" | "functions" | "never" | "types" | "functions-and-types") allow?: string[] ignoreOnInitialization?: boolean ignoreTypeValueShadow?: boolean ignoreFunctionTypeParameterNameValueShadow?: boolean }] // ----- no-shadow-restricted-names ----- type NoShadowRestrictedNames = []|[{ reportGlobalThis?: boolean }] // ----- no-undef ----- type NoUndef = []|[{ typeof?: boolean }] // ----- no-underscore-dangle ----- type NoUnderscoreDangle = []|[{ allow?: string[] allowAfterThis?: boolean allowAfterSuper?: boolean allowAfterThisConstructor?: boolean enforceInMethodNames?: boolean allowFunctionParams?: boolean enforceInClassFields?: boolean allowInArrayDestructuring?: boolean allowInObjectDestructuring?: boolean }] // ----- no-unneeded-ternary ----- type NoUnneededTernary = []|[{ defaultAssignment?: boolean }] // ----- no-unreachable-loop ----- type NoUnreachableLoop = []|[{ ignore?: ("WhileStatement" | "DoWhileStatement" | "ForStatement" | "ForInStatement" | "ForOfStatement")[] }] // ----- no-unsafe-negation ----- type NoUnsafeNegation = []|[{ enforceForOrderingRelations?: boolean }] // ----- no-unsafe-optional-chaining ----- type NoUnsafeOptionalChaining = []|[{ disallowArithmeticOperators?: boolean }] // ----- no-unused-expressions ----- type NoUnusedExpressions = []|[{ allowShortCircuit?: boolean allowTernary?: boolean allowTaggedTemplates?: boolean enforceForJSX?: boolean ignoreDirectives?: boolean }] // ----- no-unused-vars ----- type NoUnusedVars = []|[(("all" | "local") | { vars?: ("all" | "local") varsIgnorePattern?: string args?: ("all" | "after-used" | "none") ignoreRestSiblings?: boolean argsIgnorePattern?: string caughtErrors?: ("all" | "none") caughtErrorsIgnorePattern?: string destructuredArrayIgnorePattern?: string ignoreClassWithStaticInitBlock?: boolean ignoreUsingDeclarations?: boolean reportUsedIgnorePattern?: boolean })] // ----- no-use-before-define ----- type NoUseBeforeDefine = []|[("nofunc" | { functions?: boolean classes?: boolean variables?: boolean allowNamedExports?: boolean enums?: boolean typedefs?: boolean ignoreTypeReferences?: boolean })] // ----- no-useless-computed-key ----- type NoUselessComputedKey = []|[{ enforceForClassMembers?: boolean }] // ----- no-useless-escape ----- type NoUselessEscape = []|[{ allowRegexCharacters?: string[] }] // ----- no-useless-rename ----- type NoUselessRename = []|[{ ignoreDestructuring?: boolean ignoreImport?: boolean ignoreExport?: boolean }] // ----- no-void ----- type NoVoid = []|[{ allowAsStatement?: boolean }] // ----- no-warning-comments ----- type NoWarningComments = []|[{ terms?: string[] location?: ("start" | "anywhere") decoration?: [string, ...(string)[]] }] // ----- object-shorthand ----- type ObjectShorthand = ([]|[("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | []|[("always" | "methods" | "properties")]|[("always" | "methods" | "properties"), { avoidQuotes?: boolean }] | []|[("always" | "methods")]|[("always" | "methods"), { ignoreConstructors?: boolean methodsIgnorePattern?: string avoidQuotes?: boolean avoidExplicitReturnArrows?: boolean }]) // ----- one-var ----- type OneVar = []|[(("always" | "never" | "consecutive") | { separateRequires?: boolean var?: ("always" | "never" | "consecutive") let?: ("always" | "never" | "consecutive") const?: ("always" | "never" | "consecutive") using?: ("always" | "never" | "consecutive") awaitUsing?: ("always" | "never" | "consecutive") } | { initialized?: ("always" | "never" | "consecutive") uninitialized?: ("always" | "never" | "consecutive") })] // ----- operator-assignment ----- type OperatorAssignment = []|[("always" | "never")] // ----- prefer-arrow-callback ----- type PreferArrowCallback = []|[{ allowNamedFunctions?: boolean allowUnboundThis?: boolean }] // ----- prefer-const ----- type PreferConst = []|[{ destructuring?: ("any" | "all") ignoreReadBeforeAssign?: boolean useLetIfReassigned?: boolean }] // ----- prefer-destructuring ----- type PreferDestructuring = []|[({ VariableDeclarator?: { array?: boolean object?: boolean } AssignmentExpression?: { array?: boolean object?: boolean } } | { array?: boolean object?: boolean })]|[({ VariableDeclarator?: { array?: boolean object?: boolean } AssignmentExpression?: { array?: boolean object?: boolean } } | { array?: boolean object?: boolean }), { enforceForRenamedProperties?: boolean }] // ----- prefer-promise-reject-errors ----- type PreferPromiseRejectErrors = []|[{ allowEmptyReject?: boolean }] // ----- prefer-regex-literals ----- type PreferRegexLiterals = []|[{ disallowRedundantWrapping?: boolean }] // ----- preserve-caught-error ----- type PreserveCaughtError = []|[{ requireCatchParameter?: boolean }] // ----- radix ----- type Radix = []|[("always" | "as-needed")] // ----- react-hooks/capitalized-calls ----- type ReactHooksCapitalizedCalls = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/config ----- type ReactHooksConfig = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/error-boundaries ----- type ReactHooksErrorBoundaries = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/exhaustive-deps ----- type ReactHooksExhaustiveDeps = []|[{ additionalHooks?: string enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean experimental_autoDependenciesHooks?: string[] requireExplicitEffectDeps?: boolean }] // ----- react-hooks/exhaustive-effect-dependencies ----- type ReactHooksExhaustiveEffectDependencies = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/fbt ----- type ReactHooksFbt = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/gating ----- type ReactHooksGating = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/globals ----- type ReactHooksGlobals = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/hooks ----- type ReactHooksHooks = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/immutability ----- type ReactHooksImmutability = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/incompatible-library ----- type ReactHooksIncompatibleLibrary = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/invariant ----- type ReactHooksInvariant = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/memo-dependencies ----- type ReactHooksMemoDependencies = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/memoized-effect-dependencies ----- type ReactHooksMemoizedEffectDependencies = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/no-deriving-state-in-effects ----- type ReactHooksNoDerivingStateInEffects = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/preserve-manual-memoization ----- type ReactHooksPreserveManualMemoization = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/purity ----- type ReactHooksPurity = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/refs ----- type ReactHooksRefs = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/rule-suppression ----- type ReactHooksRuleSuppression = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/rules-of-hooks ----- type ReactHooksRulesOfHooks = []|[{ additionalHooks?: string additionalHOCs?: string[] }] // ----- react-hooks/set-state-in-effect ----- type ReactHooksSetStateInEffect = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/set-state-in-render ----- type ReactHooksSetStateInRender = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/static-components ----- type ReactHooksStaticComponents = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/syntax ----- type ReactHooksSyntax = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/todo ----- type ReactHooksTodo = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/unsupported-syntax ----- type ReactHooksUnsupportedSyntax = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/use-memo ----- type ReactHooksUseMemo = []|[{ [k: string]: unknown | undefined }] // ----- react-hooks/void-use-memo ----- type ReactHooksVoidUseMemo = []|[{ [k: string]: unknown | undefined }] // ----- react/boolean-prop-naming ----- type ReactBooleanPropNaming = []|[{ propTypeNames?: [string, ...(string)[]] rule?: string message?: string validateNested?: boolean }] // ----- react/button-has-type ----- type ReactButtonHasType = []|[{ button?: boolean submit?: boolean reset?: boolean }] // ----- react/checked-requires-onchange-or-readonly ----- type ReactCheckedRequiresOnchangeOrReadonly = []|[{ ignoreMissingProperties?: boolean ignoreExclusiveCheckedAttribute?: boolean }] // ----- react/default-props-match-prop-types ----- type ReactDefaultPropsMatchPropTypes = []|[{ allowRequiredDefaults?: boolean }] // ----- react/destructuring-assignment ----- type ReactDestructuringAssignment = []|[("always" | "never")]|[("always" | "never"), { ignoreClassFields?: boolean destructureInSignature?: ("always" | "ignore") }] // ----- react/display-name ----- type ReactDisplayName = []|[{ ignoreTranspilerName?: boolean checkContextObjects?: boolean }] // ----- react/forbid-component-props ----- type ReactForbidComponentProps = []|[{ forbid?: (string | { propName?: string allowedFor?: string[] allowedForPatterns?: string[] message?: string } | ({ [k: string]: unknown | undefined } | { [k: string]: unknown | undefined }) | { propNamePattern?: string allowedFor?: string[] allowedForPatterns?: string[] message?: string } | ({ [k: string]: unknown | undefined } | { [k: string]: unknown | undefined }))[] [k: string]: unknown | undefined }] // ----- react/forbid-dom-props ----- type ReactForbidDomProps = []|[{ forbid?: (string | { propName?: string disallowedFor?: string[] message?: string [k: string]: unknown | undefined })[] }] // ----- react/forbid-elements ----- type ReactForbidElements = []|[{ forbid?: (string | { element: string message?: string })[] }] // ----- react/forbid-foreign-prop-types ----- type ReactForbidForeignPropTypes = []|[{ allowInPropTypes?: boolean }] // ----- react/forbid-prop-types ----- type ReactForbidPropTypes = []|[{ forbid?: string[] checkContextTypes?: boolean checkChildContextTypes?: boolean [k: string]: unknown | undefined }] // ----- react/function-component-definition ----- type ReactFunctionComponentDefinition = []|[{ namedComponents?: (("function-declaration" | "arrow-function" | "function-expression") | ("function-declaration" | "arrow-function" | "function-expression")[]) unnamedComponents?: (("arrow-function" | "function-expression") | ("arrow-function" | "function-expression")[]) [k: string]: unknown | undefined }] // ----- react/hook-use-state ----- type ReactHookUseState = []|[{ allowDestructuredState?: boolean }] // ----- react/jsx-boolean-value ----- type ReactJsxBooleanValue = ([]|[("always" | "never")] | []|["always"]|["always", { never?: string[] assumeUndefinedIsFalse?: boolean }] | []|["never"]|["never", { always?: string[] assumeUndefinedIsFalse?: boolean }]) // ----- react/jsx-closing-bracket-location ----- type ReactJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | { location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") } | { nonEmpty?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false) selfClosing?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false) })] // ----- react/jsx-closing-tag-location ----- type ReactJsxClosingTagLocation = []|[(("tag-aligned" | "line-aligned") | { location?: ("tag-aligned" | "line-aligned") })] // ----- react/jsx-curly-brace-presence ----- type ReactJsxCurlyBracePresence = []|[({ props?: ("always" | "never" | "ignore") children?: ("always" | "never" | "ignore") propElementValues?: ("always" | "never" | "ignore") } | ("always" | "never" | "ignore"))] // ----- react/jsx-curly-newline ----- type ReactJsxCurlyNewline = []|[(("consistent" | "never") | { singleline?: ("consistent" | "require" | "forbid") multiline?: ("consistent" | "require" | "forbid") })] // ----- react/jsx-curly-spacing ----- type ReactJsxCurlySpacing = []|[((_ReactJsxCurlySpacing_BasicConfig & { attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean children?: _ReactJsxCurlySpacingBasicConfigOrBoolean [k: string]: unknown | undefined }) | ("always" | "never"))]|[((_ReactJsxCurlySpacing_BasicConfig & { attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean children?: _ReactJsxCurlySpacingBasicConfigOrBoolean [k: string]: unknown | undefined }) | ("always" | "never")), { allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") [k: string]: unknown | undefined } }] type _ReactJsxCurlySpacingBasicConfigOrBoolean = (_ReactJsxCurlySpacing_BasicConfig | boolean) interface _ReactJsxCurlySpacing_BasicConfig { when?: ("always" | "never") allowMultiline?: boolean spacing?: { objectLiterals?: ("always" | "never") [k: string]: unknown | undefined } [k: string]: unknown | undefined } // ----- react/jsx-equals-spacing ----- type ReactJsxEqualsSpacing = []|[("always" | "never")] // ----- react/jsx-filename-extension ----- type ReactJsxFilenameExtension = []|[{ allow?: ("always" | "as-needed") extensions?: string[] ignoreFilesWithoutCode?: boolean }] // ----- react/jsx-first-prop-new-line ----- type ReactJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")] // ----- react/jsx-fragments ----- type ReactJsxFragments = []|[("syntax" | "element")] // ----- react/jsx-handler-names ----- type ReactJsxHandlerNames = []|[({ eventHandlerPrefix?: string eventHandlerPropPrefix?: string checkLocalVariables?: boolean checkInlineFunction?: boolean ignoreComponentNames?: string[] } | { eventHandlerPrefix?: string eventHandlerPropPrefix?: false checkLocalVariables?: boolean checkInlineFunction?: boolean ignoreComponentNames?: string[] } | { eventHandlerPrefix?: false eventHandlerPropPrefix?: string checkLocalVariables?: boolean checkInlineFunction?: boolean ignoreComponentNames?: string[] } | { checkLocalVariables?: boolean } | { checkInlineFunction?: boolean } | { ignoreComponentNames?: string[] [k: string]: unknown | undefined })] // ----- react/jsx-indent ----- type ReactJsxIndent = []|[("tab" | number)]|[("tab" | number), { checkAttributes?: boolean indentLogicalExpressions?: boolean }] // ----- react/jsx-indent-props ----- type ReactJsxIndentProps = []|[(("tab" | "first") | number | { indentMode?: (("tab" | "first") | number) ignoreTernaryOperator?: boolean [k: string]: unknown | undefined })] // ----- react/jsx-key ----- type ReactJsxKey = []|[{ checkFragmentShorthand?: boolean checkKeyMustBeforeSpread?: boolean warnOnDuplicates?: boolean }] // ----- react/jsx-max-depth ----- type ReactJsxMaxDepth = []|[{ max?: number }] // ----- react/jsx-max-props-per-line ----- type ReactJsxMaxPropsPerLine = []|[({ maximum?: { single?: number multi?: number [k: string]: unknown | undefined } } | { maximum?: number when?: ("always" | "multiline") })] // ----- react/jsx-newline ----- type ReactJsxNewline = []|[{ prevent?: boolean allowMultilines?: boolean }] // ----- react/jsx-no-bind ----- type ReactJsxNoBind = []|[{ allowArrowFunctions?: boolean allowBind?: boolean allowFunctions?: boolean ignoreRefs?: boolean ignoreDOMComponents?: boolean }] // ----- react/jsx-no-duplicate-props ----- type ReactJsxNoDuplicateProps = []|[{ ignoreCase?: boolean }] // ----- react/jsx-no-leaked-render ----- type ReactJsxNoLeakedRender = []|[{ validStrategies?: ("ternary" | "coerce")[] }] // ----- react/jsx-no-literals ----- type ReactJsxNoLiterals = []|[{ elementOverrides?: { [k: string]: { applyToNestedElements?: boolean noStrings?: boolean allowedStrings?: string[] ignoreProps?: boolean noAttributeStrings?: boolean [k: string]: unknown | undefined } } noStrings?: boolean allowedStrings?: string[] ignoreProps?: boolean noAttributeStrings?: boolean }] // ----- react/jsx-no-script-url ----- type ReactJsxNoScriptUrl = ([]|[{ name: string props: string[] }[]]|[{ name: string props: string[] }[], { includeFromSettings?: boolean [k: string]: unknown | undefined }] | []|[{ includeFromSettings?: boolean [k: string]: unknown | undefined }]) // ----- react/jsx-no-target-blank ----- type ReactJsxNoTargetBlank = []|[{ allowReferrer?: boolean enforceDynamicLinks?: ("always" | "never") warnOnSpreadAttributes?: boolean links?: boolean forms?: boolean }] // ----- react/jsx-no-undef ----- type ReactJsxNoUndef = []|[{ allowGlobals?: boolean }] // ----- react/jsx-no-useless-fragment ----- type ReactJsxNoUselessFragment = []|[{ allowExpressions?: boolean [k: string]: unknown | undefined }] // ----- react/jsx-one-expression-per-line ----- type ReactJsxOneExpressionPerLine = []|[{ allow?: ("none" | "literal" | "single-child" | "non-jsx") }] // ----- react/jsx-pascal-case ----- type ReactJsxPascalCase = []|[{ allowAllCaps?: boolean allowLeadingUnderscore?: boolean allowNamespace?: boolean ignore?: []|[string] }] // ----- react/jsx-props-no-spreading ----- type ReactJsxPropsNoSpreading = []|[({ html?: ("enforce" | "ignore") custom?: ("enforce" | "ignore") explicitSpread?: ("enforce" | "ignore") exceptions?: string[] [k: string]: unknown | undefined } & { [k: string]: unknown | undefined })] // ----- react/jsx-sort-props ----- type ReactJsxSortProps = []|[{ callbacksLast?: boolean shorthandFirst?: boolean shorthandLast?: boolean multiline?: ("ignore" | "first" | "last") ignoreCase?: boolean noSortAlphabetically?: boolean reservedFirst?: (unknown[] | boolean) locale?: string }] // ----- react/jsx-tag-spacing ----- type ReactJsxTagSpacing = []|[{ closingSlash?: ("always" | "never" | "allow") beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow") afterOpening?: ("always" | "allow-multiline" | "never" | "allow") beforeClosing?: ("always" | "proportional-always" | "never" | "allow") }] // ----- react/jsx-wrap-multilines ----- type ReactJsxWrapMultilines = []|[{ declaration?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") assignment?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") return?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") arrow?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") condition?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") logical?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") prop?: (true | false | "ignore" | "parens" | "parens-new-line" | "never") }] // ----- react/no-children-prop ----- type ReactNoChildrenProp = []|[{ allowFunctions?: boolean }] // ----- react/no-danger ----- type ReactNoDanger = []|[{ customComponentNames?: string[] [k: string]: unknown | undefined }] // ----- react/no-did-mount-set-state ----- type ReactNoDidMountSetState = []|["disallow-in-func"] // ----- react/no-did-update-set-state ----- type ReactNoDidUpdateSetState = []|["disallow-in-func"] // ----- react/no-invalid-html-attribute ----- type ReactNoInvalidHtmlAttribute = []|[("rel")[]] // ----- react/no-multi-comp ----- type ReactNoMultiComp = []|[{ ignoreStateless?: boolean }] // ----- react/no-string-refs ----- type ReactNoStringRefs = []|[{ noTemplateLiterals?: boolean }] // ----- react/no-unescaped-entities ----- type ReactNoUnescapedEntities = []|[{ forbid?: (string | { char?: string alternatives?: string[] [k: string]: unknown | undefined })[] }] // ----- react/no-unknown-property ----- type ReactNoUnknownProperty = []|[{ ignore?: string[] requireDataLowercase?: boolean }] // ----- react/no-unsafe ----- type ReactNoUnsafe = []|[{ checkAliases?: boolean }] // ----- react/no-unstable-nested-components ----- type ReactNoUnstableNestedComponents = []|[{ customValidators?: string[] allowAsProps?: boolean propNamePattern?: string }] // ----- react/no-unused-prop-types ----- type ReactNoUnusedPropTypes = []|[{ ignore?: string[] customValidators?: string[] skipShapeProps?: boolean }] // ----- react/no-will-update-set-state ----- type ReactNoWillUpdateSetState = []|["disallow-in-func"] // ----- react/prefer-es6-class ----- type ReactPreferEs6Class = []|[("always" | "never")] // ----- react/prefer-stateless-function ----- type ReactPreferStatelessFunction = []|[{ ignorePureComponents?: boolean }] // ----- react/prop-types ----- type ReactPropTypes = []|[{ ignore?: string[] customValidators?: string[] skipUndeclared?: boolean }] // ----- react/require-default-props ----- type ReactRequireDefaultProps = []|[{ forbidDefaultForRequired?: boolean classes?: ("defaultProps" | "ignore") functions?: ("defaultArguments" | "defaultProps" | "ignore") ignoreFunctionalComponents?: boolean }] // ----- react/require-optimization ----- type ReactRequireOptimization = []|[{ allowDecorators?: string[] }] // ----- react/self-closing-comp ----- type ReactSelfClosingComp = []|[{ component?: boolean html?: boolean }] // ----- react/sort-comp ----- type ReactSortComp = []|[{ order?: string[] groups?: { [k: string]: string[] } }] // ----- react/sort-default-props ----- type ReactSortDefaultProps = []|[{ ignoreCase?: boolean }] // ----- react/sort-prop-types ----- type ReactSortPropTypes = []|[{ requiredFirst?: boolean callbacksLast?: boolean ignoreCase?: boolean noSortAlphabetically?: boolean sortShapeProp?: boolean checkTypes?: boolean }] // ----- react/state-in-constructor ----- type ReactStateInConstructor = []|[("always" | "never")] // ----- react/static-property-placement ----- type ReactStaticPropertyPlacement = []|[("static public field" | "static getter" | "property assignment")]|[("static public field" | "static getter" | "property assignment"), { propTypes?: ("static public field" | "static getter" | "property assignment") defaultProps?: ("static public field" | "static getter" | "property assignment") childContextTypes?: ("static public field" | "static getter" | "property assignment") contextTypes?: ("static public field" | "static getter" | "property assignment") contextType?: ("static public field" | "static getter" | "property assignment") displayName?: ("static public field" | "static getter" | "property assignment") }] // ----- react/style-prop-object ----- type ReactStylePropObject = []|[{ allow?: string[] [k: string]: unknown | undefined }] // ----- require-atomic-updates ----- type RequireAtomicUpdates = []|[{ allowProperties?: boolean }] // ----- require-unicode-regexp ----- type RequireUnicodeRegexp = []|[{ requireFlag?: ("u" | "v") }] // ----- sort-imports ----- type SortImports = []|[{ ignoreCase?: boolean memberSyntaxSortOrder?: [("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single")] ignoreDeclarationSort?: boolean ignoreMemberSort?: boolean allowSeparatedGroups?: boolean }] // ----- sort-keys ----- type SortKeys = []|[("asc" | "desc")]|[("asc" | "desc"), { caseSensitive?: boolean natural?: boolean minKeys?: number allowLineSeparatedGroups?: boolean ignoreComputedKeys?: boolean }] // ----- sort-vars ----- type SortVars = []|[{ ignoreCase?: boolean }] // ----- strict ----- type Strict = []|[("never" | "global" | "function" | "safe")]|[("never" | "global" | "function" | "safe"), { autofix?: boolean }] // ----- ts/array-type ----- type TsArrayType = []|[{ default?: ("array" | "generic" | "array-simple") readonly?: ("array" | "generic" | "array-simple") }] // ----- ts/ban-ts-comment ----- type TsBanTsComment = []|[{ minimumDescriptionLength?: number "ts-check"?: (boolean | "allow-with-description" | { descriptionFormat?: string }) "ts-expect-error"?: (boolean | "allow-with-description" | { descriptionFormat?: string }) "ts-ignore"?: (boolean | "allow-with-description" | { descriptionFormat?: string }) "ts-nocheck"?: (boolean | "allow-with-description" | { descriptionFormat?: string }) }] // ----- ts/class-literal-property-style ----- type TsClassLiteralPropertyStyle = []|[("fields" | "getters")] // ----- ts/class-methods-use-this ----- type TsClassMethodsUseThis = []|[{ enforceForClassFields?: boolean autofixToPropertyFunction?: boolean exceptMethods?: string[] ignoreClassesThatImplementAnInterface?: (boolean | "public-fields") ignoreOverrideMethods?: boolean }] // ----- ts/consistent-generic-constructors ----- type TsConsistentGenericConstructors = []|[("type-annotation" | "constructor")] // ----- ts/consistent-indexed-object-style ----- type TsConsistentIndexedObjectStyle = []|[("record" | "index-signature")] // ----- ts/consistent-return ----- type TsConsistentReturn = []|[{ treatUndefinedAsUnspecified?: boolean }] // ----- ts/consistent-type-assertions ----- type TsConsistentTypeAssertions = []|[({ assertionStyle: "never" } | { arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never") assertionStyle?: ("as" | "angle-bracket") objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never") })] // ----- ts/consistent-type-definitions ----- type TsConsistentTypeDefinitions = []|[("interface" | "type")] // ----- ts/consistent-type-exports ----- type TsConsistentTypeExports = []|[{ fixMixedExportsWithInlineTypeSpecifier?: boolean }] // ----- ts/consistent-type-imports ----- type TsConsistentTypeImports = []|[{ disallowTypeAnnotations?: boolean fixStyle?: ("separate-type-imports" | "inline-type-imports") prefer?: ("type-imports" | "no-type-imports") }] // ----- ts/dot-notation ----- type TsDotNotation = []|[{ allowIndexSignaturePropertyAccess?: boolean allowKeywords?: boolean allowPattern?: string allowPrivateClassPropertyAccess?: boolean allowProtectedClassPropertyAccess?: boolean }] // ----- ts/explicit-function-return-type ----- type TsExplicitFunctionReturnType = []|[{ allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean allowDirectConstAssertionInArrowFunctions?: boolean allowedNames?: string[] allowExpressions?: boolean allowFunctionsWithoutTypeParameters?: boolean allowHigherOrderFunctions?: boolean allowIIFEs?: boolean allowTypedFunctionExpressions?: boolean }] // ----- ts/explicit-member-accessibility ----- type TsExplicitMemberAccessibility = []|[{ accessibility?: ("explicit" | "no-public" | "off") ignoredMethodNames?: string[] overrides?: { accessors?: ("explicit" | "no-public" | "off") constructors?: ("explicit" | "no-public" | "off") methods?: ("explicit" | "no-public" | "off") parameterProperties?: ("explicit" | "no-public" | "off") properties?: ("explicit" | "no-public" | "off") } }] // ----- ts/explicit-module-boundary-types ----- type TsExplicitModuleBoundaryTypes = []|[{ allowArgumentsExplicitlyTypedAsAny?: boolean allowDirectConstAssertionInArrowFunctions?: boolean allowedNames?: string[] allowHigherOrderFunctions?: boolean allowOverloadFunctions?: boolean allowTypedFunctionExpressions?: boolean }] // ----- ts/init-declarations ----- type TsInitDeclarations = ([]|["always"] | []|["never"]|["never", { ignoreForLoopInit?: boolean }]) // ----- ts/max-params ----- type TsMaxParams = []|[{ countVoidThis?: boolean max?: number maximum?: number }] // ----- ts/member-ordering ----- type TsMemberOrdering = []|[{ classes?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | { memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never") optionalityOrder?: ("optional-first" | "required-first") order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive") }) classExpressions?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | { memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never") optionalityOrder?: ("optional-first" | "required-first") order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive") }) default?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | { memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never") optionalityOrder?: ("optional-first" | "required-first") order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive") }) interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | { memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never") optionalityOrder?: ("optional-first" | "required-first") order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive") }) typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | { memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never") optionalityOrder?: ("optional-first" | "required-first") order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive") }) }] // ----- ts/method-signature-style ----- type TsMethodSignatureStyle = []|[("property" | "method")] // ----- ts/naming-convention ----- type _TsNamingConventionFormatOptionsConfig = (_TsNamingConventionPredefinedFormats[] | null) type _TsNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE") type _TsNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble") type _TsNamingConvention_PrefixSuffixConfig = string[] type _TsNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array") type TsNamingConvention = ({ custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[] selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "parameterProperty" | "classicAccessor" | "enumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "default" modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "variableLike" modifiers?: ("unused" | "async")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "variable" modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "function" modifiers?: ("exported" | "global" | "unused" | "async")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "parameter" modifiers?: ("destructured" | "unused")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "memberLike" modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "classProperty" modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "objectLiteralProperty" modifiers?: ("public" | "requiresQuotes")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "typeProperty" modifiers?: ("public" | "readonly" | "requiresQuotes")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "parameterProperty" modifiers?: ("private" | "protected" | "public" | "readonly")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "property" modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "classMethod" modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "objectLiteralMethod" modifiers?: ("public" | "requiresQuotes" | "async")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "typeMethod" modifiers?: ("public" | "requiresQuotes")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "method" modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "classicAccessor" modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "autoAccessor" modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "accessor" modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[] types?: _TsNamingConventionTypeModifiers[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "enumMember" modifiers?: ("requiresQuotes")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "typeLike" modifiers?: ("abstract" | "exported" | "unused")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "class" modifiers?: ("abstract" | "exported" | "unused")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "interface" modifiers?: ("exported" | "unused")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "typeAlias" modifiers?: ("exported" | "unused")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "enum" modifiers?: ("exported" | "unused")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "typeParameter" modifiers?: ("unused")[] } | { custom?: _TsNamingConvention_MatchRegexConfig failureMessage?: string format: _TsNamingConventionFormatOptionsConfig leadingUnderscore?: _TsNamingConventionUnderscoreOptions prefix?: _TsNamingConvention_PrefixSuffixConfig suffix?: _TsNamingConvention_PrefixSuffixConfig trailingUnderscore?: _TsNamingConventionUnderscoreOptions filter?: (string | _TsNamingConvention_MatchRegexConfig) selector: "import" modifiers?: ("default" | "namespace")[] })[] interface _TsNamingConvention_MatchRegexConfig { match: boolean regex: string } // ----- ts/no-base-to-string ----- type TsNoBaseToString = []|[{ checkUnknown?: boolean ignoredTypeNames?: string[] }] // ----- ts/no-confusing-void-expression ----- type TsNoConfusingVoidExpression = []|[{ ignoreArrowShorthand?: boolean ignoreVoidOperator?: boolean ignoreVoidReturningFunctions?: boolean }] // ----- ts/no-deprecated ----- type TsNoDeprecated = []|[{ allow?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] }] // ----- ts/no-duplicate-type-constituents ----- type TsNoDuplicateTypeConstituents = []|[{ ignoreIntersections?: boolean ignoreUnions?: boolean }] // ----- ts/no-empty-function ----- type TsNoEmptyFunction = []|[{ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[] }] // ----- ts/no-empty-object-type ----- type TsNoEmptyObjectType = []|[{ allowInterfaces?: ("always" | "never" | "with-single-extends") allowObjectTypes?: ("always" | "never") allowWithName?: string }] // ----- ts/no-explicit-any ----- type TsNoExplicitAny = []|[{ fixToUnknown?: boolean ignoreRestArgs?: boolean }] // ----- ts/no-extraneous-class ----- type TsNoExtraneousClass = []|[{ allowConstructorOnly?: boolean allowEmpty?: boolean allowStaticOnly?: boolean allowWithDecorator?: boolean }] // ----- ts/no-floating-promises ----- type TsNoFloatingPromises = []|[{ allowForKnownSafeCalls?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] allowForKnownSafePromises?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] checkThenables?: boolean ignoreIIFE?: boolean ignoreVoid?: boolean }] // ----- ts/no-inferrable-types ----- type TsNoInferrableTypes = []|[{ checkTypeEquivalence?: ("none" | "exact" | "fast") preferTupleInference?: boolean ignoreParameters?: boolean ignoreProperties?: boolean }] // ----- ts/no-invalid-this ----- type TsNoInvalidThis = []|[{ capIsConstructor?: boolean }] // ----- ts/no-invalid-void-type ----- type TsNoInvalidVoidType = []|[{ allowAsThisParameter?: boolean allowInGenericTypeArguments?: (boolean | [string, ...(string)[]]) }] // ----- ts/no-magic-numbers ----- type TsNoMagicNumbers = []|[{ detectObjects?: boolean enforceConst?: boolean ignore?: (number | string)[] ignoreArrayIndexes?: boolean ignoreDefaultValues?: boolean ignoreClassFieldInitialValues?: boolean ignoreEnums?: boolean ignoreNumericLiteralTypes?: boolean ignoreReadonlyClassProperties?: boolean ignoreTypeIndexes?: boolean }] // ----- ts/no-meaningless-void-operator ----- type TsNoMeaninglessVoidOperator = []|[{ checkNever?: boolean }] // ----- ts/no-misused-promises ----- type TsNoMisusedPromises = []|[{ checksConditionals?: boolean checksSpreads?: boolean checksVoidReturn?: (boolean | { arguments?: boolean attributes?: boolean inheritedMethods?: boolean properties?: boolean returns?: boolean variables?: boolean }) }] // ----- ts/no-misused-spread ----- type TsNoMisusedSpread = []|[{ allow?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] }] // ----- ts/no-namespace ----- type TsNoNamespace = []|[{ allowDeclarations?: boolean allowDefinitionFiles?: boolean }] // ----- ts/no-redeclare ----- type TsNoRedeclare = []|[{ builtinGlobals?: boolean ignoreDeclarationMerge?: boolean }] // ----- ts/no-require-imports ----- type TsNoRequireImports = []|[{ allow?: string[] allowAsImport?: boolean }] // ----- ts/no-restricted-imports ----- type TsNoRestrictedImports = ((string | { name: string message?: string importNames?: string[] allowImportNames?: string[] allowTypeImports?: boolean })[] | []|[{ paths?: (string | { name: string message?: string importNames?: string[] allowImportNames?: string[] allowTypeImports?: boolean })[] patterns?: (string[] | { importNames?: [string, ...(string)[]] allowImportNames?: [string, ...(string)[]] group?: [string, ...(string)[]] regex?: string importNamePattern?: string allowImportNamePattern?: string message?: string caseSensitive?: boolean allowTypeImports?: boolean }[]) }]) // ----- ts/no-restricted-types ----- type TsNoRestrictedTypes = []|[{ types?: { [k: string]: (true | string | { fixWith?: string message?: string suggest?: string[] }) | undefined } }] // ----- ts/no-shadow ----- type TsNoShadow = []|[{ allow?: string[] builtinGlobals?: boolean hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types") ignoreFunctionTypeParameterNameValueShadow?: boolean ignoreOnInitialization?: boolean ignoreTypeValueShadow?: boolean }] // ----- ts/no-this-alias ----- type TsNoThisAlias = []|[{ allowDestructuring?: boolean allowedNames?: string[] }] // ----- ts/no-unnecessary-boolean-literal-compare ----- type TsNoUnnecessaryBooleanLiteralCompare = []|[{ allowComparingNullableBooleansToFalse?: boolean allowComparingNullableBooleansToTrue?: boolean allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean }] // ----- ts/no-unnecessary-condition ----- type TsNoUnnecessaryCondition = []|[{ allowConstantLoopConditions?: (boolean | ("always" | "never" | "only-allowed-literals")) allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean checkTypePredicates?: boolean }] // ----- ts/no-unnecessary-type-assertion ----- type TsNoUnnecessaryTypeAssertion = []|[{ checkLiteralConstAssertions?: boolean typesToIgnore?: string[] }] // ----- ts/no-unnecessary-type-conversion ----- type TsNoUnnecessaryTypeConversion = []|[{ enableAutofix?: boolean }] // ----- ts/no-unsafe-member-access ----- type TsNoUnsafeMemberAccess = []|[{ allowOptionalChaining?: boolean }] // ----- ts/no-unused-expressions ----- type TsNoUnusedExpressions = []|[{ allowShortCircuit?: boolean allowTernary?: boolean allowTaggedTemplates?: boolean enforceForJSX?: boolean ignoreDirectives?: boolean }] // ----- ts/no-unused-vars ----- type TsNoUnusedVars = []|[(("all" | "local") | { args?: ("all" | "after-used" | "none") argsIgnorePattern?: string caughtErrors?: ("all" | "none") caughtErrorsIgnorePattern?: string destructuredArrayIgnorePattern?: string enableAutofixRemoval?: { imports?: boolean } ignoreClassWithStaticInitBlock?: boolean ignoreRestSiblings?: boolean ignoreRestSiblingsExceptFor?: string[] ignoreUsingDeclarations?: boolean reportUsedIgnorePattern?: boolean vars?: ("all" | "local") varsIgnorePattern?: string })] // ----- ts/no-use-before-define ----- type TsNoUseBeforeDefine = []|[("nofunc" | { allowNamedExports?: boolean classes?: boolean enums?: boolean functions?: boolean ignoreTypeReferences?: boolean typedefs?: boolean variables?: boolean })] // ----- ts/no-useless-default-assignment ----- type TsNoUselessDefaultAssignment = []|[{ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean }] // ----- ts/only-throw-error ----- type TsOnlyThrowError = []|[{ allow?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] allowRethrowing?: boolean allowThrowingAny?: boolean allowThrowingUnknown?: boolean }] // ----- ts/parameter-properties ----- type TsParameterProperties = []|[{ allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[] prefer?: ("class-property" | "parameter-property") }] // ----- ts/prefer-destructuring ----- type TsPreferDestructuring = []|[({ AssignmentExpression?: { array?: boolean object?: boolean } VariableDeclarator?: { array?: boolean object?: boolean } } | { array?: boolean object?: boolean })]|[({ AssignmentExpression?: { array?: boolean object?: boolean } VariableDeclarator?: { array?: boolean object?: boolean } } | { array?: boolean object?: boolean }), { enforceForDeclarationWithTypeAnnotation?: boolean enforceForRenamedProperties?: boolean }] // ----- ts/prefer-literal-enum-member ----- type TsPreferLiteralEnumMember = []|[{ allowBitwiseExpressions?: boolean }] // ----- ts/prefer-nullish-coalescing ----- type TsPreferNullishCoalescing = []|[{ autofixSafeLogicalOr?: boolean allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean ignoreBooleanCoercion?: boolean ignoreConditionalTests?: boolean ignoreIfStatements?: boolean ignoreMixedLogicalExpressions?: boolean ignorePrimitives?: ({ bigint?: boolean boolean?: boolean number?: boolean string?: boolean } | true) ignoreTernaryTests?: boolean }] // ----- ts/prefer-optional-chain ----- type TsPreferOptionalChain = []|[{ allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean checkAny?: boolean checkBigInt?: boolean checkBoolean?: boolean checkNumber?: boolean checkString?: boolean checkUnknown?: boolean requireNullish?: boolean }] // ----- ts/prefer-promise-reject-errors ----- type TsPreferPromiseRejectErrors = []|[{ allow?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] allowEmptyReject?: boolean allowThrowingAny?: boolean allowThrowingUnknown?: boolean }] // ----- ts/prefer-readonly ----- type TsPreferReadonly = []|[{ onlyInlineLambdas?: boolean }] // ----- ts/prefer-readonly-parameter-types ----- type TsPreferReadonlyParameterTypes = []|[{ allow?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] checkParameterProperties?: boolean ignoreInferredTypes?: boolean treatMethodsAsReadonly?: boolean }] // ----- ts/prefer-string-starts-ends-with ----- type TsPreferStringStartsEndsWith = []|[{ allowSingleElementEquality?: ("always" | "never") }] // ----- ts/promise-function-async ----- type TsPromiseFunctionAsync = []|[{ allowAny?: boolean allowedPromiseNames?: string[] checkArrowFunctions?: boolean checkFunctionDeclarations?: boolean checkFunctionExpressions?: boolean checkMethodDeclarations?: boolean }] // ----- ts/require-array-sort-compare ----- type TsRequireArraySortCompare = []|[{ ignoreStringArrays?: boolean }] // ----- ts/restrict-plus-operands ----- type TsRestrictPlusOperands = []|[{ allowAny?: boolean allowBoolean?: boolean allowNullish?: boolean allowNumberAndString?: boolean allowRegExp?: boolean skipCompoundAssignments?: boolean }] // ----- ts/restrict-template-expressions ----- type TsRestrictTemplateExpressions = []|[{ allowAny?: boolean allowArray?: boolean allowBoolean?: boolean allowNullish?: boolean allowNumber?: boolean allowRegExp?: boolean allowNever?: boolean allow?: (string | { from: "file" name: (string | [string, ...(string)[]]) path?: string } | { from: "lib" name: (string | [string, ...(string)[]]) } | { from: "package" name: (string | [string, ...(string)[]]) package: string })[] checkTaggedTemplateNames?: string[] }] // ----- ts/return-await ----- type TsReturnAwait = []|[(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)] // ----- ts/strict-boolean-expressions ----- type TsStrictBooleanExpressions = []|[{ allowAny?: boolean allowNullableBoolean?: boolean allowNullableEnum?: boolean allowNullableNumber?: boolean allowNullableObject?: boolean allowNullableString?: boolean allowNumber?: boolean allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean allowString?: boolean }] // ----- ts/strict-void-return ----- type TsStrictVoidReturn = []|[{ allowReturnAny?: boolean }] // ----- ts/switch-exhaustiveness-check ----- type TsSwitchExhaustivenessCheck = []|[{ allowDefaultCaseForExhaustiveSwitch?: boolean considerDefaultExhaustiveForUnions?: boolean defaultCaseCommentPattern?: string requireDefaultForNonUnion?: boolean }] // ----- ts/triple-slash-reference ----- type TsTripleSlashReference = []|[{ lib?: ("always" | "never") path?: ("always" | "never") types?: ("always" | "never" | "prefer-import") }] // ----- ts/unbound-method ----- type TsUnboundMethod = []|[{ ignoreStatic?: boolean }] // ----- ts/unified-signatures ----- type TsUnifiedSignatures = []|[{ ignoreDifferentlyNamedParameters?: boolean ignoreOverloadsWithDifferentJSDoc?: boolean }] // ----- unicode-bom ----- type UnicodeBom = []|[("always" | "never")] // ----- use-isnan ----- type UseIsnan = []|[{ enforceForSwitchCase?: boolean enforceForIndexOf?: boolean }] // ----- valid-typeof ----- type ValidTypeof = []|[{ requireStringLiterals?: boolean }] // ----- yoda ----- type Yoda = []|[("always" | "never")]|[("always" | "never"), { exceptRange?: boolean onlyEquality?: boolean }]