@storm-software/eslint 0.78.4 → 0.78.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rules.d.ts CHANGED
@@ -22,307 +22,3438 @@ export interface RuleOptions {
22
22
  */
23
23
  '@nx/nx-plugin-checks'?: Linter.RuleEntry<NxNxPluginChecks>
24
24
  /**
25
- * Ensures the file has a Storm Software banner
26
- * @see https://docs.stormsoftware.com/eslint/rules/banner
25
+ * Require that function overload signatures be consecutive
26
+ * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
27
27
  */
28
- 'banner/banner'?: Linter.RuleEntry<BannerBanner>
28
+ '@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>
29
29
  /**
30
- * @see https://github.com/prettier/eslint-plugin-prettier#options
30
+ * Require consistently using either `T[]` or `Array<T>` for arrays
31
+ * @see https://typescript-eslint.io/rules/array-type
31
32
  */
32
- 'prettier/prettier'?: Linter.RuleEntry<PrettierPrettier>
33
+ '@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>
33
34
  /**
34
- * Validates that TypeScript documentation comments conform to the TSDoc standard
35
- * @see https://tsdoc.org/pages/packages/eslint-plugin-tsdoc
35
+ * Disallow awaiting a value that is not a Thenable
36
+ * @see https://typescript-eslint.io/rules/await-thenable
36
37
  */
37
- 'tsdoc/syntax'?: Linter.RuleEntry<[]>
38
+ '@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>
38
39
  /**
39
- * require or disallow block style mappings.
40
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping.html
40
+ * Disallow `@ts-<directive>` comments or require descriptions after directives
41
+ * @see https://typescript-eslint.io/rules/ban-ts-comment
41
42
  */
42
- 'yml/block-mapping'?: Linter.RuleEntry<YmlBlockMapping>
43
+ '@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>
43
44
  /**
44
- * enforce consistent line breaks after `:` indicator
45
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-colon-indicator-newline.html
45
+ * Disallow `// tslint:<rule-flag>` comments
46
+ * @see https://typescript-eslint.io/rules/ban-tslint-comment
46
47
  */
47
- 'yml/block-mapping-colon-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingColonIndicatorNewline>
48
+ '@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>
48
49
  /**
49
- * enforce consistent line breaks after `?` indicator
50
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-question-indicator-newline.html
50
+ * Disallow certain types
51
+ * @see https://typescript-eslint.io/rules/ban-types
51
52
  */
52
- 'yml/block-mapping-question-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingQuestionIndicatorNewline>
53
+ '@typescript-eslint/ban-types'?: Linter.RuleEntry<TypescriptEslintBanTypes>
53
54
  /**
54
- * require or disallow block style sequences.
55
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence.html
55
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block
56
+ * @see https://typescript-eslint.io/rules/block-spacing
57
+ * @deprecated
56
58
  */
57
- 'yml/block-sequence'?: Linter.RuleEntry<YmlBlockSequence>
59
+ '@typescript-eslint/block-spacing'?: Linter.RuleEntry<TypescriptEslintBlockSpacing>
58
60
  /**
59
- * enforce consistent line breaks after `-` indicator
60
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence-hyphen-indicator-newline.html
61
+ * Enforce consistent brace style for blocks
62
+ * @see https://typescript-eslint.io/rules/brace-style
63
+ * @deprecated
61
64
  */
62
- 'yml/block-sequence-hyphen-indicator-newline'?: Linter.RuleEntry<YmlBlockSequenceHyphenIndicatorNewline>
65
+ '@typescript-eslint/brace-style'?: Linter.RuleEntry<TypescriptEslintBraceStyle>
63
66
  /**
64
- * enforce YAML file extension
65
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/file-extension.html
67
+ * Enforce that literals on classes are exposed in a consistent style
68
+ * @see https://typescript-eslint.io/rules/class-literal-property-style
66
69
  */
67
- 'yml/file-extension'?: Linter.RuleEntry<YmlFileExtension>
70
+ '@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>
68
71
  /**
69
- * enforce consistent line breaks inside braces
70
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-newline.html
72
+ * Enforce that class methods utilize `this`
73
+ * @see https://typescript-eslint.io/rules/class-methods-use-this
71
74
  */
72
- 'yml/flow-mapping-curly-newline'?: Linter.RuleEntry<YmlFlowMappingCurlyNewline>
75
+ '@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>
73
76
  /**
74
- * enforce consistent spacing inside braces
75
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-spacing.html
77
+ * Require or disallow trailing commas
78
+ * @see https://typescript-eslint.io/rules/comma-dangle
79
+ * @deprecated
76
80
  */
77
- 'yml/flow-mapping-curly-spacing'?: Linter.RuleEntry<YmlFlowMappingCurlySpacing>
81
+ '@typescript-eslint/comma-dangle'?: Linter.RuleEntry<TypescriptEslintCommaDangle>
78
82
  /**
79
- * enforce linebreaks after opening and before closing flow sequence brackets
80
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-newline.html
83
+ * Enforce consistent spacing before and after commas
84
+ * @see https://typescript-eslint.io/rules/comma-spacing
85
+ * @deprecated
81
86
  */
82
- 'yml/flow-sequence-bracket-newline'?: Linter.RuleEntry<YmlFlowSequenceBracketNewline>
87
+ '@typescript-eslint/comma-spacing'?: Linter.RuleEntry<TypescriptEslintCommaSpacing>
83
88
  /**
84
- * enforce consistent spacing inside flow sequence brackets
85
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-spacing.html
89
+ * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
90
+ * @see https://typescript-eslint.io/rules/consistent-generic-constructors
86
91
  */
87
- 'yml/flow-sequence-bracket-spacing'?: Linter.RuleEntry<YmlFlowSequenceBracketSpacing>
92
+ '@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>
88
93
  /**
89
- * enforce consistent indentation
90
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/indent.html
94
+ * Require or disallow the `Record` type
95
+ * @see https://typescript-eslint.io/rules/consistent-indexed-object-style
91
96
  */
92
- 'yml/indent'?: Linter.RuleEntry<YmlIndent>
97
+ '@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>
93
98
  /**
94
- * enforce naming convention to key names
95
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-name-casing.html
99
+ * Require `return` statements to either always or never specify values
100
+ * @see https://typescript-eslint.io/rules/consistent-return
96
101
  */
97
- 'yml/key-name-casing'?: Linter.RuleEntry<YmlKeyNameCasing>
102
+ '@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>
98
103
  /**
99
- * enforce consistent spacing between keys and values in mapping pairs
100
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-spacing.html
104
+ * Enforce consistent usage of type assertions
105
+ * @see https://typescript-eslint.io/rules/consistent-type-assertions
101
106
  */
102
- 'yml/key-spacing'?: Linter.RuleEntry<YmlKeySpacing>
107
+ '@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>
103
108
  /**
104
- * disallow empty document
105
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-document.html
109
+ * Enforce type definitions to consistently use either `interface` or `type`
110
+ * @see https://typescript-eslint.io/rules/consistent-type-definitions
106
111
  */
107
- 'yml/no-empty-document'?: Linter.RuleEntry<[]>
112
+ '@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeDefinitions>
108
113
  /**
109
- * disallow empty mapping keys
110
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-key.html
114
+ * Enforce consistent usage of type exports
115
+ * @see https://typescript-eslint.io/rules/consistent-type-exports
111
116
  */
112
- 'yml/no-empty-key'?: Linter.RuleEntry<[]>
117
+ '@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>
113
118
  /**
114
- * disallow empty mapping values
115
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-mapping-value.html
119
+ * Enforce consistent usage of type imports
120
+ * @see https://typescript-eslint.io/rules/consistent-type-imports
116
121
  */
117
- 'yml/no-empty-mapping-value'?: Linter.RuleEntry<[]>
122
+ '@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>
118
123
  /**
119
- * disallow empty sequence entries
120
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-sequence-entry.html
124
+ * Enforce default parameters to be last
125
+ * @see https://typescript-eslint.io/rules/default-param-last
121
126
  */
122
- 'yml/no-empty-sequence-entry'?: Linter.RuleEntry<[]>
127
+ '@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>
123
128
  /**
124
- * disallow irregular whitespace
125
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-irregular-whitespace.html
129
+ * Enforce dot notation whenever possible
130
+ * @see https://typescript-eslint.io/rules/dot-notation
126
131
  */
127
- 'yml/no-irregular-whitespace'?: Linter.RuleEntry<YmlNoIrregularWhitespace>
132
+ '@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>
128
133
  /**
129
- * disallow multiple empty lines
130
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-multiple-empty-lines.html
134
+ * Require explicit return types on functions and class methods
135
+ * @see https://typescript-eslint.io/rules/explicit-function-return-type
131
136
  */
132
- 'yml/no-multiple-empty-lines'?: Linter.RuleEntry<YmlNoMultipleEmptyLines>
137
+ '@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>
133
138
  /**
134
- * disallow tabs for indentation.
135
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
139
+ * Require explicit accessibility modifiers on class properties and methods
140
+ * @see https://typescript-eslint.io/rules/explicit-member-accessibility
136
141
  */
137
- 'yml/no-tab-indent'?: Linter.RuleEntry<[]>
142
+ '@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>
138
143
  /**
139
- * disallow trailing zeros for floats
140
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
144
+ * Require explicit return and argument types on exported functions' and classes' public class methods
145
+ * @see https://typescript-eslint.io/rules/explicit-module-boundary-types
141
146
  */
142
- 'yml/no-trailing-zeros'?: Linter.RuleEntry<[]>
147
+ '@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>
143
148
  /**
144
- * require or disallow plain style scalar.
145
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/plain-scalar.html
149
+ * Require or disallow spacing between function identifiers and their invocations
150
+ * @see https://typescript-eslint.io/rules/func-call-spacing
151
+ * @deprecated
146
152
  */
147
- 'yml/plain-scalar'?: Linter.RuleEntry<YmlPlainScalar>
153
+ '@typescript-eslint/func-call-spacing'?: Linter.RuleEntry<TypescriptEslintFuncCallSpacing>
148
154
  /**
149
- * enforce the consistent use of either double, or single quotes
150
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/quotes.html
155
+ * Enforce consistent indentation
156
+ * @see https://typescript-eslint.io/rules/indent
157
+ * @deprecated
151
158
  */
152
- 'yml/quotes'?: Linter.RuleEntry<YmlQuotes>
159
+ '@typescript-eslint/indent'?: Linter.RuleEntry<TypescriptEslintIndent>
153
160
  /**
154
- * disallow mapping keys other than strings
155
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/require-string-key.html
161
+ * Require or disallow initialization in variable declarations
162
+ * @see https://typescript-eslint.io/rules/init-declarations
156
163
  */
157
- 'yml/require-string-key'?: Linter.RuleEntry<[]>
164
+ '@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>
158
165
  /**
159
- * require mapping keys to be sorted
160
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-keys.html
166
+ * Enforce consistent spacing between property names and type annotations in types and interfaces
167
+ * @see https://typescript-eslint.io/rules/key-spacing
168
+ * @deprecated
161
169
  */
162
- 'yml/sort-keys'?: Linter.RuleEntry<YmlSortKeys>
170
+ '@typescript-eslint/key-spacing'?: Linter.RuleEntry<TypescriptEslintKeySpacing>
163
171
  /**
164
- * require sequence values to be sorted
165
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-sequence-values.html
172
+ * Enforce consistent spacing before and after keywords
173
+ * @see https://typescript-eslint.io/rules/keyword-spacing
174
+ * @deprecated
166
175
  */
167
- 'yml/sort-sequence-values'?: Linter.RuleEntry<YmlSortSequenceValues>
176
+ '@typescript-eslint/keyword-spacing'?: Linter.RuleEntry<TypescriptEslintKeywordSpacing>
168
177
  /**
169
- * enforce consistent spacing after the `#` in a comment
170
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/spaced-comment.html
178
+ * Require empty lines around comments
179
+ * @see https://typescript-eslint.io/rules/lines-around-comment
180
+ * @deprecated
171
181
  */
172
- 'yml/spaced-comment'?: Linter.RuleEntry<YmlSpacedComment>
182
+ '@typescript-eslint/lines-around-comment'?: Linter.RuleEntry<TypescriptEslintLinesAroundComment>
173
183
  /**
174
- * disallow parsing errors in Vue custom blocks
175
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/vue-custom-block/no-parsing-error.html
184
+ * Require or disallow an empty line between class members
185
+ * @see https://typescript-eslint.io/rules/lines-between-class-members
186
+ * @deprecated
176
187
  */
177
- 'yml/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
178
- }
179
-
180
- /* ======= Declarations ======= */
181
- // ----- @cspell/spellchecker -----
182
- type CspellSpellchecker = []|[{
183
-
184
- autoFix: boolean
185
-
186
- checkComments?: boolean
187
-
188
- checkIdentifiers?: boolean
189
-
190
- checkJSXText?: boolean
191
-
192
- checkScope?: [string, boolean][]
193
-
194
- checkStringTemplates?: boolean
195
-
196
- checkStrings?: boolean
197
-
198
- configFile?: string
199
-
200
- cspell?: {
201
-
202
- allowCompoundWords?: boolean
203
-
204
- dictionaries?: (string | string)[]
205
- dictionaryDefinitions?: {
206
-
207
- description?: string
208
-
209
- name: string
210
-
211
- noSuggest?: boolean
212
-
213
- path: string
214
-
215
- repMap?: [string, string][]
216
-
217
- type?: ("S" | "W" | "C" | "T")
218
-
219
- useCompounds?: boolean
220
- }[]
221
-
222
- enabled?: boolean
223
-
224
- flagWords?: string[]
225
-
226
- ignoreRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
227
-
228
- ignoreWords?: string[]
229
-
230
- import?: (string | string[])
231
-
232
- includeRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
233
-
234
- language?: string
235
-
236
- words?: string[]
237
- }
238
-
239
- cspellOptionsRoot?: (string | string)
240
-
241
- customWordListFile?: (string | {
242
-
243
- path: string
244
- })
245
-
246
- debugMode?: boolean
247
-
248
- generateSuggestions: boolean
249
-
250
- ignoreImportProperties?: boolean
251
-
252
- ignoreImports?: boolean
253
-
254
- numSuggestions: number
255
- }]
256
- // ----- @nx/dependency-checks -----
257
- type NxDependencyChecks = []|[{
258
- buildTargets?: string[]
259
- ignoredDependencies?: string[]
260
- ignoredFiles?: string[]
261
- checkMissingDependencies?: boolean
262
- checkObsoleteDependencies?: boolean
263
- checkVersionMismatches?: boolean
264
- includeTransitiveDependencies?: boolean
265
- useLocalPathsForWorkspaceDependencies?: boolean
266
- }]
267
- // ----- @nx/enforce-module-boundaries -----
268
- type NxEnforceModuleBoundaries = []|[{
269
- enforceBuildableLibDependency?: boolean
270
- allowCircularSelfDependency?: boolean
271
- checkDynamicDependenciesExceptions?: string[]
272
- banTransitiveDependencies?: boolean
273
- checkNestedExternalImports?: boolean
274
- allow?: string[]
275
- buildTargets?: string[]
276
- depConstraints?: ({
277
- sourceTag?: string
278
- onlyDependOnLibsWithTags?: string[]
279
- allowedExternalImports?: string[]
280
- bannedExternalImports?: string[]
281
- notDependOnLibsWithTags?: string[]
282
- } | {
283
-
284
- allSourceTags?: [string, string, ...(string)[]]
285
- onlyDependOnLibsWithTags?: string[]
286
- allowedExternalImports?: string[]
287
- bannedExternalImports?: string[]
288
- notDependOnLibsWithTags?: string[]
289
- })[]
290
- }]
291
- // ----- @nx/nx-plugin-checks -----
292
- type NxNxPluginChecks = []|[{
293
-
294
- generatorsJson?: string
295
-
296
- executorsJson?: string
297
-
298
- migrationsJson?: string
299
-
300
- packageJson?: string
301
-
302
- allowedVersionStrings?: string[]
303
- }]
304
- // ----- banner/banner -----
305
- type BannerBanner = []|[{
306
-
307
- banner?: string
308
-
309
- repositoryName?: string
310
-
311
- commentType?: string
312
-
313
- numNewlines?: number
314
- }]
315
- // ----- prettier/prettier -----
316
- type PrettierPrettier = []|[{
317
- [k: string]: unknown | undefined
318
- }]|[{
319
- [k: string]: unknown | undefined
320
- }, {
321
- usePrettierrc?: boolean
322
- fileInfoOptions?: {
323
- [k: string]: unknown | undefined
324
- }
325
- [k: string]: unknown | undefined
188
+ '@typescript-eslint/lines-between-class-members'?: Linter.RuleEntry<TypescriptEslintLinesBetweenClassMembers>
189
+ /**
190
+ * Enforce a maximum number of parameters in function definitions
191
+ * @see https://typescript-eslint.io/rules/max-params
192
+ */
193
+ '@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>
194
+ /**
195
+ * Require a specific member delimiter style for interfaces and type literals
196
+ * @see https://typescript-eslint.io/rules/member-delimiter-style
197
+ * @deprecated
198
+ */
199
+ '@typescript-eslint/member-delimiter-style'?: Linter.RuleEntry<TypescriptEslintMemberDelimiterStyle>
200
+ /**
201
+ * Require a consistent member declaration order
202
+ * @see https://typescript-eslint.io/rules/member-ordering
203
+ */
204
+ '@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>
205
+ /**
206
+ * Enforce using a particular method signature syntax
207
+ * @see https://typescript-eslint.io/rules/method-signature-style
208
+ */
209
+ '@typescript-eslint/method-signature-style'?: Linter.RuleEntry<TypescriptEslintMethodSignatureStyle>
210
+ /**
211
+ * Enforce naming conventions for everything across a codebase
212
+ * @see https://typescript-eslint.io/rules/naming-convention
213
+ */
214
+ '@typescript-eslint/naming-convention'?: Linter.RuleEntry<TypescriptEslintNamingConvention>
215
+ /**
216
+ * Disallow generic `Array` constructors
217
+ * @see https://typescript-eslint.io/rules/no-array-constructor
218
+ */
219
+ '@typescript-eslint/no-array-constructor'?: Linter.RuleEntry<[]>
220
+ /**
221
+ * Disallow using the `delete` operator on array values
222
+ * @see https://typescript-eslint.io/rules/no-array-delete
223
+ */
224
+ '@typescript-eslint/no-array-delete'?: Linter.RuleEntry<[]>
225
+ /**
226
+ * Require `.toString()` to only be called on objects which provide useful information when stringified
227
+ * @see https://typescript-eslint.io/rules/no-base-to-string
228
+ */
229
+ '@typescript-eslint/no-base-to-string'?: Linter.RuleEntry<TypescriptEslintNoBaseToString>
230
+ /**
231
+ * Disallow non-null assertion in locations that may be confusing
232
+ * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
233
+ */
234
+ '@typescript-eslint/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]>
235
+ /**
236
+ * Require expressions of type void to appear in statement position
237
+ * @see https://typescript-eslint.io/rules/no-confusing-void-expression
238
+ */
239
+ '@typescript-eslint/no-confusing-void-expression'?: Linter.RuleEntry<TypescriptEslintNoConfusingVoidExpression>
240
+ /**
241
+ * Disallow duplicate class members
242
+ * @see https://typescript-eslint.io/rules/no-dupe-class-members
243
+ */
244
+ '@typescript-eslint/no-dupe-class-members'?: Linter.RuleEntry<[]>
245
+ /**
246
+ * Disallow duplicate enum member values
247
+ * @see https://typescript-eslint.io/rules/no-duplicate-enum-values
248
+ */
249
+ '@typescript-eslint/no-duplicate-enum-values'?: Linter.RuleEntry<[]>
250
+ /**
251
+ * Disallow duplicate constituents of union or intersection types
252
+ * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
253
+ */
254
+ '@typescript-eslint/no-duplicate-type-constituents'?: Linter.RuleEntry<TypescriptEslintNoDuplicateTypeConstituents>
255
+ /**
256
+ * Disallow using the `delete` operator on computed key expressions
257
+ * @see https://typescript-eslint.io/rules/no-dynamic-delete
258
+ */
259
+ '@typescript-eslint/no-dynamic-delete'?: Linter.RuleEntry<[]>
260
+ /**
261
+ * Disallow empty functions
262
+ * @see https://typescript-eslint.io/rules/no-empty-function
263
+ */
264
+ '@typescript-eslint/no-empty-function'?: Linter.RuleEntry<TypescriptEslintNoEmptyFunction>
265
+ /**
266
+ * Disallow the declaration of empty interfaces
267
+ * @see https://typescript-eslint.io/rules/no-empty-interface
268
+ */
269
+ '@typescript-eslint/no-empty-interface'?: Linter.RuleEntry<TypescriptEslintNoEmptyInterface>
270
+ /**
271
+ * Disallow accidentally using the "empty object" type
272
+ * @see https://typescript-eslint.io/rules/no-empty-object-type
273
+ */
274
+ '@typescript-eslint/no-empty-object-type'?: Linter.RuleEntry<TypescriptEslintNoEmptyObjectType>
275
+ /**
276
+ * Disallow the `any` type
277
+ * @see https://typescript-eslint.io/rules/no-explicit-any
278
+ */
279
+ '@typescript-eslint/no-explicit-any'?: Linter.RuleEntry<TypescriptEslintNoExplicitAny>
280
+ /**
281
+ * Disallow extra non-null assertions
282
+ * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
283
+ */
284
+ '@typescript-eslint/no-extra-non-null-assertion'?: Linter.RuleEntry<[]>
285
+ /**
286
+ * Disallow unnecessary parentheses
287
+ * @see https://typescript-eslint.io/rules/no-extra-parens
288
+ * @deprecated
289
+ */
290
+ '@typescript-eslint/no-extra-parens'?: Linter.RuleEntry<TypescriptEslintNoExtraParens>
291
+ /**
292
+ * Disallow unnecessary semicolons
293
+ * @see https://typescript-eslint.io/rules/no-extra-semi
294
+ * @deprecated
295
+ */
296
+ '@typescript-eslint/no-extra-semi'?: Linter.RuleEntry<[]>
297
+ /**
298
+ * Disallow classes used as namespaces
299
+ * @see https://typescript-eslint.io/rules/no-extraneous-class
300
+ */
301
+ '@typescript-eslint/no-extraneous-class'?: Linter.RuleEntry<TypescriptEslintNoExtraneousClass>
302
+ /**
303
+ * Require Promise-like statements to be handled appropriately
304
+ * @see https://typescript-eslint.io/rules/no-floating-promises
305
+ */
306
+ '@typescript-eslint/no-floating-promises'?: Linter.RuleEntry<TypescriptEslintNoFloatingPromises>
307
+ /**
308
+ * Disallow iterating over an array with a for-in loop
309
+ * @see https://typescript-eslint.io/rules/no-for-in-array
310
+ */
311
+ '@typescript-eslint/no-for-in-array'?: Linter.RuleEntry<[]>
312
+ /**
313
+ * Disallow the use of `eval()`-like methods
314
+ * @see https://typescript-eslint.io/rules/no-implied-eval
315
+ */
316
+ '@typescript-eslint/no-implied-eval'?: Linter.RuleEntry<[]>
317
+ /**
318
+ * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
319
+ * @see https://typescript-eslint.io/rules/no-import-type-side-effects
320
+ */
321
+ '@typescript-eslint/no-import-type-side-effects'?: Linter.RuleEntry<[]>
322
+ /**
323
+ * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
324
+ * @see https://typescript-eslint.io/rules/no-inferrable-types
325
+ */
326
+ '@typescript-eslint/no-inferrable-types'?: Linter.RuleEntry<TypescriptEslintNoInferrableTypes>
327
+ /**
328
+ * Disallow `this` keywords outside of classes or class-like objects
329
+ * @see https://typescript-eslint.io/rules/no-invalid-this
330
+ */
331
+ '@typescript-eslint/no-invalid-this'?: Linter.RuleEntry<TypescriptEslintNoInvalidThis>
332
+ /**
333
+ * Disallow `void` type outside of generic or return types
334
+ * @see https://typescript-eslint.io/rules/no-invalid-void-type
335
+ */
336
+ '@typescript-eslint/no-invalid-void-type'?: Linter.RuleEntry<TypescriptEslintNoInvalidVoidType>
337
+ /**
338
+ * Disallow function declarations that contain unsafe references inside loop statements
339
+ * @see https://typescript-eslint.io/rules/no-loop-func
340
+ */
341
+ '@typescript-eslint/no-loop-func'?: Linter.RuleEntry<[]>
342
+ /**
343
+ * Disallow literal numbers that lose precision
344
+ * @see https://typescript-eslint.io/rules/no-loss-of-precision
345
+ */
346
+ '@typescript-eslint/no-loss-of-precision'?: Linter.RuleEntry<[]>
347
+ /**
348
+ * Disallow magic numbers
349
+ * @see https://typescript-eslint.io/rules/no-magic-numbers
350
+ */
351
+ '@typescript-eslint/no-magic-numbers'?: Linter.RuleEntry<TypescriptEslintNoMagicNumbers>
352
+ /**
353
+ * Disallow the `void` operator except when used to discard a value
354
+ * @see https://typescript-eslint.io/rules/no-meaningless-void-operator
355
+ */
356
+ '@typescript-eslint/no-meaningless-void-operator'?: Linter.RuleEntry<TypescriptEslintNoMeaninglessVoidOperator>
357
+ /**
358
+ * Enforce valid definition of `new` and `constructor`
359
+ * @see https://typescript-eslint.io/rules/no-misused-new
360
+ */
361
+ '@typescript-eslint/no-misused-new'?: Linter.RuleEntry<[]>
362
+ /**
363
+ * Disallow Promises in places not designed to handle them
364
+ * @see https://typescript-eslint.io/rules/no-misused-promises
365
+ */
366
+ '@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>
367
+ /**
368
+ * Disallow enums from having both number and string members
369
+ * @see https://typescript-eslint.io/rules/no-mixed-enums
370
+ */
371
+ '@typescript-eslint/no-mixed-enums'?: Linter.RuleEntry<[]>
372
+ /**
373
+ * Disallow TypeScript namespaces
374
+ * @see https://typescript-eslint.io/rules/no-namespace
375
+ */
376
+ '@typescript-eslint/no-namespace'?: Linter.RuleEntry<TypescriptEslintNoNamespace>
377
+ /**
378
+ * Disallow non-null assertions in the left operand of a nullish coalescing operator
379
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
380
+ */
381
+ '@typescript-eslint/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]>
382
+ /**
383
+ * Disallow non-null assertions after an optional chain expression
384
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
385
+ */
386
+ '@typescript-eslint/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]>
387
+ /**
388
+ * Disallow non-null assertions using the `!` postfix operator
389
+ * @see https://typescript-eslint.io/rules/no-non-null-assertion
390
+ */
391
+ '@typescript-eslint/no-non-null-assertion'?: Linter.RuleEntry<[]>
392
+ /**
393
+ * Disallow variable redeclaration
394
+ * @see https://typescript-eslint.io/rules/no-redeclare
395
+ */
396
+ '@typescript-eslint/no-redeclare'?: Linter.RuleEntry<TypescriptEslintNoRedeclare>
397
+ /**
398
+ * Disallow members of unions and intersections that do nothing or override type information
399
+ * @see https://typescript-eslint.io/rules/no-redundant-type-constituents
400
+ */
401
+ '@typescript-eslint/no-redundant-type-constituents'?: Linter.RuleEntry<[]>
402
+ /**
403
+ * Disallow invocation of `require()`
404
+ * @see https://typescript-eslint.io/rules/no-require-imports
405
+ */
406
+ '@typescript-eslint/no-require-imports'?: Linter.RuleEntry<TypescriptEslintNoRequireImports>
407
+ /**
408
+ * Disallow specified modules when loaded by `import`
409
+ * @see https://typescript-eslint.io/rules/no-restricted-imports
410
+ */
411
+ '@typescript-eslint/no-restricted-imports'?: Linter.RuleEntry<TypescriptEslintNoRestrictedImports>
412
+ /**
413
+ * Disallow variable declarations from shadowing variables declared in the outer scope
414
+ * @see https://typescript-eslint.io/rules/no-shadow
415
+ */
416
+ '@typescript-eslint/no-shadow'?: Linter.RuleEntry<TypescriptEslintNoShadow>
417
+ /**
418
+ * Disallow aliasing `this`
419
+ * @see https://typescript-eslint.io/rules/no-this-alias
420
+ */
421
+ '@typescript-eslint/no-this-alias'?: Linter.RuleEntry<TypescriptEslintNoThisAlias>
422
+ /**
423
+ * Disallow throwing literals as exceptions
424
+ * @see https://typescript-eslint.io/rules/no-throw-literal
425
+ * @deprecated
426
+ */
427
+ '@typescript-eslint/no-throw-literal'?: Linter.RuleEntry<TypescriptEslintNoThrowLiteral>
428
+ /**
429
+ * Disallow type aliases
430
+ * @see https://typescript-eslint.io/rules/no-type-alias
431
+ * @deprecated
432
+ */
433
+ '@typescript-eslint/no-type-alias'?: Linter.RuleEntry<TypescriptEslintNoTypeAlias>
434
+ /**
435
+ * Disallow unnecessary equality comparisons against boolean literals
436
+ * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
437
+ */
438
+ '@typescript-eslint/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryBooleanLiteralCompare>
439
+ /**
440
+ * Disallow conditionals where the type is always truthy or always falsy
441
+ * @see https://typescript-eslint.io/rules/no-unnecessary-condition
442
+ */
443
+ '@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryCondition>
444
+ /**
445
+ * Disallow unnecessary assignment of constructor property parameter
446
+ * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
447
+ */
448
+ '@typescript-eslint/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]>
449
+ /**
450
+ * Disallow unnecessary namespace qualifiers
451
+ * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
452
+ */
453
+ '@typescript-eslint/no-unnecessary-qualifier'?: Linter.RuleEntry<[]>
454
+ /**
455
+ * Disallow unnecessary template expressions
456
+ * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
457
+ */
458
+ '@typescript-eslint/no-unnecessary-template-expression'?: Linter.RuleEntry<[]>
459
+ /**
460
+ * Disallow type arguments that are equal to the default
461
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
462
+ */
463
+ '@typescript-eslint/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]>
464
+ /**
465
+ * Disallow type assertions that do not change the type of an expression
466
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
467
+ */
468
+ '@typescript-eslint/no-unnecessary-type-assertion'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryTypeAssertion>
469
+ /**
470
+ * Disallow unnecessary constraints on generic types
471
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
472
+ */
473
+ '@typescript-eslint/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
474
+ /**
475
+ * Disallow type parameters that only appear once
476
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
477
+ */
478
+ '@typescript-eslint/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
479
+ /**
480
+ * Disallow calling a function with a value with type `any`
481
+ * @see https://typescript-eslint.io/rules/no-unsafe-argument
482
+ */
483
+ '@typescript-eslint/no-unsafe-argument'?: Linter.RuleEntry<[]>
484
+ /**
485
+ * Disallow assigning a value with type `any` to variables and properties
486
+ * @see https://typescript-eslint.io/rules/no-unsafe-assignment
487
+ */
488
+ '@typescript-eslint/no-unsafe-assignment'?: Linter.RuleEntry<[]>
489
+ /**
490
+ * Disallow calling a value with type `any`
491
+ * @see https://typescript-eslint.io/rules/no-unsafe-call
492
+ */
493
+ '@typescript-eslint/no-unsafe-call'?: Linter.RuleEntry<[]>
494
+ /**
495
+ * Disallow unsafe declaration merging
496
+ * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
497
+ */
498
+ '@typescript-eslint/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>
499
+ /**
500
+ * Disallow comparing an enum value with a non-enum value
501
+ * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
502
+ */
503
+ '@typescript-eslint/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]>
504
+ /**
505
+ * Disallow member access on a value with type `any`
506
+ * @see https://typescript-eslint.io/rules/no-unsafe-member-access
507
+ */
508
+ '@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<[]>
509
+ /**
510
+ * Disallow returning a value with type `any` from a function
511
+ * @see https://typescript-eslint.io/rules/no-unsafe-return
512
+ */
513
+ '@typescript-eslint/no-unsafe-return'?: Linter.RuleEntry<[]>
514
+ /**
515
+ * Require unary negation to take a number
516
+ * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
517
+ */
518
+ '@typescript-eslint/no-unsafe-unary-minus'?: Linter.RuleEntry<[]>
519
+ /**
520
+ * Disallow unused expressions
521
+ * @see https://typescript-eslint.io/rules/no-unused-expressions
522
+ */
523
+ '@typescript-eslint/no-unused-expressions'?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>
524
+ /**
525
+ * Disallow unused variables
526
+ * @see https://typescript-eslint.io/rules/no-unused-vars
527
+ */
528
+ '@typescript-eslint/no-unused-vars'?: Linter.RuleEntry<TypescriptEslintNoUnusedVars>
529
+ /**
530
+ * Disallow the use of variables before they are defined
531
+ * @see https://typescript-eslint.io/rules/no-use-before-define
532
+ */
533
+ '@typescript-eslint/no-use-before-define'?: Linter.RuleEntry<TypescriptEslintNoUseBeforeDefine>
534
+ /**
535
+ * Disallow unnecessary constructors
536
+ * @see https://typescript-eslint.io/rules/no-useless-constructor
537
+ */
538
+ '@typescript-eslint/no-useless-constructor'?: Linter.RuleEntry<[]>
539
+ /**
540
+ * Disallow empty exports that don't change anything in a module file
541
+ * @see https://typescript-eslint.io/rules/no-useless-empty-export
542
+ */
543
+ '@typescript-eslint/no-useless-empty-export'?: Linter.RuleEntry<[]>
544
+ /**
545
+ * Disallow unnecessary template expressions
546
+ * @see https://typescript-eslint.io/rules/no-useless-template-literals
547
+ * @deprecated
548
+ */
549
+ '@typescript-eslint/no-useless-template-literals'?: Linter.RuleEntry<[]>
550
+ /**
551
+ * Disallow `require` statements except in import statements
552
+ * @see https://typescript-eslint.io/rules/no-var-requires
553
+ */
554
+ '@typescript-eslint/no-var-requires'?: Linter.RuleEntry<TypescriptEslintNoVarRequires>
555
+ /**
556
+ * Enforce non-null assertions over explicit type casts
557
+ * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
558
+ */
559
+ '@typescript-eslint/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>
560
+ /**
561
+ * Enforce consistent spacing inside braces
562
+ * @see https://typescript-eslint.io/rules/object-curly-spacing
563
+ * @deprecated
564
+ */
565
+ '@typescript-eslint/object-curly-spacing'?: Linter.RuleEntry<TypescriptEslintObjectCurlySpacing>
566
+ /**
567
+ * Disallow throwing non-`Error` values as exceptions
568
+ * @see https://typescript-eslint.io/rules/only-throw-error
569
+ */
570
+ '@typescript-eslint/only-throw-error'?: Linter.RuleEntry<TypescriptEslintOnlyThrowError>
571
+ /**
572
+ * Require or disallow padding lines between statements
573
+ * @see https://typescript-eslint.io/rules/padding-line-between-statements
574
+ * @deprecated
575
+ */
576
+ '@typescript-eslint/padding-line-between-statements'?: Linter.RuleEntry<TypescriptEslintPaddingLineBetweenStatements>
577
+ /**
578
+ * Require or disallow parameter properties in class constructors
579
+ * @see https://typescript-eslint.io/rules/parameter-properties
580
+ */
581
+ '@typescript-eslint/parameter-properties'?: Linter.RuleEntry<TypescriptEslintParameterProperties>
582
+ /**
583
+ * Enforce the use of `as const` over literal type
584
+ * @see https://typescript-eslint.io/rules/prefer-as-const
585
+ */
586
+ '@typescript-eslint/prefer-as-const'?: Linter.RuleEntry<[]>
587
+ /**
588
+ * Require destructuring from arrays and/or objects
589
+ * @see https://typescript-eslint.io/rules/prefer-destructuring
590
+ */
591
+ '@typescript-eslint/prefer-destructuring'?: Linter.RuleEntry<TypescriptEslintPreferDestructuring>
592
+ /**
593
+ * Require each enum member value to be explicitly initialized
594
+ * @see https://typescript-eslint.io/rules/prefer-enum-initializers
595
+ */
596
+ '@typescript-eslint/prefer-enum-initializers'?: Linter.RuleEntry<[]>
597
+ /**
598
+ * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
599
+ * @see https://typescript-eslint.io/rules/prefer-find
600
+ */
601
+ '@typescript-eslint/prefer-find'?: Linter.RuleEntry<[]>
602
+ /**
603
+ * Enforce the use of `for-of` loop over the standard `for` loop where possible
604
+ * @see https://typescript-eslint.io/rules/prefer-for-of
605
+ */
606
+ '@typescript-eslint/prefer-for-of'?: Linter.RuleEntry<[]>
607
+ /**
608
+ * Enforce using function types instead of interfaces with call signatures
609
+ * @see https://typescript-eslint.io/rules/prefer-function-type
610
+ */
611
+ '@typescript-eslint/prefer-function-type'?: Linter.RuleEntry<[]>
612
+ /**
613
+ * Enforce `includes` method over `indexOf` method
614
+ * @see https://typescript-eslint.io/rules/prefer-includes
615
+ */
616
+ '@typescript-eslint/prefer-includes'?: Linter.RuleEntry<[]>
617
+ /**
618
+ * Require all enum members to be literal values
619
+ * @see https://typescript-eslint.io/rules/prefer-literal-enum-member
620
+ */
621
+ '@typescript-eslint/prefer-literal-enum-member'?: Linter.RuleEntry<TypescriptEslintPreferLiteralEnumMember>
622
+ /**
623
+ * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
624
+ * @see https://typescript-eslint.io/rules/prefer-namespace-keyword
625
+ */
626
+ '@typescript-eslint/prefer-namespace-keyword'?: Linter.RuleEntry<[]>
627
+ /**
628
+ * Enforce using the nullish coalescing operator instead of logical assignments or chaining
629
+ * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
630
+ */
631
+ '@typescript-eslint/prefer-nullish-coalescing'?: Linter.RuleEntry<TypescriptEslintPreferNullishCoalescing>
632
+ /**
633
+ * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
634
+ * @see https://typescript-eslint.io/rules/prefer-optional-chain
635
+ */
636
+ '@typescript-eslint/prefer-optional-chain'?: Linter.RuleEntry<TypescriptEslintPreferOptionalChain>
637
+ /**
638
+ * Require using Error objects as Promise rejection reasons
639
+ * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
640
+ */
641
+ '@typescript-eslint/prefer-promise-reject-errors'?: Linter.RuleEntry<TypescriptEslintPreferPromiseRejectErrors>
642
+ /**
643
+ * Require private members to be marked as `readonly` if they're never modified outside of the constructor
644
+ * @see https://typescript-eslint.io/rules/prefer-readonly
645
+ */
646
+ '@typescript-eslint/prefer-readonly'?: Linter.RuleEntry<TypescriptEslintPreferReadonly>
647
+ /**
648
+ * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
649
+ * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
650
+ */
651
+ '@typescript-eslint/prefer-readonly-parameter-types'?: Linter.RuleEntry<TypescriptEslintPreferReadonlyParameterTypes>
652
+ /**
653
+ * Enforce using type parameter when calling `Array#reduce` instead of casting
654
+ * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
655
+ */
656
+ '@typescript-eslint/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>
657
+ /**
658
+ * Enforce `RegExp#exec` over `String#match` if no global flag is provided
659
+ * @see https://typescript-eslint.io/rules/prefer-regexp-exec
660
+ */
661
+ '@typescript-eslint/prefer-regexp-exec'?: Linter.RuleEntry<[]>
662
+ /**
663
+ * Enforce that `this` is used when only `this` type is returned
664
+ * @see https://typescript-eslint.io/rules/prefer-return-this-type
665
+ */
666
+ '@typescript-eslint/prefer-return-this-type'?: Linter.RuleEntry<[]>
667
+ /**
668
+ * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
669
+ * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
670
+ */
671
+ '@typescript-eslint/prefer-string-starts-ends-with'?: Linter.RuleEntry<TypescriptEslintPreferStringStartsEndsWith>
672
+ /**
673
+ * Enforce using `@ts-expect-error` over `@ts-ignore`
674
+ * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
675
+ * @deprecated
676
+ */
677
+ '@typescript-eslint/prefer-ts-expect-error'?: Linter.RuleEntry<[]>
678
+ /**
679
+ * Require any function or method that returns a Promise to be marked async
680
+ * @see https://typescript-eslint.io/rules/promise-function-async
681
+ */
682
+ '@typescript-eslint/promise-function-async'?: Linter.RuleEntry<TypescriptEslintPromiseFunctionAsync>
683
+ /**
684
+ * Enforce the consistent use of either backticks, double, or single quotes
685
+ * @see https://typescript-eslint.io/rules/quotes
686
+ * @deprecated
687
+ */
688
+ '@typescript-eslint/quotes'?: Linter.RuleEntry<TypescriptEslintQuotes>
689
+ /**
690
+ * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
691
+ * @see https://typescript-eslint.io/rules/require-array-sort-compare
692
+ */
693
+ '@typescript-eslint/require-array-sort-compare'?: Linter.RuleEntry<TypescriptEslintRequireArraySortCompare>
694
+ /**
695
+ * Disallow async functions which do not return promises and have no `await` expression
696
+ * @see https://typescript-eslint.io/rules/require-await
697
+ */
698
+ '@typescript-eslint/require-await'?: Linter.RuleEntry<[]>
699
+ /**
700
+ * Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
701
+ * @see https://typescript-eslint.io/rules/restrict-plus-operands
702
+ */
703
+ '@typescript-eslint/restrict-plus-operands'?: Linter.RuleEntry<TypescriptEslintRestrictPlusOperands>
704
+ /**
705
+ * Enforce template literal expressions to be of `string` type
706
+ * @see https://typescript-eslint.io/rules/restrict-template-expressions
707
+ */
708
+ '@typescript-eslint/restrict-template-expressions'?: Linter.RuleEntry<TypescriptEslintRestrictTemplateExpressions>
709
+ /**
710
+ * Enforce consistent awaiting of returned promises
711
+ * @see https://typescript-eslint.io/rules/return-await
712
+ */
713
+ '@typescript-eslint/return-await'?: Linter.RuleEntry<TypescriptEslintReturnAwait>
714
+ /**
715
+ * Require or disallow semicolons instead of ASI
716
+ * @see https://typescript-eslint.io/rules/semi
717
+ * @deprecated
718
+ */
719
+ '@typescript-eslint/semi'?: Linter.RuleEntry<TypescriptEslintSemi>
720
+ /**
721
+ * Enforce constituents of a type union/intersection to be sorted alphabetically
722
+ * @see https://typescript-eslint.io/rules/sort-type-constituents
723
+ * @deprecated
724
+ */
725
+ '@typescript-eslint/sort-type-constituents'?: Linter.RuleEntry<TypescriptEslintSortTypeConstituents>
726
+ /**
727
+ * Enforce consistent spacing before blocks
728
+ * @see https://typescript-eslint.io/rules/space-before-blocks
729
+ * @deprecated
730
+ */
731
+ '@typescript-eslint/space-before-blocks'?: Linter.RuleEntry<TypescriptEslintSpaceBeforeBlocks>
732
+ /**
733
+ * Enforce consistent spacing before function parenthesis
734
+ * @see https://typescript-eslint.io/rules/space-before-function-paren
735
+ * @deprecated
736
+ */
737
+ '@typescript-eslint/space-before-function-paren'?: Linter.RuleEntry<TypescriptEslintSpaceBeforeFunctionParen>
738
+ /**
739
+ * Require spacing around infix operators
740
+ * @see https://typescript-eslint.io/rules/space-infix-ops
741
+ * @deprecated
742
+ */
743
+ '@typescript-eslint/space-infix-ops'?: Linter.RuleEntry<TypescriptEslintSpaceInfixOps>
744
+ /**
745
+ * Disallow certain types in boolean expressions
746
+ * @see https://typescript-eslint.io/rules/strict-boolean-expressions
747
+ */
748
+ '@typescript-eslint/strict-boolean-expressions'?: Linter.RuleEntry<TypescriptEslintStrictBooleanExpressions>
749
+ /**
750
+ * Require switch-case statements to be exhaustive
751
+ * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
752
+ */
753
+ '@typescript-eslint/switch-exhaustiveness-check'?: Linter.RuleEntry<TypescriptEslintSwitchExhaustivenessCheck>
754
+ /**
755
+ * Disallow certain triple slash directives in favor of ES6-style import declarations
756
+ * @see https://typescript-eslint.io/rules/triple-slash-reference
757
+ */
758
+ '@typescript-eslint/triple-slash-reference'?: Linter.RuleEntry<TypescriptEslintTripleSlashReference>
759
+ /**
760
+ * Require consistent spacing around type annotations
761
+ * @see https://typescript-eslint.io/rules/type-annotation-spacing
762
+ * @deprecated
763
+ */
764
+ '@typescript-eslint/type-annotation-spacing'?: Linter.RuleEntry<TypescriptEslintTypeAnnotationSpacing>
765
+ /**
766
+ * Require type annotations in certain places
767
+ * @see https://typescript-eslint.io/rules/typedef
768
+ */
769
+ '@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>
770
+ /**
771
+ * Enforce unbound methods are called with their expected scope
772
+ * @see https://typescript-eslint.io/rules/unbound-method
773
+ */
774
+ '@typescript-eslint/unbound-method'?: Linter.RuleEntry<TypescriptEslintUnboundMethod>
775
+ /**
776
+ * Disallow two overloads that could be unified into one with a union or an optional/rest parameter
777
+ * @see https://typescript-eslint.io/rules/unified-signatures
778
+ */
779
+ '@typescript-eslint/unified-signatures'?: Linter.RuleEntry<TypescriptEslintUnifiedSignatures>
780
+ /**
781
+ * Enforce typing arguments in `.catch()` callbacks as `unknown`
782
+ * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
783
+ */
784
+ '@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
785
+ /**
786
+ * Ensures the file has a Storm Software banner
787
+ * @see https://docs.stormsoftware.com/eslint/rules/banner
788
+ */
789
+ 'banner/banner'?: Linter.RuleEntry<BannerBanner>
790
+ /**
791
+ * @see https://github.com/prettier/eslint-plugin-prettier#options
792
+ */
793
+ 'prettier/prettier'?: Linter.RuleEntry<PrettierPrettier>
794
+ /**
795
+ * Validates that TypeScript documentation comments conform to the TSDoc standard
796
+ * @see https://tsdoc.org/pages/packages/eslint-plugin-tsdoc
797
+ */
798
+ 'tsdoc/syntax'?: Linter.RuleEntry<[]>
799
+ /**
800
+ * Improve regexes by making them shorter, consistent, and safer.
801
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/better-regex.md
802
+ */
803
+ 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
804
+ /**
805
+ * Enforce a specific parameter name in catch clauses.
806
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/catch-error-name.md
807
+ */
808
+ 'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
809
+ /**
810
+ * Use destructured variables over properties.
811
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-destructuring.md
812
+ */
813
+ 'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
814
+ /**
815
+ * Prefer consistent types when spreading a ternary in an array literal.
816
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-empty-array-spread.md
817
+ */
818
+ 'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
819
+ /**
820
+ * Move function definitions to the highest possible scope.
821
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-function-scoping.md
822
+ */
823
+ 'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
824
+ /**
825
+ * Enforce correct `Error` subclassing.
826
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/custom-error-definition.md
827
+ */
828
+ 'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
829
+ /**
830
+ * Enforce no spaces between braces.
831
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/empty-brace-spaces.md
832
+ */
833
+ 'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
834
+ /**
835
+ * Enforce passing a `message` value when creating a built-in error.
836
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/error-message.md
837
+ */
838
+ 'unicorn/error-message'?: Linter.RuleEntry<[]>
839
+ /**
840
+ * Require escape sequences to use uppercase values.
841
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/escape-case.md
842
+ */
843
+ 'unicorn/escape-case'?: Linter.RuleEntry<[]>
844
+ /**
845
+ * Add expiration conditions to TODO comments.
846
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/expiring-todo-comments.md
847
+ */
848
+ 'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
849
+ /**
850
+ * Enforce explicitly comparing the `length` or `size` property of a value.
851
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/explicit-length-check.md
852
+ */
853
+ 'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
854
+ /**
855
+ * Enforce a case style for filenames.
856
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/filename-case.md
857
+ */
858
+ 'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
859
+ /**
860
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#import-index
861
+ * @deprecated
862
+ */
863
+ 'unicorn/import-index'?: Linter.RuleEntry<[]>
864
+ /**
865
+ * Enforce specific import styles per module.
866
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/import-style.md
867
+ */
868
+ 'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
869
+ /**
870
+ * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
871
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/new-for-builtins.md
872
+ */
873
+ 'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
874
+ /**
875
+ * Enforce specifying rules to disable in `eslint-disable` comments.
876
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-abusive-eslint-disable.md
877
+ */
878
+ 'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
879
+ /**
880
+ * Disallow anonymous functions and classes as the default export.
881
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-anonymous-default-export.md
882
+ */
883
+ 'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
884
+ /**
885
+ * Prevent passing a function reference directly to iterator methods.
886
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-callback-reference.md
887
+ */
888
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
889
+ /**
890
+ * Prefer `for…of` over the `forEach` method.
891
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-for-each.md
892
+ */
893
+ 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
894
+ /**
895
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-array-instanceof
896
+ * @deprecated
897
+ */
898
+ 'unicorn/no-array-instanceof'?: Linter.RuleEntry<[]>
899
+ /**
900
+ * Disallow using the `this` argument in array methods.
901
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-method-this-argument.md
902
+ */
903
+ 'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
904
+ /**
905
+ * Enforce combining multiple `Array#push()` into one call.
906
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-push-push.md
907
+ */
908
+ 'unicorn/no-array-push-push'?: Linter.RuleEntry<UnicornNoArrayPushPush>
909
+ /**
910
+ * Disallow `Array#reduce()` and `Array#reduceRight()`.
911
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-reduce.md
912
+ */
913
+ 'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
914
+ /**
915
+ * Disallow member access from await expression.
916
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-expression-member.md
917
+ */
918
+ 'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
919
+ /**
920
+ * Disallow using `await` in `Promise` method parameters.
921
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-in-promise-methods.md
922
+ */
923
+ 'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
924
+ /**
925
+ * Do not use leading/trailing space between `console.log` parameters.
926
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-console-spaces.md
927
+ */
928
+ 'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
929
+ /**
930
+ * Do not use `document.cookie` directly.
931
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-document-cookie.md
932
+ */
933
+ 'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
934
+ /**
935
+ * Disallow empty files.
936
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-empty-file.md
937
+ */
938
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
939
+ /**
940
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-fn-reference-in-iterator
941
+ * @deprecated
942
+ */
943
+ 'unicorn/no-fn-reference-in-iterator'?: Linter.RuleEntry<[]>
944
+ /**
945
+ * Do not use a `for` loop that can be replaced with a `for-of` loop.
946
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-for-loop.md
947
+ */
948
+ 'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
949
+ /**
950
+ * Enforce the use of Unicode escapes instead of hexadecimal escapes.
951
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-hex-escape.md
952
+ */
953
+ 'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
954
+ /**
955
+ * Require `Array.isArray()` instead of `instanceof Array`.
956
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-instanceof-array.md
957
+ */
958
+ 'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
959
+ /**
960
+ * Disallow invalid options in `fetch()` and `new Request()`.
961
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-fetch-options.md
962
+ */
963
+ 'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
964
+ /**
965
+ * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
966
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-remove-event-listener.md
967
+ */
968
+ 'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
969
+ /**
970
+ * Disallow identifiers starting with `new` or `class`.
971
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-keyword-prefix.md
972
+ */
973
+ 'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
974
+ /**
975
+ * Disallow `if` statements as the only statement in `if` blocks without `else`.
976
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-lonely-if.md
977
+ */
978
+ 'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
979
+ /**
980
+ * Disallow a magic number as the `depth` argument in `Array#flat(…).`
981
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-magic-array-flat-depth.md
982
+ */
983
+ 'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
984
+ /**
985
+ * Disallow negated conditions.
986
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negated-condition.md
987
+ */
988
+ 'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
989
+ /**
990
+ * Disallow negated expression in equality check.
991
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negation-in-equality-check.md
992
+ */
993
+ 'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
994
+ /**
995
+ * Disallow nested ternary expressions.
996
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-nested-ternary.md
997
+ */
998
+ 'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
999
+ /**
1000
+ * Disallow `new Array()`.
1001
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-array.md
1002
+ */
1003
+ 'unicorn/no-new-array'?: Linter.RuleEntry<[]>
1004
+ /**
1005
+ * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
1006
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-buffer.md
1007
+ */
1008
+ 'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
1009
+ /**
1010
+ * Disallow the use of the `null` literal.
1011
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-null.md
1012
+ */
1013
+ 'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
1014
+ /**
1015
+ * Disallow the use of objects as default parameters.
1016
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-object-as-default-parameter.md
1017
+ */
1018
+ 'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
1019
+ /**
1020
+ * Disallow `process.exit()`.
1021
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-process-exit.md
1022
+ */
1023
+ 'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
1024
+ /**
1025
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-reduce
1026
+ * @deprecated
1027
+ */
1028
+ 'unicorn/no-reduce'?: Linter.RuleEntry<[]>
1029
+ /**
1030
+ * Disallow passing single-element arrays to `Promise` methods.
1031
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-single-promise-in-promise-methods.md
1032
+ */
1033
+ 'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
1034
+ /**
1035
+ * Disallow classes that only have static members.
1036
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-static-only-class.md
1037
+ */
1038
+ 'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
1039
+ /**
1040
+ * Disallow `then` property.
1041
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-thenable.md
1042
+ */
1043
+ 'unicorn/no-thenable'?: Linter.RuleEntry<[]>
1044
+ /**
1045
+ * Disallow assigning `this` to a variable.
1046
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-this-assignment.md
1047
+ */
1048
+ 'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
1049
+ /**
1050
+ * Disallow comparing `undefined` using `typeof`.
1051
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-typeof-undefined.md
1052
+ */
1053
+ 'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
1054
+ /**
1055
+ * Disallow awaiting non-promise values.
1056
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-await.md
1057
+ */
1058
+ 'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
1059
+ /**
1060
+ * Enforce the use of built-in methods instead of unnecessary polyfills.
1061
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-polyfills.md
1062
+ */
1063
+ 'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
1064
+ /**
1065
+ * Disallow unreadable array destructuring.
1066
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-array-destructuring.md
1067
+ */
1068
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
1069
+ /**
1070
+ * Disallow unreadable IIFEs.
1071
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-iife.md
1072
+ */
1073
+ 'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
1074
+ /**
1075
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-unsafe-regex
1076
+ * @deprecated
1077
+ */
1078
+ 'unicorn/no-unsafe-regex'?: Linter.RuleEntry<[]>
1079
+ /**
1080
+ * Disallow unused object properties.
1081
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unused-properties.md
1082
+ */
1083
+ 'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
1084
+ /**
1085
+ * Disallow useless fallback when spreading in object literals.
1086
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-fallback-in-spread.md
1087
+ */
1088
+ 'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
1089
+ /**
1090
+ * Disallow useless array length check.
1091
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-length-check.md
1092
+ */
1093
+ 'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
1094
+ /**
1095
+ * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
1096
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-promise-resolve-reject.md
1097
+ */
1098
+ 'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
1099
+ /**
1100
+ * Disallow unnecessary spread.
1101
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-spread.md
1102
+ */
1103
+ 'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
1104
+ /**
1105
+ * Disallow useless case in switch statements.
1106
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-switch-case.md
1107
+ */
1108
+ 'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
1109
+ /**
1110
+ * Disallow useless `undefined`.
1111
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-undefined.md
1112
+ */
1113
+ 'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
1114
+ /**
1115
+ * Disallow number literals with zero fractions or dangling dots.
1116
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-zero-fractions.md
1117
+ */
1118
+ 'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
1119
+ /**
1120
+ * Enforce proper case for numeric literals.
1121
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/number-literal-case.md
1122
+ */
1123
+ 'unicorn/number-literal-case'?: Linter.RuleEntry<[]>
1124
+ /**
1125
+ * Enforce the style of numeric separators by correctly grouping digits.
1126
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/numeric-separators-style.md
1127
+ */
1128
+ 'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
1129
+ /**
1130
+ * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
1131
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-add-event-listener.md
1132
+ */
1133
+ 'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
1134
+ /**
1135
+ * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
1136
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-find.md
1137
+ */
1138
+ 'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
1139
+ /**
1140
+ * Prefer `Array#flat()` over legacy techniques to flatten arrays.
1141
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat.md
1142
+ */
1143
+ 'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
1144
+ /**
1145
+ * Prefer `.flatMap(…)` over `.map(…).flat()`.
1146
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat-map.md
1147
+ */
1148
+ 'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
1149
+ /**
1150
+ * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
1151
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-index-of.md
1152
+ */
1153
+ 'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
1154
+ /**
1155
+ * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
1156
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-some.md
1157
+ */
1158
+ 'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
1159
+ /**
1160
+ * Prefer `.at()` method for index access and `String#charAt()`.
1161
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-at.md
1162
+ */
1163
+ 'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
1164
+ /**
1165
+ * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
1166
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-blob-reading-methods.md
1167
+ */
1168
+ 'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
1169
+ /**
1170
+ * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
1171
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-code-point.md
1172
+ */
1173
+ 'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
1174
+ /**
1175
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-dataset
1176
+ * @deprecated
1177
+ */
1178
+ 'unicorn/prefer-dataset'?: Linter.RuleEntry<[]>
1179
+ /**
1180
+ * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
1181
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-date-now.md
1182
+ */
1183
+ 'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
1184
+ /**
1185
+ * Prefer default parameters over reassignment.
1186
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-default-parameters.md
1187
+ */
1188
+ 'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
1189
+ /**
1190
+ * Prefer `Node#append()` over `Node#appendChild()`.
1191
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-append.md
1192
+ */
1193
+ 'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
1194
+ /**
1195
+ * Prefer using `.dataset` on DOM elements over calling attribute methods.
1196
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-dataset.md
1197
+ */
1198
+ 'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
1199
+ /**
1200
+ * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
1201
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-remove.md
1202
+ */
1203
+ 'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
1204
+ /**
1205
+ * Prefer `.textContent` over `.innerText`.
1206
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-text-content.md
1207
+ */
1208
+ 'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
1209
+ /**
1210
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-event-key
1211
+ * @deprecated
1212
+ */
1213
+ 'unicorn/prefer-event-key'?: Linter.RuleEntry<[]>
1214
+ /**
1215
+ * Prefer `EventTarget` over `EventEmitter`.
1216
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-event-target.md
1217
+ */
1218
+ 'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
1219
+ /**
1220
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-exponentiation-operator
1221
+ * @deprecated
1222
+ */
1223
+ 'unicorn/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>
1224
+ /**
1225
+ * Prefer `export…from` when re-exporting.
1226
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-export-from.md
1227
+ */
1228
+ 'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
1229
+ /**
1230
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-flat-map
1231
+ * @deprecated
1232
+ */
1233
+ 'unicorn/prefer-flat-map'?: Linter.RuleEntry<[]>
1234
+ /**
1235
+ * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
1236
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-includes.md
1237
+ */
1238
+ 'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
1239
+ /**
1240
+ * Prefer reading a JSON file as a buffer.
1241
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-json-parse-buffer.md
1242
+ */
1243
+ 'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
1244
+ /**
1245
+ * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
1246
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-keyboard-event-key.md
1247
+ */
1248
+ 'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
1249
+ /**
1250
+ * Prefer using a logical operator over a ternary.
1251
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-logical-operator-over-ternary.md
1252
+ */
1253
+ 'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
1254
+ /**
1255
+ * Enforce the use of `Math.trunc` instead of bitwise operators.
1256
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-math-trunc.md
1257
+ */
1258
+ 'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
1259
+ /**
1260
+ * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
1261
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-dom-apis.md
1262
+ */
1263
+ 'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
1264
+ /**
1265
+ * Prefer modern `Math` APIs over legacy patterns.
1266
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-math-apis.md
1267
+ */
1268
+ 'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
1269
+ /**
1270
+ * Prefer JavaScript modules (ESM) over CommonJS.
1271
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-module.md
1272
+ */
1273
+ 'unicorn/prefer-module'?: Linter.RuleEntry<[]>
1274
+ /**
1275
+ * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
1276
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-native-coercion-functions.md
1277
+ */
1278
+ 'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
1279
+ /**
1280
+ * Prefer negative index over `.length - index` when possible.
1281
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-negative-index.md
1282
+ */
1283
+ 'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
1284
+ /**
1285
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-append
1286
+ * @deprecated
1287
+ */
1288
+ 'unicorn/prefer-node-append'?: Linter.RuleEntry<[]>
1289
+ /**
1290
+ * Prefer using the `node:` protocol when importing Node.js builtin modules.
1291
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-node-protocol.md
1292
+ */
1293
+ 'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
1294
+ /**
1295
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-remove
1296
+ * @deprecated
1297
+ */
1298
+ 'unicorn/prefer-node-remove'?: Linter.RuleEntry<[]>
1299
+ /**
1300
+ * Prefer `Number` static properties over global ones.
1301
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-number-properties.md
1302
+ */
1303
+ 'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
1304
+ /**
1305
+ * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
1306
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-object-from-entries.md
1307
+ */
1308
+ 'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
1309
+ /**
1310
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-object-has-own
1311
+ * @deprecated
1312
+ */
1313
+ 'unicorn/prefer-object-has-own'?: Linter.RuleEntry<[]>
1314
+ /**
1315
+ * Prefer omitting the `catch` binding parameter.
1316
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-optional-catch-binding.md
1317
+ */
1318
+ 'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
1319
+ /**
1320
+ * Prefer borrowing methods from the prototype instead of the instance.
1321
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-prototype-methods.md
1322
+ */
1323
+ 'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
1324
+ /**
1325
+ * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()`.
1326
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-query-selector.md
1327
+ */
1328
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
1329
+ /**
1330
+ * Prefer `Reflect.apply()` over `Function#apply()`.
1331
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-reflect-apply.md
1332
+ */
1333
+ 'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
1334
+ /**
1335
+ * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
1336
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-regexp-test.md
1337
+ */
1338
+ 'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
1339
+ /**
1340
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-replace-all
1341
+ * @deprecated
1342
+ */
1343
+ 'unicorn/prefer-replace-all'?: Linter.RuleEntry<[]>
1344
+ /**
1345
+ * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
1346
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-has.md
1347
+ */
1348
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
1349
+ /**
1350
+ * Prefer using `Set#size` instead of `Array#length`.
1351
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-size.md
1352
+ */
1353
+ 'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
1354
+ /**
1355
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
1356
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-spread.md
1357
+ */
1358
+ 'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
1359
+ /**
1360
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-starts-ends-with
1361
+ * @deprecated
1362
+ */
1363
+ 'unicorn/prefer-starts-ends-with'?: Linter.RuleEntry<[]>
1364
+ /**
1365
+ * Prefer using the `String.raw` tag to avoid escaping `\`.
1366
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-raw.md
1367
+ */
1368
+ 'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
1369
+ /**
1370
+ * Prefer `String#replaceAll()` over regex searches with the global flag.
1371
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-replace-all.md
1372
+ */
1373
+ 'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
1374
+ /**
1375
+ * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
1376
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-slice.md
1377
+ */
1378
+ 'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
1379
+ /**
1380
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
1381
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-starts-ends-with.md
1382
+ */
1383
+ 'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
1384
+ /**
1385
+ * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
1386
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-trim-start-end.md
1387
+ */
1388
+ 'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
1389
+ /**
1390
+ * Prefer using `structuredClone` to create a deep clone.
1391
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-structured-clone.md
1392
+ */
1393
+ 'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
1394
+ /**
1395
+ * Prefer `switch` over multiple `else-if`.
1396
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-switch.md
1397
+ */
1398
+ 'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
1399
+ /**
1400
+ * Prefer ternary expressions over simple `if-else` statements.
1401
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-ternary.md
1402
+ */
1403
+ 'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
1404
+ /**
1405
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-text-content
1406
+ * @deprecated
1407
+ */
1408
+ 'unicorn/prefer-text-content'?: Linter.RuleEntry<[]>
1409
+ /**
1410
+ * Prefer top-level await over top-level promises and async function calls.
1411
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-top-level-await.md
1412
+ */
1413
+ 'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
1414
+ /**
1415
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-trim-start-end
1416
+ * @deprecated
1417
+ */
1418
+ 'unicorn/prefer-trim-start-end'?: Linter.RuleEntry<[]>
1419
+ /**
1420
+ * Enforce throwing `TypeError` in type checking conditions.
1421
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-type-error.md
1422
+ */
1423
+ 'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
1424
+ /**
1425
+ * Prevent abbreviations.
1426
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prevent-abbreviations.md
1427
+ */
1428
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
1429
+ /**
1430
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#regex-shorthand
1431
+ * @deprecated
1432
+ */
1433
+ 'unicorn/regex-shorthand'?: Linter.RuleEntry<[]>
1434
+ /**
1435
+ * Enforce consistent relative URL style.
1436
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/relative-url-style.md
1437
+ */
1438
+ 'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
1439
+ /**
1440
+ * Enforce using the separator argument with `Array#join()`.
1441
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-array-join-separator.md
1442
+ */
1443
+ 'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
1444
+ /**
1445
+ * Enforce using the digits argument with `Number#toFixed()`.
1446
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-number-to-fixed-digits-argument.md
1447
+ */
1448
+ 'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
1449
+ /**
1450
+ * Enforce using the `targetOrigin` argument with `window.postMessage()`.
1451
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-post-message-target-origin.md
1452
+ */
1453
+ 'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
1454
+ /**
1455
+ * Enforce better string content.
1456
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/string-content.md
1457
+ */
1458
+ 'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
1459
+ /**
1460
+ * Enforce consistent brace style for `case` clauses.
1461
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/switch-case-braces.md
1462
+ */
1463
+ 'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
1464
+ /**
1465
+ * Fix whitespace-insensitive template indentation.
1466
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/template-indent.md
1467
+ */
1468
+ 'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
1469
+ /**
1470
+ * Enforce consistent case for text encoding identifiers.
1471
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/text-encoding-identifier-case.md
1472
+ */
1473
+ 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
1474
+ /**
1475
+ * Require `new` when creating an error.
1476
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/throw-new-error.md
1477
+ */
1478
+ 'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
1479
+ /**
1480
+ * require or disallow block style mappings.
1481
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping.html
1482
+ */
1483
+ 'yml/block-mapping'?: Linter.RuleEntry<YmlBlockMapping>
1484
+ /**
1485
+ * enforce consistent line breaks after `:` indicator
1486
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-colon-indicator-newline.html
1487
+ */
1488
+ 'yml/block-mapping-colon-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingColonIndicatorNewline>
1489
+ /**
1490
+ * enforce consistent line breaks after `?` indicator
1491
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-question-indicator-newline.html
1492
+ */
1493
+ 'yml/block-mapping-question-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingQuestionIndicatorNewline>
1494
+ /**
1495
+ * require or disallow block style sequences.
1496
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence.html
1497
+ */
1498
+ 'yml/block-sequence'?: Linter.RuleEntry<YmlBlockSequence>
1499
+ /**
1500
+ * enforce consistent line breaks after `-` indicator
1501
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence-hyphen-indicator-newline.html
1502
+ */
1503
+ 'yml/block-sequence-hyphen-indicator-newline'?: Linter.RuleEntry<YmlBlockSequenceHyphenIndicatorNewline>
1504
+ /**
1505
+ * enforce YAML file extension
1506
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/file-extension.html
1507
+ */
1508
+ 'yml/file-extension'?: Linter.RuleEntry<YmlFileExtension>
1509
+ /**
1510
+ * enforce consistent line breaks inside braces
1511
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-newline.html
1512
+ */
1513
+ 'yml/flow-mapping-curly-newline'?: Linter.RuleEntry<YmlFlowMappingCurlyNewline>
1514
+ /**
1515
+ * enforce consistent spacing inside braces
1516
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-spacing.html
1517
+ */
1518
+ 'yml/flow-mapping-curly-spacing'?: Linter.RuleEntry<YmlFlowMappingCurlySpacing>
1519
+ /**
1520
+ * enforce linebreaks after opening and before closing flow sequence brackets
1521
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-newline.html
1522
+ */
1523
+ 'yml/flow-sequence-bracket-newline'?: Linter.RuleEntry<YmlFlowSequenceBracketNewline>
1524
+ /**
1525
+ * enforce consistent spacing inside flow sequence brackets
1526
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-spacing.html
1527
+ */
1528
+ 'yml/flow-sequence-bracket-spacing'?: Linter.RuleEntry<YmlFlowSequenceBracketSpacing>
1529
+ /**
1530
+ * enforce consistent indentation
1531
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/indent.html
1532
+ */
1533
+ 'yml/indent'?: Linter.RuleEntry<YmlIndent>
1534
+ /**
1535
+ * enforce naming convention to key names
1536
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-name-casing.html
1537
+ */
1538
+ 'yml/key-name-casing'?: Linter.RuleEntry<YmlKeyNameCasing>
1539
+ /**
1540
+ * enforce consistent spacing between keys and values in mapping pairs
1541
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-spacing.html
1542
+ */
1543
+ 'yml/key-spacing'?: Linter.RuleEntry<YmlKeySpacing>
1544
+ /**
1545
+ * disallow empty document
1546
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-document.html
1547
+ */
1548
+ 'yml/no-empty-document'?: Linter.RuleEntry<[]>
1549
+ /**
1550
+ * disallow empty mapping keys
1551
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-key.html
1552
+ */
1553
+ 'yml/no-empty-key'?: Linter.RuleEntry<[]>
1554
+ /**
1555
+ * disallow empty mapping values
1556
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-mapping-value.html
1557
+ */
1558
+ 'yml/no-empty-mapping-value'?: Linter.RuleEntry<[]>
1559
+ /**
1560
+ * disallow empty sequence entries
1561
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-sequence-entry.html
1562
+ */
1563
+ 'yml/no-empty-sequence-entry'?: Linter.RuleEntry<[]>
1564
+ /**
1565
+ * disallow irregular whitespace
1566
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-irregular-whitespace.html
1567
+ */
1568
+ 'yml/no-irregular-whitespace'?: Linter.RuleEntry<YmlNoIrregularWhitespace>
1569
+ /**
1570
+ * disallow multiple empty lines
1571
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-multiple-empty-lines.html
1572
+ */
1573
+ 'yml/no-multiple-empty-lines'?: Linter.RuleEntry<YmlNoMultipleEmptyLines>
1574
+ /**
1575
+ * disallow tabs for indentation.
1576
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
1577
+ */
1578
+ 'yml/no-tab-indent'?: Linter.RuleEntry<[]>
1579
+ /**
1580
+ * disallow trailing zeros for floats
1581
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
1582
+ */
1583
+ 'yml/no-trailing-zeros'?: Linter.RuleEntry<[]>
1584
+ /**
1585
+ * require or disallow plain style scalar.
1586
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/plain-scalar.html
1587
+ */
1588
+ 'yml/plain-scalar'?: Linter.RuleEntry<YmlPlainScalar>
1589
+ /**
1590
+ * enforce the consistent use of either double, or single quotes
1591
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/quotes.html
1592
+ */
1593
+ 'yml/quotes'?: Linter.RuleEntry<YmlQuotes>
1594
+ /**
1595
+ * disallow mapping keys other than strings
1596
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/require-string-key.html
1597
+ */
1598
+ 'yml/require-string-key'?: Linter.RuleEntry<[]>
1599
+ /**
1600
+ * require mapping keys to be sorted
1601
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-keys.html
1602
+ */
1603
+ 'yml/sort-keys'?: Linter.RuleEntry<YmlSortKeys>
1604
+ /**
1605
+ * require sequence values to be sorted
1606
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-sequence-values.html
1607
+ */
1608
+ 'yml/sort-sequence-values'?: Linter.RuleEntry<YmlSortSequenceValues>
1609
+ /**
1610
+ * enforce consistent spacing after the `#` in a comment
1611
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/spaced-comment.html
1612
+ */
1613
+ 'yml/spaced-comment'?: Linter.RuleEntry<YmlSpacedComment>
1614
+ /**
1615
+ * disallow parsing errors in Vue custom blocks
1616
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/vue-custom-block/no-parsing-error.html
1617
+ */
1618
+ 'yml/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
1619
+ }
1620
+
1621
+ /* ======= Declarations ======= */
1622
+ // ----- @cspell/spellchecker -----
1623
+ type CspellSpellchecker = []|[{
1624
+
1625
+ autoFix: boolean
1626
+
1627
+ checkComments?: boolean
1628
+
1629
+ checkIdentifiers?: boolean
1630
+
1631
+ checkJSXText?: boolean
1632
+
1633
+ checkScope?: [string, boolean][]
1634
+
1635
+ checkStringTemplates?: boolean
1636
+
1637
+ checkStrings?: boolean
1638
+
1639
+ configFile?: string
1640
+
1641
+ cspell?: {
1642
+
1643
+ allowCompoundWords?: boolean
1644
+
1645
+ dictionaries?: (string | string)[]
1646
+ dictionaryDefinitions?: {
1647
+
1648
+ description?: string
1649
+
1650
+ name: string
1651
+
1652
+ noSuggest?: boolean
1653
+
1654
+ path: string
1655
+
1656
+ repMap?: [string, string][]
1657
+
1658
+ type?: ("S" | "W" | "C" | "T")
1659
+
1660
+ useCompounds?: boolean
1661
+ }[]
1662
+
1663
+ enabled?: boolean
1664
+
1665
+ flagWords?: string[]
1666
+
1667
+ ignoreRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
1668
+
1669
+ ignoreWords?: string[]
1670
+
1671
+ import?: (string | string[])
1672
+
1673
+ includeRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
1674
+
1675
+ language?: string
1676
+
1677
+ words?: string[]
1678
+ }
1679
+
1680
+ cspellOptionsRoot?: (string | string)
1681
+
1682
+ customWordListFile?: (string | {
1683
+
1684
+ path: string
1685
+ })
1686
+
1687
+ debugMode?: boolean
1688
+
1689
+ generateSuggestions: boolean
1690
+
1691
+ ignoreImportProperties?: boolean
1692
+
1693
+ ignoreImports?: boolean
1694
+
1695
+ numSuggestions: number
1696
+ }]
1697
+ // ----- @nx/dependency-checks -----
1698
+ type NxDependencyChecks = []|[{
1699
+ buildTargets?: string[]
1700
+ ignoredDependencies?: string[]
1701
+ ignoredFiles?: string[]
1702
+ checkMissingDependencies?: boolean
1703
+ checkObsoleteDependencies?: boolean
1704
+ checkVersionMismatches?: boolean
1705
+ includeTransitiveDependencies?: boolean
1706
+ useLocalPathsForWorkspaceDependencies?: boolean
1707
+ }]
1708
+ // ----- @nx/enforce-module-boundaries -----
1709
+ type NxEnforceModuleBoundaries = []|[{
1710
+ enforceBuildableLibDependency?: boolean
1711
+ allowCircularSelfDependency?: boolean
1712
+ checkDynamicDependenciesExceptions?: string[]
1713
+ banTransitiveDependencies?: boolean
1714
+ checkNestedExternalImports?: boolean
1715
+ allow?: string[]
1716
+ buildTargets?: string[]
1717
+ depConstraints?: ({
1718
+ sourceTag?: string
1719
+ onlyDependOnLibsWithTags?: string[]
1720
+ allowedExternalImports?: string[]
1721
+ bannedExternalImports?: string[]
1722
+ notDependOnLibsWithTags?: string[]
1723
+ } | {
1724
+
1725
+ allSourceTags?: [string, string, ...(string)[]]
1726
+ onlyDependOnLibsWithTags?: string[]
1727
+ allowedExternalImports?: string[]
1728
+ bannedExternalImports?: string[]
1729
+ notDependOnLibsWithTags?: string[]
1730
+ })[]
1731
+ }]
1732
+ // ----- @nx/nx-plugin-checks -----
1733
+ type NxNxPluginChecks = []|[{
1734
+
1735
+ generatorsJson?: string
1736
+
1737
+ executorsJson?: string
1738
+
1739
+ migrationsJson?: string
1740
+
1741
+ packageJson?: string
1742
+
1743
+ allowedVersionStrings?: string[]
1744
+ }]
1745
+ // ----- @typescript-eslint/array-type -----
1746
+ type TypescriptEslintArrayType = []|[{
1747
+
1748
+ default?: ("array" | "generic" | "array-simple")
1749
+
1750
+ readonly?: ("array" | "generic" | "array-simple")
1751
+ }]
1752
+ // ----- @typescript-eslint/ban-ts-comment -----
1753
+ type TypescriptEslintBanTsComment = []|[{
1754
+ "ts-expect-error"?: (boolean | "allow-with-description" | {
1755
+ descriptionFormat?: string
1756
+ })
1757
+ "ts-ignore"?: (boolean | "allow-with-description" | {
1758
+ descriptionFormat?: string
1759
+ })
1760
+ "ts-nocheck"?: (boolean | "allow-with-description" | {
1761
+ descriptionFormat?: string
1762
+ })
1763
+ "ts-check"?: (boolean | "allow-with-description" | {
1764
+ descriptionFormat?: string
1765
+ })
1766
+ minimumDescriptionLength?: number
1767
+ }]
1768
+ // ----- @typescript-eslint/ban-types -----
1769
+ type TypescriptEslintBanTypes = []|[{
1770
+ types?: {
1771
+ [k: string]: (null | false | true | string | {
1772
+
1773
+ message?: string
1774
+
1775
+ fixWith?: string
1776
+
1777
+ suggest?: string[]
1778
+ }) | undefined
1779
+ }
1780
+ extendDefaults?: boolean
1781
+ }]
1782
+ // ----- @typescript-eslint/block-spacing -----
1783
+ type TypescriptEslintBlockSpacing = []|[("always" | "never")]
1784
+ // ----- @typescript-eslint/brace-style -----
1785
+ type TypescriptEslintBraceStyle = []|[("1tbs" | "stroustrup" | "allman")]|[("1tbs" | "stroustrup" | "allman"), {
1786
+ allowSingleLine?: boolean
1787
+ }]
1788
+ // ----- @typescript-eslint/class-literal-property-style -----
1789
+ type TypescriptEslintClassLiteralPropertyStyle = []|[("fields" | "getters")]
1790
+ // ----- @typescript-eslint/class-methods-use-this -----
1791
+ type TypescriptEslintClassMethodsUseThis = []|[{
1792
+
1793
+ exceptMethods?: string[]
1794
+
1795
+ enforceForClassFields?: boolean
1796
+
1797
+ ignoreOverrideMethods?: boolean
1798
+
1799
+ ignoreClassesThatImplementAnInterface?: (boolean | "public-fields")
1800
+ }]
1801
+ // ----- @typescript-eslint/comma-dangle -----
1802
+ type TypescriptEslintCommaDangle = []|[(_TypescriptEslintCommaDangleValue | {
1803
+ arrays?: _TypescriptEslintCommaDangleValueWithIgnore
1804
+ objects?: _TypescriptEslintCommaDangleValueWithIgnore
1805
+ imports?: _TypescriptEslintCommaDangleValueWithIgnore
1806
+ exports?: _TypescriptEslintCommaDangleValueWithIgnore
1807
+ functions?: _TypescriptEslintCommaDangleValueWithIgnore
1808
+ enums?: _TypescriptEslintCommaDangleValueWithIgnore
1809
+ generics?: _TypescriptEslintCommaDangleValueWithIgnore
1810
+ tuples?: _TypescriptEslintCommaDangleValueWithIgnore
1811
+ })]
1812
+ type _TypescriptEslintCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
1813
+ type _TypescriptEslintCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore")
1814
+ // ----- @typescript-eslint/comma-spacing -----
1815
+ type TypescriptEslintCommaSpacing = []|[{
1816
+ before?: boolean
1817
+ after?: boolean
1818
+ }]
1819
+ // ----- @typescript-eslint/consistent-generic-constructors -----
1820
+ type TypescriptEslintConsistentGenericConstructors = []|[("type-annotation" | "constructor")]
1821
+ // ----- @typescript-eslint/consistent-indexed-object-style -----
1822
+ type TypescriptEslintConsistentIndexedObjectStyle = []|[("record" | "index-signature")]
1823
+ // ----- @typescript-eslint/consistent-return -----
1824
+ type TypescriptEslintConsistentReturn = []|[{
1825
+ treatUndefinedAsUnspecified?: boolean
1826
+ }]
1827
+ // ----- @typescript-eslint/consistent-type-assertions -----
1828
+ type TypescriptEslintConsistentTypeAssertions = []|[({
1829
+ assertionStyle: "never"
1830
+ } | {
1831
+ assertionStyle: ("as" | "angle-bracket")
1832
+ objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
1833
+ })]
1834
+ // ----- @typescript-eslint/consistent-type-definitions -----
1835
+ type TypescriptEslintConsistentTypeDefinitions = []|[("interface" | "type")]
1836
+ // ----- @typescript-eslint/consistent-type-exports -----
1837
+ type TypescriptEslintConsistentTypeExports = []|[{
1838
+ fixMixedExportsWithInlineTypeSpecifier?: boolean
1839
+ }]
1840
+ // ----- @typescript-eslint/consistent-type-imports -----
1841
+ type TypescriptEslintConsistentTypeImports = []|[{
1842
+ disallowTypeAnnotations?: boolean
1843
+ fixStyle?: ("separate-type-imports" | "inline-type-imports")
1844
+ prefer?: ("type-imports" | "no-type-imports")
1845
+ }]
1846
+ // ----- @typescript-eslint/dot-notation -----
1847
+ type TypescriptEslintDotNotation = []|[{
1848
+ allowKeywords?: boolean
1849
+ allowPattern?: string
1850
+ allowPrivateClassPropertyAccess?: boolean
1851
+ allowProtectedClassPropertyAccess?: boolean
1852
+ allowIndexSignaturePropertyAccess?: boolean
1853
+ }]
1854
+ // ----- @typescript-eslint/explicit-function-return-type -----
1855
+ type TypescriptEslintExplicitFunctionReturnType = []|[{
1856
+
1857
+ allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean
1858
+
1859
+ allowExpressions?: boolean
1860
+
1861
+ allowHigherOrderFunctions?: boolean
1862
+
1863
+ allowTypedFunctionExpressions?: boolean
1864
+
1865
+ allowDirectConstAssertionInArrowFunctions?: boolean
1866
+
1867
+ allowFunctionsWithoutTypeParameters?: boolean
1868
+
1869
+ allowedNames?: string[]
1870
+
1871
+ allowIIFEs?: boolean
1872
+ }]
1873
+ // ----- @typescript-eslint/explicit-member-accessibility -----
1874
+ type TypescriptEslintExplicitMemberAccessibility = []|[{
1875
+ accessibility?: ("explicit" | "no-public" | "off")
1876
+ overrides?: {
1877
+ accessors?: ("explicit" | "no-public" | "off")
1878
+ constructors?: ("explicit" | "no-public" | "off")
1879
+ methods?: ("explicit" | "no-public" | "off")
1880
+ properties?: ("explicit" | "no-public" | "off")
1881
+ parameterProperties?: ("explicit" | "no-public" | "off")
1882
+ }
1883
+ ignoredMethodNames?: string[]
1884
+ }]
1885
+ // ----- @typescript-eslint/explicit-module-boundary-types -----
1886
+ type TypescriptEslintExplicitModuleBoundaryTypes = []|[{
1887
+
1888
+ allowArgumentsExplicitlyTypedAsAny?: boolean
1889
+
1890
+ allowDirectConstAssertionInArrowFunctions?: boolean
1891
+
1892
+ allowedNames?: string[]
1893
+
1894
+ allowHigherOrderFunctions?: boolean
1895
+
1896
+ allowTypedFunctionExpressions?: boolean
1897
+ }]
1898
+ // ----- @typescript-eslint/func-call-spacing -----
1899
+ type TypescriptEslintFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
1900
+ allowNewlines?: boolean
1901
+ }])
1902
+ // ----- @typescript-eslint/indent -----
1903
+ type TypescriptEslintIndent = []|[("tab" | number)]|[("tab" | number), {
1904
+ SwitchCase?: number
1905
+ VariableDeclarator?: ((number | ("first" | "off")) | {
1906
+ var?: (number | ("first" | "off"))
1907
+ let?: (number | ("first" | "off"))
1908
+ const?: (number | ("first" | "off"))
1909
+ })
1910
+ outerIIFEBody?: (number | "off")
1911
+ MemberExpression?: (number | "off")
1912
+ FunctionDeclaration?: {
1913
+ parameters?: (number | ("first" | "off"))
1914
+ body?: number
1915
+ }
1916
+ FunctionExpression?: {
1917
+ parameters?: (number | ("first" | "off"))
1918
+ body?: number
1919
+ }
1920
+ StaticBlock?: {
1921
+ body?: number
1922
+ }
1923
+ CallExpression?: {
1924
+ arguments?: (number | ("first" | "off"))
1925
+ }
1926
+ ArrayExpression?: (number | ("first" | "off"))
1927
+ ObjectExpression?: (number | ("first" | "off"))
1928
+ ImportDeclaration?: (number | ("first" | "off"))
1929
+ flatTernaryExpressions?: boolean
1930
+ offsetTernaryExpressions?: boolean
1931
+ ignoredNodes?: string[]
1932
+ ignoreComments?: boolean
1933
+ }]
1934
+ // ----- @typescript-eslint/init-declarations -----
1935
+ type TypescriptEslintInitDeclarations = ([]|["always"] | []|["never"]|["never", {
1936
+ ignoreForLoopInit?: boolean
1937
+ }])
1938
+ // ----- @typescript-eslint/key-spacing -----
1939
+ type TypescriptEslintKeySpacing = []|[({
1940
+ align?: (("colon" | "value") | {
1941
+ mode?: ("strict" | "minimum")
1942
+ on?: ("colon" | "value")
1943
+ beforeColon?: boolean
1944
+ afterColon?: boolean
1945
+ })
1946
+ mode?: ("strict" | "minimum")
1947
+ beforeColon?: boolean
1948
+ afterColon?: boolean
1949
+ } | {
1950
+ singleLine?: {
1951
+ mode?: ("strict" | "minimum")
1952
+ beforeColon?: boolean
1953
+ afterColon?: boolean
1954
+ }
1955
+ multiLine?: {
1956
+ align?: (("colon" | "value") | {
1957
+ mode?: ("strict" | "minimum")
1958
+ on?: ("colon" | "value")
1959
+ beforeColon?: boolean
1960
+ afterColon?: boolean
1961
+ })
1962
+ mode?: ("strict" | "minimum")
1963
+ beforeColon?: boolean
1964
+ afterColon?: boolean
1965
+ }
1966
+ } | {
1967
+ singleLine?: {
1968
+ mode?: ("strict" | "minimum")
1969
+ beforeColon?: boolean
1970
+ afterColon?: boolean
1971
+ }
1972
+ multiLine?: {
1973
+ mode?: ("strict" | "minimum")
1974
+ beforeColon?: boolean
1975
+ afterColon?: boolean
1976
+ }
1977
+ align?: {
1978
+ mode?: ("strict" | "minimum")
1979
+ on?: ("colon" | "value")
1980
+ beforeColon?: boolean
1981
+ afterColon?: boolean
1982
+ }
1983
+ })]
1984
+ // ----- @typescript-eslint/keyword-spacing -----
1985
+ type TypescriptEslintKeywordSpacing = []|[{
1986
+ before?: boolean
1987
+ after?: boolean
1988
+ overrides?: {
1989
+ abstract?: {
1990
+ before?: boolean
1991
+ after?: boolean
1992
+ }
1993
+ as?: {
1994
+ before?: boolean
1995
+ after?: boolean
1996
+ }
1997
+ async?: {
1998
+ before?: boolean
1999
+ after?: boolean
2000
+ }
2001
+ await?: {
2002
+ before?: boolean
2003
+ after?: boolean
2004
+ }
2005
+ boolean?: {
2006
+ before?: boolean
2007
+ after?: boolean
2008
+ }
2009
+ break?: {
2010
+ before?: boolean
2011
+ after?: boolean
2012
+ }
2013
+ byte?: {
2014
+ before?: boolean
2015
+ after?: boolean
2016
+ }
2017
+ case?: {
2018
+ before?: boolean
2019
+ after?: boolean
2020
+ }
2021
+ catch?: {
2022
+ before?: boolean
2023
+ after?: boolean
2024
+ }
2025
+ char?: {
2026
+ before?: boolean
2027
+ after?: boolean
2028
+ }
2029
+ class?: {
2030
+ before?: boolean
2031
+ after?: boolean
2032
+ }
2033
+ const?: {
2034
+ before?: boolean
2035
+ after?: boolean
2036
+ }
2037
+ continue?: {
2038
+ before?: boolean
2039
+ after?: boolean
2040
+ }
2041
+ debugger?: {
2042
+ before?: boolean
2043
+ after?: boolean
2044
+ }
2045
+ default?: {
2046
+ before?: boolean
2047
+ after?: boolean
2048
+ }
2049
+ delete?: {
2050
+ before?: boolean
2051
+ after?: boolean
2052
+ }
2053
+ do?: {
2054
+ before?: boolean
2055
+ after?: boolean
2056
+ }
2057
+ double?: {
2058
+ before?: boolean
2059
+ after?: boolean
2060
+ }
2061
+ else?: {
2062
+ before?: boolean
2063
+ after?: boolean
2064
+ }
2065
+ enum?: {
2066
+ before?: boolean
2067
+ after?: boolean
2068
+ }
2069
+ export?: {
2070
+ before?: boolean
2071
+ after?: boolean
2072
+ }
2073
+ extends?: {
2074
+ before?: boolean
2075
+ after?: boolean
2076
+ }
2077
+ false?: {
2078
+ before?: boolean
2079
+ after?: boolean
2080
+ }
2081
+ final?: {
2082
+ before?: boolean
2083
+ after?: boolean
2084
+ }
2085
+ finally?: {
2086
+ before?: boolean
2087
+ after?: boolean
2088
+ }
2089
+ float?: {
2090
+ before?: boolean
2091
+ after?: boolean
2092
+ }
2093
+ for?: {
2094
+ before?: boolean
2095
+ after?: boolean
2096
+ }
2097
+ from?: {
2098
+ before?: boolean
2099
+ after?: boolean
2100
+ }
2101
+ function?: {
2102
+ before?: boolean
2103
+ after?: boolean
2104
+ }
2105
+ get?: {
2106
+ before?: boolean
2107
+ after?: boolean
2108
+ }
2109
+ goto?: {
2110
+ before?: boolean
2111
+ after?: boolean
2112
+ }
2113
+ if?: {
2114
+ before?: boolean
2115
+ after?: boolean
2116
+ }
2117
+ implements?: {
2118
+ before?: boolean
2119
+ after?: boolean
2120
+ }
2121
+ import?: {
2122
+ before?: boolean
2123
+ after?: boolean
2124
+ }
2125
+ in?: {
2126
+ before?: boolean
2127
+ after?: boolean
2128
+ }
2129
+ instanceof?: {
2130
+ before?: boolean
2131
+ after?: boolean
2132
+ }
2133
+ int?: {
2134
+ before?: boolean
2135
+ after?: boolean
2136
+ }
2137
+ interface?: {
2138
+ before?: boolean
2139
+ after?: boolean
2140
+ }
2141
+ let?: {
2142
+ before?: boolean
2143
+ after?: boolean
2144
+ }
2145
+ long?: {
2146
+ before?: boolean
2147
+ after?: boolean
2148
+ }
2149
+ native?: {
2150
+ before?: boolean
2151
+ after?: boolean
2152
+ }
2153
+ new?: {
2154
+ before?: boolean
2155
+ after?: boolean
2156
+ }
2157
+ null?: {
2158
+ before?: boolean
2159
+ after?: boolean
2160
+ }
2161
+ of?: {
2162
+ before?: boolean
2163
+ after?: boolean
2164
+ }
2165
+ package?: {
2166
+ before?: boolean
2167
+ after?: boolean
2168
+ }
2169
+ private?: {
2170
+ before?: boolean
2171
+ after?: boolean
2172
+ }
2173
+ protected?: {
2174
+ before?: boolean
2175
+ after?: boolean
2176
+ }
2177
+ public?: {
2178
+ before?: boolean
2179
+ after?: boolean
2180
+ }
2181
+ return?: {
2182
+ before?: boolean
2183
+ after?: boolean
2184
+ }
2185
+ set?: {
2186
+ before?: boolean
2187
+ after?: boolean
2188
+ }
2189
+ short?: {
2190
+ before?: boolean
2191
+ after?: boolean
2192
+ }
2193
+ static?: {
2194
+ before?: boolean
2195
+ after?: boolean
2196
+ }
2197
+ super?: {
2198
+ before?: boolean
2199
+ after?: boolean
2200
+ }
2201
+ switch?: {
2202
+ before?: boolean
2203
+ after?: boolean
2204
+ }
2205
+ synchronized?: {
2206
+ before?: boolean
2207
+ after?: boolean
2208
+ }
2209
+ this?: {
2210
+ before?: boolean
2211
+ after?: boolean
2212
+ }
2213
+ throw?: {
2214
+ before?: boolean
2215
+ after?: boolean
2216
+ }
2217
+ throws?: {
2218
+ before?: boolean
2219
+ after?: boolean
2220
+ }
2221
+ transient?: {
2222
+ before?: boolean
2223
+ after?: boolean
2224
+ }
2225
+ true?: {
2226
+ before?: boolean
2227
+ after?: boolean
2228
+ }
2229
+ try?: {
2230
+ before?: boolean
2231
+ after?: boolean
2232
+ }
2233
+ typeof?: {
2234
+ before?: boolean
2235
+ after?: boolean
2236
+ }
2237
+ var?: {
2238
+ before?: boolean
2239
+ after?: boolean
2240
+ }
2241
+ void?: {
2242
+ before?: boolean
2243
+ after?: boolean
2244
+ }
2245
+ volatile?: {
2246
+ before?: boolean
2247
+ after?: boolean
2248
+ }
2249
+ while?: {
2250
+ before?: boolean
2251
+ after?: boolean
2252
+ }
2253
+ with?: {
2254
+ before?: boolean
2255
+ after?: boolean
2256
+ }
2257
+ yield?: {
2258
+ before?: boolean
2259
+ after?: boolean
2260
+ }
2261
+ type?: {
2262
+ before?: boolean
2263
+ after?: boolean
2264
+ }
2265
+ }
2266
+ }]
2267
+ // ----- @typescript-eslint/lines-around-comment -----
2268
+ type TypescriptEslintLinesAroundComment = []|[{
2269
+ beforeBlockComment?: boolean
2270
+ afterBlockComment?: boolean
2271
+ beforeLineComment?: boolean
2272
+ afterLineComment?: boolean
2273
+ allowBlockStart?: boolean
2274
+ allowBlockEnd?: boolean
2275
+ allowClassStart?: boolean
2276
+ allowClassEnd?: boolean
2277
+ allowObjectStart?: boolean
2278
+ allowObjectEnd?: boolean
2279
+ allowArrayStart?: boolean
2280
+ allowArrayEnd?: boolean
2281
+ allowInterfaceStart?: boolean
2282
+ allowInterfaceEnd?: boolean
2283
+ allowTypeStart?: boolean
2284
+ allowTypeEnd?: boolean
2285
+ allowEnumStart?: boolean
2286
+ allowEnumEnd?: boolean
2287
+ allowModuleStart?: boolean
2288
+ allowModuleEnd?: boolean
2289
+ ignorePattern?: string
2290
+ applyDefaultIgnorePatterns?: boolean
2291
+ }]
2292
+ // ----- @typescript-eslint/lines-between-class-members -----
2293
+ type TypescriptEslintLinesBetweenClassMembers = []|[({
2294
+
2295
+ enforce: [{
2296
+ blankLine: ("always" | "never")
2297
+ prev: ("method" | "field" | "*")
2298
+ next: ("method" | "field" | "*")
2299
+ }, ...({
2300
+ blankLine: ("always" | "never")
2301
+ prev: ("method" | "field" | "*")
2302
+ next: ("method" | "field" | "*")
2303
+ })[]]
2304
+ } | ("always" | "never"))]|[({
2305
+
2306
+ enforce: [{
2307
+ blankLine: ("always" | "never")
2308
+ prev: ("method" | "field" | "*")
2309
+ next: ("method" | "field" | "*")
2310
+ }, ...({
2311
+ blankLine: ("always" | "never")
2312
+ prev: ("method" | "field" | "*")
2313
+ next: ("method" | "field" | "*")
2314
+ })[]]
2315
+ } | ("always" | "never")), {
2316
+ exceptAfterSingleLine?: boolean
2317
+ exceptAfterOverload?: boolean
2318
+ }]
2319
+ // ----- @typescript-eslint/max-params -----
2320
+ type TypescriptEslintMaxParams = []|[{
2321
+ maximum?: number
2322
+ max?: number
2323
+ countVoidThis?: boolean
2324
+ }]
2325
+ // ----- @typescript-eslint/member-delimiter-style -----
2326
+ type TypescriptEslintMemberDelimiterStyle = []|[{
2327
+ multiline?: {
2328
+ delimiter?: ("none" | "semi" | "comma")
2329
+ requireLast?: boolean
2330
+ }
2331
+ singleline?: {
2332
+ delimiter?: ("semi" | "comma")
2333
+ requireLast?: boolean
2334
+ }
2335
+ overrides?: {
2336
+ interface?: _TypescriptEslintMemberDelimiterStyle_DelimiterConfig
2337
+ typeLiteral?: _TypescriptEslintMemberDelimiterStyle_DelimiterConfig
2338
+ }
2339
+ multilineDetection?: ("brackets" | "last-member")
2340
+ }]
2341
+ interface _TypescriptEslintMemberDelimiterStyle_DelimiterConfig {
2342
+ multiline?: {
2343
+ delimiter?: ("none" | "semi" | "comma")
2344
+ requireLast?: boolean
2345
+ }
2346
+ singleline?: {
2347
+ delimiter?: ("semi" | "comma")
2348
+ requireLast?: boolean
2349
+ }
2350
+ }
2351
+ // ----- @typescript-eslint/member-ordering -----
2352
+ type TypescriptEslintMemberOrdering = []|[{
2353
+ 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")[])[] | {
2354
+ 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")
2355
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2356
+ optionalityOrder?: ("optional-first" | "required-first")
2357
+ })
2358
+ 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")[])[] | {
2359
+ 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")
2360
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2361
+ optionalityOrder?: ("optional-first" | "required-first")
2362
+ })
2363
+ 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")[])[] | {
2364
+ 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")
2365
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2366
+ optionalityOrder?: ("optional-first" | "required-first")
2367
+ })
2368
+ interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
2369
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
2370
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2371
+ optionalityOrder?: ("optional-first" | "required-first")
2372
+ })
2373
+ typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
2374
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
2375
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2376
+ optionalityOrder?: ("optional-first" | "required-first")
2377
+ })
2378
+ }]
2379
+ // ----- @typescript-eslint/method-signature-style -----
2380
+ type TypescriptEslintMethodSignatureStyle = []|[("property" | "method")]
2381
+ // ----- @typescript-eslint/naming-convention -----
2382
+ type _TypescriptEslintNamingConventionFormatOptionsConfig = (_TypescriptEslintNamingConventionPredefinedFormats[] | null)
2383
+ type _TypescriptEslintNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE")
2384
+ type _TypescriptEslintNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble")
2385
+ type _TypescriptEslintNamingConvention_PrefixSuffixConfig = string[]
2386
+ type _TypescriptEslintNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array")
2387
+ type TypescriptEslintNamingConvention = ({
2388
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2389
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2390
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2391
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2392
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2393
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2394
+ failureMessage?: string
2395
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2396
+ 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")[]
2397
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
2398
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2399
+ } | {
2400
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2401
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2402
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2403
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2404
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2405
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2406
+ failureMessage?: string
2407
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2408
+ selector: "default"
2409
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
2410
+ } | {
2411
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2412
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2413
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2414
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2415
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2416
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2417
+ failureMessage?: string
2418
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2419
+ selector: "variableLike"
2420
+ modifiers?: ("unused" | "async")[]
2421
+ } | {
2422
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2423
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2424
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2425
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2426
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2427
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2428
+ failureMessage?: string
2429
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2430
+ selector: "variable"
2431
+ modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[]
2432
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2433
+ } | {
2434
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2435
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2436
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2437
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2438
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2439
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2440
+ failureMessage?: string
2441
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2442
+ selector: "function"
2443
+ modifiers?: ("exported" | "global" | "unused" | "async")[]
2444
+ } | {
2445
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2446
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2447
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2448
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2449
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2450
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2451
+ failureMessage?: string
2452
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2453
+ selector: "parameter"
2454
+ modifiers?: ("destructured" | "unused")[]
2455
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2456
+ } | {
2457
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2458
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2459
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2460
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2461
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2462
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2463
+ failureMessage?: string
2464
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2465
+ selector: "memberLike"
2466
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
2467
+ } | {
2468
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2469
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2470
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2471
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2472
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2473
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2474
+ failureMessage?: string
2475
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2476
+ selector: "classProperty"
2477
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[]
2478
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2479
+ } | {
2480
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2481
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2482
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2483
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2484
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2485
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2486
+ failureMessage?: string
2487
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2488
+ selector: "objectLiteralProperty"
2489
+ modifiers?: ("public" | "requiresQuotes")[]
2490
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2491
+ } | {
2492
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2493
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2494
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2495
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2496
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2497
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2498
+ failureMessage?: string
2499
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2500
+ selector: "typeProperty"
2501
+ modifiers?: ("public" | "readonly" | "requiresQuotes")[]
2502
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2503
+ } | {
2504
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2505
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2506
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2507
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2508
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2509
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2510
+ failureMessage?: string
2511
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2512
+ selector: "parameterProperty"
2513
+ modifiers?: ("private" | "protected" | "public" | "readonly")[]
2514
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2515
+ } | {
2516
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2517
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2518
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2519
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2520
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2521
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2522
+ failureMessage?: string
2523
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2524
+ selector: "property"
2525
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
2526
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2527
+ } | {
2528
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2529
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2530
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2531
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2532
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2533
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2534
+ failureMessage?: string
2535
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2536
+ selector: "classMethod"
2537
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
2538
+ } | {
2539
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2540
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2541
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2542
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2543
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2544
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2545
+ failureMessage?: string
2546
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2547
+ selector: "objectLiteralMethod"
2548
+ modifiers?: ("public" | "requiresQuotes" | "async")[]
2549
+ } | {
2550
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2551
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2552
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2553
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2554
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2555
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2556
+ failureMessage?: string
2557
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2558
+ selector: "typeMethod"
2559
+ modifiers?: ("public" | "requiresQuotes")[]
2560
+ } | {
2561
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2562
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2563
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2564
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2565
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2566
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2567
+ failureMessage?: string
2568
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2569
+ selector: "method"
2570
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
2571
+ } | {
2572
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2573
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2574
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2575
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2576
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2577
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2578
+ failureMessage?: string
2579
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2580
+ selector: "classicAccessor"
2581
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2582
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2583
+ } | {
2584
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2585
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2586
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2587
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2588
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2589
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2590
+ failureMessage?: string
2591
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2592
+ selector: "autoAccessor"
2593
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2594
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2595
+ } | {
2596
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2597
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2598
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2599
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2600
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2601
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2602
+ failureMessage?: string
2603
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2604
+ selector: "accessor"
2605
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2606
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2607
+ } | {
2608
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2609
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2610
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2611
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2612
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2613
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2614
+ failureMessage?: string
2615
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2616
+ selector: "enumMember"
2617
+ modifiers?: ("requiresQuotes")[]
2618
+ } | {
2619
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2620
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2621
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2622
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2623
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2624
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2625
+ failureMessage?: string
2626
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2627
+ selector: "typeLike"
2628
+ modifiers?: ("abstract" | "exported" | "unused")[]
2629
+ } | {
2630
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2631
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2632
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2633
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2634
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2635
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2636
+ failureMessage?: string
2637
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2638
+ selector: "class"
2639
+ modifiers?: ("abstract" | "exported" | "unused")[]
2640
+ } | {
2641
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2642
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2643
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2644
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2645
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2646
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2647
+ failureMessage?: string
2648
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2649
+ selector: "interface"
2650
+ modifiers?: ("exported" | "unused")[]
2651
+ } | {
2652
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2653
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2654
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2655
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2656
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2657
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2658
+ failureMessage?: string
2659
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2660
+ selector: "typeAlias"
2661
+ modifiers?: ("exported" | "unused")[]
2662
+ } | {
2663
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2664
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2665
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2666
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2667
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2668
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2669
+ failureMessage?: string
2670
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2671
+ selector: "enum"
2672
+ modifiers?: ("exported" | "unused")[]
2673
+ } | {
2674
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2675
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2676
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2677
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2678
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2679
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2680
+ failureMessage?: string
2681
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2682
+ selector: "typeParameter"
2683
+ modifiers?: ("unused")[]
2684
+ } | {
2685
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2686
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2687
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2688
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2689
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2690
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2691
+ failureMessage?: string
2692
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2693
+ selector: "import"
2694
+ modifiers?: ("default" | "namespace")[]
2695
+ })[]
2696
+ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
2697
+ match: boolean
2698
+ regex: string
2699
+ }
2700
+ // ----- @typescript-eslint/no-base-to-string -----
2701
+ type TypescriptEslintNoBaseToString = []|[{
2702
+ ignoredTypeNames?: string[]
2703
+ }]
2704
+ // ----- @typescript-eslint/no-confusing-void-expression -----
2705
+ type TypescriptEslintNoConfusingVoidExpression = []|[{
2706
+ ignoreArrowShorthand?: boolean
2707
+ ignoreVoidOperator?: boolean
2708
+ }]
2709
+ // ----- @typescript-eslint/no-duplicate-type-constituents -----
2710
+ type TypescriptEslintNoDuplicateTypeConstituents = []|[{
2711
+ ignoreIntersections?: boolean
2712
+ ignoreUnions?: boolean
2713
+ }]
2714
+ // ----- @typescript-eslint/no-empty-function -----
2715
+ type TypescriptEslintNoEmptyFunction = []|[{
2716
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[]
2717
+ }]
2718
+ // ----- @typescript-eslint/no-empty-interface -----
2719
+ type TypescriptEslintNoEmptyInterface = []|[{
2720
+ allowSingleExtends?: boolean
2721
+ }]
2722
+ // ----- @typescript-eslint/no-empty-object-type -----
2723
+ type TypescriptEslintNoEmptyObjectType = []|[{
2724
+ allowInterfaces?: ("always" | "never" | "with-single-extends")
2725
+ allowObjectTypes?: ("always" | "in-type-alias-with-name" | "never")
2726
+ allowWithName?: string
2727
+ }]
2728
+ // ----- @typescript-eslint/no-explicit-any -----
2729
+ type TypescriptEslintNoExplicitAny = []|[{
2730
+
2731
+ fixToUnknown?: boolean
2732
+
2733
+ ignoreRestArgs?: boolean
2734
+ }]
2735
+ // ----- @typescript-eslint/no-extra-parens -----
2736
+ type TypescriptEslintNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
2737
+ conditionalAssign?: boolean
2738
+ ternaryOperandBinaryExpressions?: boolean
2739
+ nestedBinaryExpressions?: boolean
2740
+ returnAssign?: boolean
2741
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line")
2742
+ enforceForArrowConditionals?: boolean
2743
+ enforceForSequenceExpressions?: boolean
2744
+ enforceForNewInMemberExpressions?: boolean
2745
+ enforceForFunctionPrototypeMethods?: boolean
2746
+ allowParensAfterCommentPattern?: string
2747
+ }])
2748
+ // ----- @typescript-eslint/no-extraneous-class -----
2749
+ type TypescriptEslintNoExtraneousClass = []|[{
2750
+
2751
+ allowConstructorOnly?: boolean
2752
+
2753
+ allowEmpty?: boolean
2754
+
2755
+ allowStaticOnly?: boolean
2756
+
2757
+ allowWithDecorator?: boolean
2758
+ }]
2759
+ // ----- @typescript-eslint/no-floating-promises -----
2760
+ type TypescriptEslintNoFloatingPromises = []|[{
2761
+ allowForKnownSafePromises?: (string | {
2762
+ from: "file"
2763
+ name: (string | [string, ...(string)[]])
2764
+ path?: string
2765
+ } | {
2766
+ from: "lib"
2767
+ name: (string | [string, ...(string)[]])
2768
+ } | {
2769
+ from: "package"
2770
+ name: (string | [string, ...(string)[]])
2771
+ package: string
2772
+ })[]
2773
+
2774
+ checkThenables?: boolean
2775
+
2776
+ ignoreVoid?: boolean
2777
+
2778
+ ignoreIIFE?: boolean
2779
+ }]
2780
+ // ----- @typescript-eslint/no-inferrable-types -----
2781
+ type TypescriptEslintNoInferrableTypes = []|[{
2782
+ ignoreParameters?: boolean
2783
+ ignoreProperties?: boolean
2784
+ }]
2785
+ // ----- @typescript-eslint/no-invalid-this -----
2786
+ type TypescriptEslintNoInvalidThis = []|[{
2787
+ capIsConstructor?: boolean
2788
+ }]
2789
+ // ----- @typescript-eslint/no-invalid-void-type -----
2790
+ type TypescriptEslintNoInvalidVoidType = []|[{
2791
+ allowInGenericTypeArguments?: (boolean | [string, ...(string)[]])
2792
+ allowAsThisParameter?: boolean
2793
+ }]
2794
+ // ----- @typescript-eslint/no-magic-numbers -----
2795
+ type TypescriptEslintNoMagicNumbers = []|[{
2796
+ detectObjects?: boolean
2797
+ enforceConst?: boolean
2798
+ ignore?: (number | string)[]
2799
+ ignoreArrayIndexes?: boolean
2800
+ ignoreDefaultValues?: boolean
2801
+ ignoreClassFieldInitialValues?: boolean
2802
+ ignoreNumericLiteralTypes?: boolean
2803
+ ignoreEnums?: boolean
2804
+ ignoreReadonlyClassProperties?: boolean
2805
+ ignoreTypeIndexes?: boolean
2806
+ }]
2807
+ // ----- @typescript-eslint/no-meaningless-void-operator -----
2808
+ type TypescriptEslintNoMeaninglessVoidOperator = []|[{
2809
+ checkNever?: boolean
2810
+ }]
2811
+ // ----- @typescript-eslint/no-misused-promises -----
2812
+ type TypescriptEslintNoMisusedPromises = []|[{
2813
+ checksConditionals?: boolean
2814
+ checksVoidReturn?: (boolean | {
2815
+ arguments?: boolean
2816
+ attributes?: boolean
2817
+ properties?: boolean
2818
+ returns?: boolean
2819
+ variables?: boolean
2820
+ })
2821
+ checksSpreads?: boolean
2822
+ }]
2823
+ // ----- @typescript-eslint/no-namespace -----
2824
+ type TypescriptEslintNoNamespace = []|[{
2825
+
2826
+ allowDeclarations?: boolean
2827
+
2828
+ allowDefinitionFiles?: boolean
2829
+ }]
2830
+ // ----- @typescript-eslint/no-redeclare -----
2831
+ type TypescriptEslintNoRedeclare = []|[{
2832
+ builtinGlobals?: boolean
2833
+ ignoreDeclarationMerge?: boolean
2834
+ }]
2835
+ // ----- @typescript-eslint/no-require-imports -----
2836
+ type TypescriptEslintNoRequireImports = []|[{
2837
+
2838
+ allow?: string[]
2839
+ }]
2840
+ // ----- @typescript-eslint/no-restricted-imports -----
2841
+ type TypescriptEslintNoRestrictedImports = ((string | {
2842
+ name: string
2843
+ message?: string
2844
+ importNames?: string[]
2845
+ allowImportNames?: string[]
2846
+
2847
+ allowTypeImports?: boolean
2848
+ })[] | []|[{
2849
+ paths?: (string | {
2850
+ name: string
2851
+ message?: string
2852
+ importNames?: string[]
2853
+ allowImportNames?: string[]
2854
+
2855
+ allowTypeImports?: boolean
2856
+ })[]
2857
+ patterns?: (string[] | {
2858
+
2859
+ importNames?: [string, ...(string)[]]
2860
+
2861
+ allowImportNames?: [string, ...(string)[]]
2862
+
2863
+ group: [string, ...(string)[]]
2864
+ importNamePattern?: string
2865
+ allowImportNamePattern?: string
2866
+ message?: string
2867
+ caseSensitive?: boolean
2868
+
2869
+ allowTypeImports?: boolean
2870
+ }[])
2871
+ }])
2872
+ // ----- @typescript-eslint/no-shadow -----
2873
+ type TypescriptEslintNoShadow = []|[{
2874
+ builtinGlobals?: boolean
2875
+ hoist?: ("all" | "functions" | "never")
2876
+ allow?: string[]
2877
+ ignoreOnInitialization?: boolean
2878
+ ignoreTypeValueShadow?: boolean
2879
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
2880
+ }]
2881
+ // ----- @typescript-eslint/no-this-alias -----
2882
+ type TypescriptEslintNoThisAlias = []|[{
2883
+
2884
+ allowDestructuring?: boolean
2885
+
2886
+ allowedNames?: string[]
2887
+ }]
2888
+ // ----- @typescript-eslint/no-throw-literal -----
2889
+ type TypescriptEslintNoThrowLiteral = []|[{
2890
+ allowThrowingAny?: boolean
2891
+ allowThrowingUnknown?: boolean
2892
+ }]
2893
+ // ----- @typescript-eslint/no-type-alias -----
2894
+ type TypescriptEslintNoTypeAlias = []|[{
2895
+
2896
+ allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2897
+
2898
+ allowCallbacks?: ("always" | "never")
2899
+
2900
+ allowConditionalTypes?: ("always" | "never")
2901
+
2902
+ allowConstructors?: ("always" | "never")
2903
+
2904
+ allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2905
+
2906
+ allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2907
+
2908
+ allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2909
+
2910
+ allowGenerics?: ("always" | "never")
2911
+ }]
2912
+ // ----- @typescript-eslint/no-unnecessary-boolean-literal-compare -----
2913
+ type TypescriptEslintNoUnnecessaryBooleanLiteralCompare = []|[{
2914
+
2915
+ allowComparingNullableBooleansToTrue?: boolean
2916
+
2917
+ allowComparingNullableBooleansToFalse?: boolean
2918
+ }]
2919
+ // ----- @typescript-eslint/no-unnecessary-condition -----
2920
+ type TypescriptEslintNoUnnecessaryCondition = []|[{
2921
+
2922
+ allowConstantLoopConditions?: boolean
2923
+
2924
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
2925
+ }]
2926
+ // ----- @typescript-eslint/no-unnecessary-type-assertion -----
2927
+ type TypescriptEslintNoUnnecessaryTypeAssertion = []|[{
2928
+
2929
+ typesToIgnore?: string[]
2930
+ }]
2931
+ // ----- @typescript-eslint/no-unused-expressions -----
2932
+ type TypescriptEslintNoUnusedExpressions = []|[{
2933
+ allowShortCircuit?: boolean
2934
+ allowTernary?: boolean
2935
+ allowTaggedTemplates?: boolean
2936
+ enforceForJSX?: boolean
2937
+ }]
2938
+ // ----- @typescript-eslint/no-unused-vars -----
2939
+ type TypescriptEslintNoUnusedVars = []|[(("all" | "local") | {
2940
+ vars?: ("all" | "local")
2941
+ varsIgnorePattern?: string
2942
+ args?: ("all" | "after-used" | "none")
2943
+ ignoreRestSiblings?: boolean
2944
+ argsIgnorePattern?: string
2945
+ caughtErrors?: ("all" | "none")
2946
+ caughtErrorsIgnorePattern?: string
2947
+ destructuredArrayIgnorePattern?: string
2948
+ })]
2949
+ // ----- @typescript-eslint/no-use-before-define -----
2950
+ type TypescriptEslintNoUseBeforeDefine = []|[("nofunc" | {
2951
+ functions?: boolean
2952
+ classes?: boolean
2953
+ enums?: boolean
2954
+ variables?: boolean
2955
+ typedefs?: boolean
2956
+ ignoreTypeReferences?: boolean
2957
+ allowNamedExports?: boolean
2958
+ })]
2959
+ // ----- @typescript-eslint/no-var-requires -----
2960
+ type TypescriptEslintNoVarRequires = []|[{
2961
+
2962
+ allow?: string[]
2963
+ }]
2964
+ // ----- @typescript-eslint/object-curly-spacing -----
2965
+ type TypescriptEslintObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
2966
+ arraysInObjects?: boolean
2967
+ objectsInObjects?: boolean
2968
+ }]
2969
+ // ----- @typescript-eslint/only-throw-error -----
2970
+ type TypescriptEslintOnlyThrowError = []|[{
2971
+ allowThrowingAny?: boolean
2972
+ allowThrowingUnknown?: boolean
2973
+ }]
2974
+ // ----- @typescript-eslint/padding-line-between-statements -----
2975
+ type _TypescriptEslintPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
2976
+ type _TypescriptEslintPaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "interface" | "type") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "interface" | "type"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "interface" | "type"))[]])
2977
+ type TypescriptEslintPaddingLineBetweenStatements = {
2978
+ blankLine: _TypescriptEslintPaddingLineBetweenStatementsPaddingType
2979
+ prev: _TypescriptEslintPaddingLineBetweenStatementsStatementType
2980
+ next: _TypescriptEslintPaddingLineBetweenStatementsStatementType
2981
+ }[]
2982
+ // ----- @typescript-eslint/parameter-properties -----
2983
+ type TypescriptEslintParameterProperties = []|[{
2984
+ allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[]
2985
+ prefer?: ("class-property" | "parameter-property")
2986
+ }]
2987
+ // ----- @typescript-eslint/prefer-destructuring -----
2988
+ type TypescriptEslintPreferDestructuring = []|[({
2989
+ VariableDeclarator?: {
2990
+ array?: boolean
2991
+ object?: boolean
2992
+ }
2993
+ AssignmentExpression?: {
2994
+ array?: boolean
2995
+ object?: boolean
2996
+ }
2997
+ } | {
2998
+ array?: boolean
2999
+ object?: boolean
3000
+ })]|[({
3001
+ VariableDeclarator?: {
3002
+ array?: boolean
3003
+ object?: boolean
3004
+ }
3005
+ AssignmentExpression?: {
3006
+ array?: boolean
3007
+ object?: boolean
3008
+ }
3009
+ } | {
3010
+ array?: boolean
3011
+ object?: boolean
3012
+ }), {
3013
+ enforceForRenamedProperties?: boolean
3014
+ enforceForDeclarationWithTypeAnnotation?: boolean
3015
+ [k: string]: unknown | undefined
3016
+ }]
3017
+ // ----- @typescript-eslint/prefer-literal-enum-member -----
3018
+ type TypescriptEslintPreferLiteralEnumMember = []|[{
3019
+ allowBitwiseExpressions?: boolean
3020
+ }]
3021
+ // ----- @typescript-eslint/prefer-nullish-coalescing -----
3022
+ type TypescriptEslintPreferNullishCoalescing = []|[{
3023
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3024
+ ignoreConditionalTests?: boolean
3025
+ ignoreMixedLogicalExpressions?: boolean
3026
+ ignorePrimitives?: ({
3027
+ bigint?: boolean
3028
+ boolean?: boolean
3029
+ number?: boolean
3030
+ string?: boolean
3031
+ [k: string]: unknown | undefined
3032
+ } | true)
3033
+ ignoreTernaryTests?: boolean
3034
+ }]
3035
+ // ----- @typescript-eslint/prefer-optional-chain -----
3036
+ type TypescriptEslintPreferOptionalChain = []|[{
3037
+
3038
+ checkAny?: boolean
3039
+
3040
+ checkUnknown?: boolean
3041
+
3042
+ checkString?: boolean
3043
+
3044
+ checkNumber?: boolean
3045
+
3046
+ checkBoolean?: boolean
3047
+
3048
+ checkBigInt?: boolean
3049
+
3050
+ requireNullish?: boolean
3051
+
3052
+ allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean
3053
+ }]
3054
+ // ----- @typescript-eslint/prefer-promise-reject-errors -----
3055
+ type TypescriptEslintPreferPromiseRejectErrors = []|[{
3056
+ allowEmptyReject?: boolean
3057
+ }]
3058
+ // ----- @typescript-eslint/prefer-readonly -----
3059
+ type TypescriptEslintPreferReadonly = []|[{
3060
+ onlyInlineLambdas?: boolean
3061
+ }]
3062
+ // ----- @typescript-eslint/prefer-readonly-parameter-types -----
3063
+ type TypescriptEslintPreferReadonlyParameterTypes = []|[{
3064
+ allow?: (string | {
3065
+ from: "file"
3066
+ name: (string | [string, ...(string)[]])
3067
+ path?: string
3068
+ } | {
3069
+ from: "lib"
3070
+ name: (string | [string, ...(string)[]])
3071
+ } | {
3072
+ from: "package"
3073
+ name: (string | [string, ...(string)[]])
3074
+ package: string
3075
+ })[]
3076
+ checkParameterProperties?: boolean
3077
+ ignoreInferredTypes?: boolean
3078
+ treatMethodsAsReadonly?: boolean
3079
+ }]
3080
+ // ----- @typescript-eslint/prefer-string-starts-ends-with -----
3081
+ type TypescriptEslintPreferStringStartsEndsWith = []|[{
3082
+
3083
+ allowSingleElementEquality?: ("always" | "never")
3084
+ }]
3085
+ // ----- @typescript-eslint/promise-function-async -----
3086
+ type TypescriptEslintPromiseFunctionAsync = []|[{
3087
+
3088
+ allowAny?: boolean
3089
+
3090
+ allowedPromiseNames?: string[]
3091
+ checkArrowFunctions?: boolean
3092
+ checkFunctionDeclarations?: boolean
3093
+ checkFunctionExpressions?: boolean
3094
+ checkMethodDeclarations?: boolean
3095
+ }]
3096
+ // ----- @typescript-eslint/quotes -----
3097
+ type TypescriptEslintQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
3098
+ avoidEscape?: boolean
3099
+ allowTemplateLiterals?: boolean
3100
+ })]
3101
+ // ----- @typescript-eslint/require-array-sort-compare -----
3102
+ type TypescriptEslintRequireArraySortCompare = []|[{
3103
+
3104
+ ignoreStringArrays?: boolean
3105
+ }]
3106
+ // ----- @typescript-eslint/restrict-plus-operands -----
3107
+ type TypescriptEslintRestrictPlusOperands = []|[{
3108
+
3109
+ allowAny?: boolean
3110
+
3111
+ allowBoolean?: boolean
3112
+
3113
+ allowNullish?: boolean
3114
+
3115
+ allowNumberAndString?: boolean
3116
+
3117
+ allowRegExp?: boolean
3118
+
3119
+ skipCompoundAssignments?: boolean
3120
+ }]
3121
+ // ----- @typescript-eslint/restrict-template-expressions -----
3122
+ type TypescriptEslintRestrictTemplateExpressions = []|[{
3123
+
3124
+ allowAny?: boolean
3125
+
3126
+ allowArray?: boolean
3127
+
3128
+ allowBoolean?: boolean
3129
+
3130
+ allowNullish?: boolean
3131
+
3132
+ allowNumber?: boolean
3133
+
3134
+ allowRegExp?: boolean
3135
+
3136
+ allowNever?: boolean
3137
+ }]
3138
+ // ----- @typescript-eslint/return-await -----
3139
+ type TypescriptEslintReturnAwait = []|[("in-try-catch" | "always" | "never")]
3140
+ // ----- @typescript-eslint/semi -----
3141
+ type TypescriptEslintSemi = ([]|["never"]|["never", {
3142
+ beforeStatementContinuationChars?: ("always" | "any" | "never")
3143
+ }] | []|["always"]|["always", {
3144
+ omitLastInOneLineBlock?: boolean
3145
+ omitLastInOneLineClassBody?: boolean
3146
+ }])
3147
+ // ----- @typescript-eslint/sort-type-constituents -----
3148
+ type TypescriptEslintSortTypeConstituents = []|[{
3149
+
3150
+ checkIntersections?: boolean
3151
+
3152
+ checkUnions?: boolean
3153
+
3154
+ caseSensitive?: boolean
3155
+
3156
+ groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[]
3157
+ }]
3158
+ // ----- @typescript-eslint/space-before-blocks -----
3159
+ type TypescriptEslintSpaceBeforeBlocks = []|[(("always" | "never") | {
3160
+ keywords?: ("always" | "never" | "off")
3161
+ functions?: ("always" | "never" | "off")
3162
+ classes?: ("always" | "never" | "off")
3163
+ })]
3164
+ // ----- @typescript-eslint/space-before-function-paren -----
3165
+ type TypescriptEslintSpaceBeforeFunctionParen = []|[(("always" | "never") | {
3166
+ anonymous?: ("always" | "never" | "ignore")
3167
+ named?: ("always" | "never" | "ignore")
3168
+ asyncArrow?: ("always" | "never" | "ignore")
3169
+ })]
3170
+ // ----- @typescript-eslint/space-infix-ops -----
3171
+ type TypescriptEslintSpaceInfixOps = []|[{
3172
+ int32Hint?: boolean
3173
+ }]
3174
+ // ----- @typescript-eslint/strict-boolean-expressions -----
3175
+ type TypescriptEslintStrictBooleanExpressions = []|[{
3176
+ allowString?: boolean
3177
+ allowNumber?: boolean
3178
+ allowNullableObject?: boolean
3179
+ allowNullableBoolean?: boolean
3180
+ allowNullableString?: boolean
3181
+ allowNullableNumber?: boolean
3182
+ allowNullableEnum?: boolean
3183
+ allowAny?: boolean
3184
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3185
+ }]
3186
+ // ----- @typescript-eslint/switch-exhaustiveness-check -----
3187
+ type TypescriptEslintSwitchExhaustivenessCheck = []|[{
3188
+
3189
+ allowDefaultCaseForExhaustiveSwitch?: boolean
3190
+
3191
+ requireDefaultForNonUnion?: boolean
3192
+ }]
3193
+ // ----- @typescript-eslint/triple-slash-reference -----
3194
+ type TypescriptEslintTripleSlashReference = []|[{
3195
+ lib?: ("always" | "never")
3196
+ path?: ("always" | "never")
3197
+ types?: ("always" | "never" | "prefer-import")
3198
+ }]
3199
+ // ----- @typescript-eslint/type-annotation-spacing -----
3200
+ type TypescriptEslintTypeAnnotationSpacing = []|[{
3201
+ before?: boolean
3202
+ after?: boolean
3203
+ overrides?: {
3204
+ colon?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3205
+ arrow?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3206
+ variable?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3207
+ parameter?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3208
+ property?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3209
+ returnType?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3210
+ }
3211
+ }]
3212
+ interface _TypescriptEslintTypeAnnotationSpacing_SpacingConfig {
3213
+ before?: boolean
3214
+ after?: boolean
3215
+ }
3216
+ // ----- @typescript-eslint/typedef -----
3217
+ type TypescriptEslintTypedef = []|[{
3218
+ arrayDestructuring?: boolean
3219
+ arrowParameter?: boolean
3220
+ memberVariableDeclaration?: boolean
3221
+ objectDestructuring?: boolean
3222
+ parameter?: boolean
3223
+ propertyDeclaration?: boolean
3224
+ variableDeclaration?: boolean
3225
+ variableDeclarationIgnoreFunction?: boolean
3226
+ }]
3227
+ // ----- @typescript-eslint/unbound-method -----
3228
+ type TypescriptEslintUnboundMethod = []|[{
3229
+
3230
+ ignoreStatic?: boolean
3231
+ }]
3232
+ // ----- @typescript-eslint/unified-signatures -----
3233
+ type TypescriptEslintUnifiedSignatures = []|[{
3234
+
3235
+ ignoreDifferentlyNamedParameters?: boolean
3236
+ }]
3237
+ // ----- banner/banner -----
3238
+ type BannerBanner = []|[{
3239
+
3240
+ banner?: string
3241
+
3242
+ repositoryName?: string
3243
+
3244
+ commentType?: string
3245
+
3246
+ numNewlines?: number
3247
+ }]
3248
+ // ----- prettier/prettier -----
3249
+ type PrettierPrettier = []|[{
3250
+ [k: string]: unknown | undefined
3251
+ }]|[{
3252
+ [k: string]: unknown | undefined
3253
+ }, {
3254
+ usePrettierrc?: boolean
3255
+ fileInfoOptions?: {
3256
+ [k: string]: unknown | undefined
3257
+ }
3258
+ [k: string]: unknown | undefined
3259
+ }]
3260
+ // ----- unicorn/better-regex -----
3261
+ type UnicornBetterRegex = []|[{
3262
+ sortCharacterClasses?: boolean
3263
+ }]
3264
+ // ----- unicorn/catch-error-name -----
3265
+ type UnicornCatchErrorName = []|[{
3266
+ name?: string
3267
+ ignore?: unknown[]
3268
+ }]
3269
+ // ----- unicorn/consistent-function-scoping -----
3270
+ type UnicornConsistentFunctionScoping = []|[{
3271
+ checkArrowFunctions?: boolean
3272
+ }]
3273
+ // ----- unicorn/expiring-todo-comments -----
3274
+ type UnicornExpiringTodoComments = []|[{
3275
+ terms?: string[]
3276
+ ignore?: unknown[]
3277
+ ignoreDatesOnPullRequests?: boolean
3278
+ allowWarningComments?: boolean
3279
+ date?: string
3280
+ }]
3281
+ // ----- unicorn/explicit-length-check -----
3282
+ type UnicornExplicitLengthCheck = []|[{
3283
+ "non-zero"?: ("greater-than" | "not-equal")
3284
+ }]
3285
+ // ----- unicorn/filename-case -----
3286
+ type UnicornFilenameCase = []|[({
3287
+ case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase")
3288
+ ignore?: unknown[]
3289
+ multipleFileExtensions?: boolean
3290
+ } | {
3291
+ cases?: {
3292
+ camelCase?: boolean
3293
+ snakeCase?: boolean
3294
+ kebabCase?: boolean
3295
+ pascalCase?: boolean
3296
+ }
3297
+ ignore?: unknown[]
3298
+ multipleFileExtensions?: boolean
3299
+ })]
3300
+ // ----- unicorn/import-style -----
3301
+ type UnicornImportStyle = []|[{
3302
+ checkImport?: boolean
3303
+ checkDynamicImport?: boolean
3304
+ checkExportFrom?: boolean
3305
+ checkRequire?: boolean
3306
+ extendDefaultStyles?: boolean
3307
+ styles?: _UnicornImportStyle_ModuleStyles
3308
+ }]
3309
+ type _UnicornImportStyleStyles = (false | _UnicornImportStyle_BooleanObject) | undefined
3310
+ interface _UnicornImportStyle_ModuleStyles {
3311
+ [k: string]: _UnicornImportStyleStyles | undefined
3312
+ }
3313
+ interface _UnicornImportStyle_BooleanObject {
3314
+ [k: string]: boolean | undefined
3315
+ }
3316
+ // ----- unicorn/no-array-push-push -----
3317
+ type UnicornNoArrayPushPush = []|[{
3318
+ ignore?: unknown[]
3319
+ }]
3320
+ // ----- unicorn/no-array-reduce -----
3321
+ type UnicornNoArrayReduce = []|[{
3322
+ allowSimpleOperations?: boolean
3323
+ }]
3324
+ // ----- unicorn/no-keyword-prefix -----
3325
+ type UnicornNoKeywordPrefix = []|[{
3326
+
3327
+ disallowedPrefixes?: []|[string]
3328
+ checkProperties?: boolean
3329
+ onlyCamelCase?: boolean
3330
+ }]
3331
+ // ----- unicorn/no-null -----
3332
+ type UnicornNoNull = []|[{
3333
+ checkStrictEquality?: boolean
3334
+ }]
3335
+ // ----- unicorn/no-typeof-undefined -----
3336
+ type UnicornNoTypeofUndefined = []|[{
3337
+ checkGlobalVariables?: boolean
3338
+ }]
3339
+ // ----- unicorn/no-unnecessary-polyfills -----
3340
+ type UnicornNoUnnecessaryPolyfills = []|[{
3341
+ targets: (string | unknown[] | {
3342
+ [k: string]: unknown | undefined
3343
+ })
3344
+ }]
3345
+ // ----- unicorn/no-useless-undefined -----
3346
+ type UnicornNoUselessUndefined = []|[{
3347
+ checkArguments?: boolean
3348
+ checkArrowFunctionBody?: boolean
3349
+ }]
3350
+ // ----- unicorn/numeric-separators-style -----
3351
+ type UnicornNumericSeparatorsStyle = []|[{
3352
+ binary?: {
3353
+ onlyIfContainsSeparator?: boolean
3354
+ minimumDigits?: number
3355
+ groupLength?: number
3356
+ }
3357
+ octal?: {
3358
+ onlyIfContainsSeparator?: boolean
3359
+ minimumDigits?: number
3360
+ groupLength?: number
3361
+ }
3362
+ hexadecimal?: {
3363
+ onlyIfContainsSeparator?: boolean
3364
+ minimumDigits?: number
3365
+ groupLength?: number
3366
+ }
3367
+ number?: {
3368
+ onlyIfContainsSeparator?: boolean
3369
+ minimumDigits?: number
3370
+ groupLength?: number
3371
+ }
3372
+ onlyIfContainsSeparator?: boolean
3373
+ }]
3374
+ // ----- unicorn/prefer-add-event-listener -----
3375
+ type UnicornPreferAddEventListener = []|[{
3376
+ excludedPackages?: string[]
3377
+ }]
3378
+ // ----- unicorn/prefer-array-find -----
3379
+ type UnicornPreferArrayFind = []|[{
3380
+ checkFromLast?: boolean
3381
+ }]
3382
+ // ----- unicorn/prefer-array-flat -----
3383
+ type UnicornPreferArrayFlat = []|[{
3384
+ functions?: unknown[]
3385
+ }]
3386
+ // ----- unicorn/prefer-at -----
3387
+ type UnicornPreferAt = []|[{
3388
+ getLastElementFunctions?: unknown[]
3389
+ checkAllIndexAccess?: boolean
3390
+ }]
3391
+ // ----- unicorn/prefer-export-from -----
3392
+ type UnicornPreferExportFrom = []|[{
3393
+ ignoreUsedVariables?: boolean
3394
+ }]
3395
+ // ----- unicorn/prefer-number-properties -----
3396
+ type UnicornPreferNumberProperties = []|[{
3397
+ checkInfinity?: boolean
3398
+ checkNaN?: boolean
3399
+ }]
3400
+ // ----- unicorn/prefer-object-from-entries -----
3401
+ type UnicornPreferObjectFromEntries = []|[{
3402
+ functions?: unknown[]
3403
+ }]
3404
+ // ----- unicorn/prefer-structured-clone -----
3405
+ type UnicornPreferStructuredClone = []|[{
3406
+ functions?: unknown[]
3407
+ }]
3408
+ // ----- unicorn/prefer-switch -----
3409
+ type UnicornPreferSwitch = []|[{
3410
+ minimumCases?: number
3411
+ emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case")
3412
+ }]
3413
+ // ----- unicorn/prefer-ternary -----
3414
+ type UnicornPreferTernary = []|[("always" | "only-single-line")]
3415
+ // ----- unicorn/prevent-abbreviations -----
3416
+ type UnicornPreventAbbreviations = []|[{
3417
+ checkProperties?: boolean
3418
+ checkVariables?: boolean
3419
+ checkDefaultAndNamespaceImports?: (boolean | string)
3420
+ checkShorthandImports?: (boolean | string)
3421
+ checkShorthandProperties?: boolean
3422
+ checkFilenames?: boolean
3423
+ extendDefaultReplacements?: boolean
3424
+ replacements?: _UnicornPreventAbbreviations_Abbreviations
3425
+ extendDefaultAllowList?: boolean
3426
+ allowList?: _UnicornPreventAbbreviations_BooleanObject
3427
+ ignore?: unknown[]
3428
+ }]
3429
+ type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined
3430
+ interface _UnicornPreventAbbreviations_Abbreviations {
3431
+ [k: string]: _UnicornPreventAbbreviationsReplacements | undefined
3432
+ }
3433
+ interface _UnicornPreventAbbreviations_BooleanObject {
3434
+ [k: string]: boolean | undefined
3435
+ }
3436
+ // ----- unicorn/relative-url-style -----
3437
+ type UnicornRelativeUrlStyle = []|[("never" | "always")]
3438
+ // ----- unicorn/string-content -----
3439
+ type UnicornStringContent = []|[{
3440
+ patterns?: {
3441
+ [k: string]: (string | {
3442
+ suggest: string
3443
+ fix?: boolean
3444
+ message?: string
3445
+ }) | undefined
3446
+ }
3447
+ }]
3448
+ // ----- unicorn/switch-case-braces -----
3449
+ type UnicornSwitchCaseBraces = []|[("always" | "avoid")]
3450
+ // ----- unicorn/template-indent -----
3451
+ type UnicornTemplateIndent = []|[{
3452
+ indent?: (string | number)
3453
+ tags?: string[]
3454
+ functions?: string[]
3455
+ selectors?: string[]
3456
+ comments?: string[]
326
3457
  }]
327
3458
  // ----- yml/block-mapping -----
328
3459
  type YmlBlockMapping = []|[(("always" | "never") | {