@bfra.me/eslint-config 0.1.0

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/src/types.d.ts ADDED
@@ -0,0 +1,3903 @@
1
+ // This file is generated by scripts/generate-types.ts
2
+ // Do not edit this file directly.
3
+
4
+ /* eslint-disable */
5
+ import type { Linter } from 'eslint'
6
+
7
+ export interface Rules {
8
+ /**
9
+ * Require that function overload signatures be consecutive
10
+ * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
11
+ */
12
+ '@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>
13
+ /**
14
+ * Require consistently using either `T[]` or `Array<T>` for arrays
15
+ * @see https://typescript-eslint.io/rules/array-type
16
+ */
17
+ '@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>
18
+ /**
19
+ * Disallow awaiting a value that is not a Thenable
20
+ * @see https://typescript-eslint.io/rules/await-thenable
21
+ */
22
+ '@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>
23
+ /**
24
+ * Disallow `@ts-<directive>` comments or require descriptions after directives
25
+ * @see https://typescript-eslint.io/rules/ban-ts-comment
26
+ */
27
+ '@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>
28
+ /**
29
+ * Disallow `// tslint:<rule-flag>` comments
30
+ * @see https://typescript-eslint.io/rules/ban-tslint-comment
31
+ */
32
+ '@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>
33
+ /**
34
+ * Enforce that literals on classes are exposed in a consistent style
35
+ * @see https://typescript-eslint.io/rules/class-literal-property-style
36
+ */
37
+ '@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>
38
+ /**
39
+ * Enforce that class methods utilize `this`
40
+ * @see https://typescript-eslint.io/rules/class-methods-use-this
41
+ */
42
+ '@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>
43
+ /**
44
+ * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
45
+ * @see https://typescript-eslint.io/rules/consistent-generic-constructors
46
+ */
47
+ '@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>
48
+ /**
49
+ * Require or disallow the `Record` type
50
+ * @see https://typescript-eslint.io/rules/consistent-indexed-object-style
51
+ */
52
+ '@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>
53
+ /**
54
+ * Require `return` statements to either always or never specify values
55
+ * @see https://typescript-eslint.io/rules/consistent-return
56
+ */
57
+ '@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>
58
+ /**
59
+ * Enforce consistent usage of type assertions
60
+ * @see https://typescript-eslint.io/rules/consistent-type-assertions
61
+ */
62
+ '@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>
63
+ /**
64
+ * Enforce type definitions to consistently use either `interface` or `type`
65
+ * @see https://typescript-eslint.io/rules/consistent-type-definitions
66
+ */
67
+ '@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeDefinitions>
68
+ /**
69
+ * Enforce consistent usage of type exports
70
+ * @see https://typescript-eslint.io/rules/consistent-type-exports
71
+ */
72
+ '@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>
73
+ /**
74
+ * Enforce consistent usage of type imports
75
+ * @see https://typescript-eslint.io/rules/consistent-type-imports
76
+ */
77
+ '@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>
78
+ /**
79
+ * Enforce default parameters to be last
80
+ * @see https://typescript-eslint.io/rules/default-param-last
81
+ */
82
+ '@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>
83
+ /**
84
+ * Enforce dot notation whenever possible
85
+ * @see https://typescript-eslint.io/rules/dot-notation
86
+ */
87
+ '@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>
88
+ /**
89
+ * Require explicit return types on functions and class methods
90
+ * @see https://typescript-eslint.io/rules/explicit-function-return-type
91
+ */
92
+ '@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>
93
+ /**
94
+ * Require explicit accessibility modifiers on class properties and methods
95
+ * @see https://typescript-eslint.io/rules/explicit-member-accessibility
96
+ */
97
+ '@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>
98
+ /**
99
+ * Require explicit return and argument types on exported functions' and classes' public class methods
100
+ * @see https://typescript-eslint.io/rules/explicit-module-boundary-types
101
+ */
102
+ '@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>
103
+ /**
104
+ * Require or disallow initialization in variable declarations
105
+ * @see https://typescript-eslint.io/rules/init-declarations
106
+ */
107
+ '@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>
108
+ /**
109
+ * Enforce a maximum number of parameters in function definitions
110
+ * @see https://typescript-eslint.io/rules/max-params
111
+ */
112
+ '@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>
113
+ /**
114
+ * Require a consistent member declaration order
115
+ * @see https://typescript-eslint.io/rules/member-ordering
116
+ */
117
+ '@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>
118
+ /**
119
+ * Enforce using a particular method signature syntax
120
+ * @see https://typescript-eslint.io/rules/method-signature-style
121
+ */
122
+ '@typescript-eslint/method-signature-style'?: Linter.RuleEntry<TypescriptEslintMethodSignatureStyle>
123
+ /**
124
+ * Enforce naming conventions for everything across a codebase
125
+ * @see https://typescript-eslint.io/rules/naming-convention
126
+ */
127
+ '@typescript-eslint/naming-convention'?: Linter.RuleEntry<TypescriptEslintNamingConvention>
128
+ /**
129
+ * Disallow generic `Array` constructors
130
+ * @see https://typescript-eslint.io/rules/no-array-constructor
131
+ */
132
+ '@typescript-eslint/no-array-constructor'?: Linter.RuleEntry<[]>
133
+ /**
134
+ * Disallow using the `delete` operator on array values
135
+ * @see https://typescript-eslint.io/rules/no-array-delete
136
+ */
137
+ '@typescript-eslint/no-array-delete'?: Linter.RuleEntry<[]>
138
+ /**
139
+ * Require `.toString()` to only be called on objects which provide useful information when stringified
140
+ * @see https://typescript-eslint.io/rules/no-base-to-string
141
+ */
142
+ '@typescript-eslint/no-base-to-string'?: Linter.RuleEntry<TypescriptEslintNoBaseToString>
143
+ /**
144
+ * Disallow non-null assertion in locations that may be confusing
145
+ * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
146
+ */
147
+ '@typescript-eslint/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]>
148
+ /**
149
+ * Require expressions of type void to appear in statement position
150
+ * @see https://typescript-eslint.io/rules/no-confusing-void-expression
151
+ */
152
+ '@typescript-eslint/no-confusing-void-expression'?: Linter.RuleEntry<TypescriptEslintNoConfusingVoidExpression>
153
+ /**
154
+ * Disallow using code marked as `@deprecated`
155
+ * @see https://typescript-eslint.io/rules/no-deprecated
156
+ */
157
+ '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<[]>
158
+ /**
159
+ * Disallow duplicate class members
160
+ * @see https://typescript-eslint.io/rules/no-dupe-class-members
161
+ */
162
+ '@typescript-eslint/no-dupe-class-members'?: Linter.RuleEntry<[]>
163
+ /**
164
+ * Disallow duplicate enum member values
165
+ * @see https://typescript-eslint.io/rules/no-duplicate-enum-values
166
+ */
167
+ '@typescript-eslint/no-duplicate-enum-values'?: Linter.RuleEntry<[]>
168
+ /**
169
+ * Disallow duplicate constituents of union or intersection types
170
+ * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
171
+ */
172
+ '@typescript-eslint/no-duplicate-type-constituents'?: Linter.RuleEntry<TypescriptEslintNoDuplicateTypeConstituents>
173
+ /**
174
+ * Disallow using the `delete` operator on computed key expressions
175
+ * @see https://typescript-eslint.io/rules/no-dynamic-delete
176
+ */
177
+ '@typescript-eslint/no-dynamic-delete'?: Linter.RuleEntry<[]>
178
+ /**
179
+ * Disallow empty functions
180
+ * @see https://typescript-eslint.io/rules/no-empty-function
181
+ */
182
+ '@typescript-eslint/no-empty-function'?: Linter.RuleEntry<TypescriptEslintNoEmptyFunction>
183
+ /**
184
+ * Disallow the declaration of empty interfaces
185
+ * @see https://typescript-eslint.io/rules/no-empty-interface
186
+ * @deprecated
187
+ */
188
+ '@typescript-eslint/no-empty-interface'?: Linter.RuleEntry<TypescriptEslintNoEmptyInterface>
189
+ /**
190
+ * Disallow accidentally using the "empty object" type
191
+ * @see https://typescript-eslint.io/rules/no-empty-object-type
192
+ */
193
+ '@typescript-eslint/no-empty-object-type'?: Linter.RuleEntry<TypescriptEslintNoEmptyObjectType>
194
+ /**
195
+ * Disallow the `any` type
196
+ * @see https://typescript-eslint.io/rules/no-explicit-any
197
+ */
198
+ '@typescript-eslint/no-explicit-any'?: Linter.RuleEntry<TypescriptEslintNoExplicitAny>
199
+ /**
200
+ * Disallow extra non-null assertions
201
+ * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
202
+ */
203
+ '@typescript-eslint/no-extra-non-null-assertion'?: Linter.RuleEntry<[]>
204
+ /**
205
+ * Disallow classes used as namespaces
206
+ * @see https://typescript-eslint.io/rules/no-extraneous-class
207
+ */
208
+ '@typescript-eslint/no-extraneous-class'?: Linter.RuleEntry<TypescriptEslintNoExtraneousClass>
209
+ /**
210
+ * Require Promise-like statements to be handled appropriately
211
+ * @see https://typescript-eslint.io/rules/no-floating-promises
212
+ */
213
+ '@typescript-eslint/no-floating-promises'?: Linter.RuleEntry<TypescriptEslintNoFloatingPromises>
214
+ /**
215
+ * Disallow iterating over an array with a for-in loop
216
+ * @see https://typescript-eslint.io/rules/no-for-in-array
217
+ */
218
+ '@typescript-eslint/no-for-in-array'?: Linter.RuleEntry<[]>
219
+ /**
220
+ * Disallow the use of `eval()`-like methods
221
+ * @see https://typescript-eslint.io/rules/no-implied-eval
222
+ */
223
+ '@typescript-eslint/no-implied-eval'?: Linter.RuleEntry<[]>
224
+ /**
225
+ * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
226
+ * @see https://typescript-eslint.io/rules/no-import-type-side-effects
227
+ */
228
+ '@typescript-eslint/no-import-type-side-effects'?: Linter.RuleEntry<[]>
229
+ /**
230
+ * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
231
+ * @see https://typescript-eslint.io/rules/no-inferrable-types
232
+ */
233
+ '@typescript-eslint/no-inferrable-types'?: Linter.RuleEntry<TypescriptEslintNoInferrableTypes>
234
+ /**
235
+ * Disallow `this` keywords outside of classes or class-like objects
236
+ * @see https://typescript-eslint.io/rules/no-invalid-this
237
+ */
238
+ '@typescript-eslint/no-invalid-this'?: Linter.RuleEntry<TypescriptEslintNoInvalidThis>
239
+ /**
240
+ * Disallow `void` type outside of generic or return types
241
+ * @see https://typescript-eslint.io/rules/no-invalid-void-type
242
+ */
243
+ '@typescript-eslint/no-invalid-void-type'?: Linter.RuleEntry<TypescriptEslintNoInvalidVoidType>
244
+ /**
245
+ * Disallow function declarations that contain unsafe references inside loop statements
246
+ * @see https://typescript-eslint.io/rules/no-loop-func
247
+ */
248
+ '@typescript-eslint/no-loop-func'?: Linter.RuleEntry<[]>
249
+ /**
250
+ * Disallow literal numbers that lose precision
251
+ * @see https://typescript-eslint.io/rules/no-loss-of-precision
252
+ * @deprecated
253
+ */
254
+ '@typescript-eslint/no-loss-of-precision'?: Linter.RuleEntry<[]>
255
+ /**
256
+ * Disallow magic numbers
257
+ * @see https://typescript-eslint.io/rules/no-magic-numbers
258
+ */
259
+ '@typescript-eslint/no-magic-numbers'?: Linter.RuleEntry<TypescriptEslintNoMagicNumbers>
260
+ /**
261
+ * Disallow the `void` operator except when used to discard a value
262
+ * @see https://typescript-eslint.io/rules/no-meaningless-void-operator
263
+ */
264
+ '@typescript-eslint/no-meaningless-void-operator'?: Linter.RuleEntry<TypescriptEslintNoMeaninglessVoidOperator>
265
+ /**
266
+ * Enforce valid definition of `new` and `constructor`
267
+ * @see https://typescript-eslint.io/rules/no-misused-new
268
+ */
269
+ '@typescript-eslint/no-misused-new'?: Linter.RuleEntry<[]>
270
+ /**
271
+ * Disallow Promises in places not designed to handle them
272
+ * @see https://typescript-eslint.io/rules/no-misused-promises
273
+ */
274
+ '@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>
275
+ /**
276
+ * Disallow enums from having both number and string members
277
+ * @see https://typescript-eslint.io/rules/no-mixed-enums
278
+ */
279
+ '@typescript-eslint/no-mixed-enums'?: Linter.RuleEntry<[]>
280
+ /**
281
+ * Disallow TypeScript namespaces
282
+ * @see https://typescript-eslint.io/rules/no-namespace
283
+ */
284
+ '@typescript-eslint/no-namespace'?: Linter.RuleEntry<TypescriptEslintNoNamespace>
285
+ /**
286
+ * Disallow non-null assertions in the left operand of a nullish coalescing operator
287
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
288
+ */
289
+ '@typescript-eslint/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]>
290
+ /**
291
+ * Disallow non-null assertions after an optional chain expression
292
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
293
+ */
294
+ '@typescript-eslint/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]>
295
+ /**
296
+ * Disallow non-null assertions using the `!` postfix operator
297
+ * @see https://typescript-eslint.io/rules/no-non-null-assertion
298
+ */
299
+ '@typescript-eslint/no-non-null-assertion'?: Linter.RuleEntry<[]>
300
+ /**
301
+ * Disallow variable redeclaration
302
+ * @see https://typescript-eslint.io/rules/no-redeclare
303
+ */
304
+ '@typescript-eslint/no-redeclare'?: Linter.RuleEntry<TypescriptEslintNoRedeclare>
305
+ /**
306
+ * Disallow members of unions and intersections that do nothing or override type information
307
+ * @see https://typescript-eslint.io/rules/no-redundant-type-constituents
308
+ */
309
+ '@typescript-eslint/no-redundant-type-constituents'?: Linter.RuleEntry<[]>
310
+ /**
311
+ * Disallow invocation of `require()`
312
+ * @see https://typescript-eslint.io/rules/no-require-imports
313
+ */
314
+ '@typescript-eslint/no-require-imports'?: Linter.RuleEntry<TypescriptEslintNoRequireImports>
315
+ /**
316
+ * Disallow specified modules when loaded by `import`
317
+ * @see https://typescript-eslint.io/rules/no-restricted-imports
318
+ */
319
+ '@typescript-eslint/no-restricted-imports'?: Linter.RuleEntry<TypescriptEslintNoRestrictedImports>
320
+ /**
321
+ * Disallow certain types
322
+ * @see https://typescript-eslint.io/rules/no-restricted-types
323
+ */
324
+ '@typescript-eslint/no-restricted-types'?: Linter.RuleEntry<TypescriptEslintNoRestrictedTypes>
325
+ /**
326
+ * Disallow variable declarations from shadowing variables declared in the outer scope
327
+ * @see https://typescript-eslint.io/rules/no-shadow
328
+ */
329
+ '@typescript-eslint/no-shadow'?: Linter.RuleEntry<TypescriptEslintNoShadow>
330
+ /**
331
+ * Disallow aliasing `this`
332
+ * @see https://typescript-eslint.io/rules/no-this-alias
333
+ */
334
+ '@typescript-eslint/no-this-alias'?: Linter.RuleEntry<TypescriptEslintNoThisAlias>
335
+ /**
336
+ * Disallow type aliases
337
+ * @see https://typescript-eslint.io/rules/no-type-alias
338
+ * @deprecated
339
+ */
340
+ '@typescript-eslint/no-type-alias'?: Linter.RuleEntry<TypescriptEslintNoTypeAlias>
341
+ /**
342
+ * Disallow unnecessary equality comparisons against boolean literals
343
+ * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
344
+ */
345
+ '@typescript-eslint/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryBooleanLiteralCompare>
346
+ /**
347
+ * Disallow conditionals where the type is always truthy or always falsy
348
+ * @see https://typescript-eslint.io/rules/no-unnecessary-condition
349
+ */
350
+ '@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryCondition>
351
+ /**
352
+ * Disallow unnecessary assignment of constructor property parameter
353
+ * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
354
+ */
355
+ '@typescript-eslint/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]>
356
+ /**
357
+ * Disallow unnecessary namespace qualifiers
358
+ * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
359
+ */
360
+ '@typescript-eslint/no-unnecessary-qualifier'?: Linter.RuleEntry<[]>
361
+ /**
362
+ * Disallow unnecessary template expressions
363
+ * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
364
+ */
365
+ '@typescript-eslint/no-unnecessary-template-expression'?: Linter.RuleEntry<[]>
366
+ /**
367
+ * Disallow type arguments that are equal to the default
368
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
369
+ */
370
+ '@typescript-eslint/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]>
371
+ /**
372
+ * Disallow type assertions that do not change the type of an expression
373
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
374
+ */
375
+ '@typescript-eslint/no-unnecessary-type-assertion'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryTypeAssertion>
376
+ /**
377
+ * Disallow unnecessary constraints on generic types
378
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
379
+ */
380
+ '@typescript-eslint/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
381
+ /**
382
+ * Disallow type parameters that aren't used multiple times
383
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
384
+ */
385
+ '@typescript-eslint/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
386
+ /**
387
+ * Disallow calling a function with a value with type `any`
388
+ * @see https://typescript-eslint.io/rules/no-unsafe-argument
389
+ */
390
+ '@typescript-eslint/no-unsafe-argument'?: Linter.RuleEntry<[]>
391
+ /**
392
+ * Disallow assigning a value with type `any` to variables and properties
393
+ * @see https://typescript-eslint.io/rules/no-unsafe-assignment
394
+ */
395
+ '@typescript-eslint/no-unsafe-assignment'?: Linter.RuleEntry<[]>
396
+ /**
397
+ * Disallow calling a value with type `any`
398
+ * @see https://typescript-eslint.io/rules/no-unsafe-call
399
+ */
400
+ '@typescript-eslint/no-unsafe-call'?: Linter.RuleEntry<[]>
401
+ /**
402
+ * Disallow unsafe declaration merging
403
+ * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
404
+ */
405
+ '@typescript-eslint/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>
406
+ /**
407
+ * Disallow comparing an enum value with a non-enum value
408
+ * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
409
+ */
410
+ '@typescript-eslint/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]>
411
+ /**
412
+ * Disallow using the unsafe built-in Function type
413
+ * @see https://typescript-eslint.io/rules/no-unsafe-function-type
414
+ */
415
+ '@typescript-eslint/no-unsafe-function-type'?: Linter.RuleEntry<[]>
416
+ /**
417
+ * Disallow member access on a value with type `any`
418
+ * @see https://typescript-eslint.io/rules/no-unsafe-member-access
419
+ */
420
+ '@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<[]>
421
+ /**
422
+ * Disallow returning a value with type `any` from a function
423
+ * @see https://typescript-eslint.io/rules/no-unsafe-return
424
+ */
425
+ '@typescript-eslint/no-unsafe-return'?: Linter.RuleEntry<[]>
426
+ /**
427
+ * Require unary negation to take a number
428
+ * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
429
+ */
430
+ '@typescript-eslint/no-unsafe-unary-minus'?: Linter.RuleEntry<[]>
431
+ /**
432
+ * Disallow unused expressions
433
+ * @see https://typescript-eslint.io/rules/no-unused-expressions
434
+ */
435
+ '@typescript-eslint/no-unused-expressions'?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>
436
+ /**
437
+ * Disallow unused variables
438
+ * @see https://typescript-eslint.io/rules/no-unused-vars
439
+ */
440
+ '@typescript-eslint/no-unused-vars'?: Linter.RuleEntry<TypescriptEslintNoUnusedVars>
441
+ /**
442
+ * Disallow the use of variables before they are defined
443
+ * @see https://typescript-eslint.io/rules/no-use-before-define
444
+ */
445
+ '@typescript-eslint/no-use-before-define'?: Linter.RuleEntry<TypescriptEslintNoUseBeforeDefine>
446
+ /**
447
+ * Disallow unnecessary constructors
448
+ * @see https://typescript-eslint.io/rules/no-useless-constructor
449
+ */
450
+ '@typescript-eslint/no-useless-constructor'?: Linter.RuleEntry<[]>
451
+ /**
452
+ * Disallow empty exports that don't change anything in a module file
453
+ * @see https://typescript-eslint.io/rules/no-useless-empty-export
454
+ */
455
+ '@typescript-eslint/no-useless-empty-export'?: Linter.RuleEntry<[]>
456
+ /**
457
+ * Disallow `require` statements except in import statements
458
+ * @see https://typescript-eslint.io/rules/no-var-requires
459
+ * @deprecated
460
+ */
461
+ '@typescript-eslint/no-var-requires'?: Linter.RuleEntry<TypescriptEslintNoVarRequires>
462
+ /**
463
+ * Disallow using confusing built-in primitive class wrappers
464
+ * @see https://typescript-eslint.io/rules/no-wrapper-object-types
465
+ */
466
+ '@typescript-eslint/no-wrapper-object-types'?: Linter.RuleEntry<[]>
467
+ /**
468
+ * Enforce non-null assertions over explicit type casts
469
+ * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
470
+ */
471
+ '@typescript-eslint/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>
472
+ /**
473
+ * Disallow throwing non-`Error` values as exceptions
474
+ * @see https://typescript-eslint.io/rules/only-throw-error
475
+ */
476
+ '@typescript-eslint/only-throw-error'?: Linter.RuleEntry<TypescriptEslintOnlyThrowError>
477
+ /**
478
+ * Require or disallow parameter properties in class constructors
479
+ * @see https://typescript-eslint.io/rules/parameter-properties
480
+ */
481
+ '@typescript-eslint/parameter-properties'?: Linter.RuleEntry<TypescriptEslintParameterProperties>
482
+ /**
483
+ * Enforce the use of `as const` over literal type
484
+ * @see https://typescript-eslint.io/rules/prefer-as-const
485
+ */
486
+ '@typescript-eslint/prefer-as-const'?: Linter.RuleEntry<[]>
487
+ /**
488
+ * Require destructuring from arrays and/or objects
489
+ * @see https://typescript-eslint.io/rules/prefer-destructuring
490
+ */
491
+ '@typescript-eslint/prefer-destructuring'?: Linter.RuleEntry<TypescriptEslintPreferDestructuring>
492
+ /**
493
+ * Require each enum member value to be explicitly initialized
494
+ * @see https://typescript-eslint.io/rules/prefer-enum-initializers
495
+ */
496
+ '@typescript-eslint/prefer-enum-initializers'?: Linter.RuleEntry<[]>
497
+ /**
498
+ * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
499
+ * @see https://typescript-eslint.io/rules/prefer-find
500
+ */
501
+ '@typescript-eslint/prefer-find'?: Linter.RuleEntry<[]>
502
+ /**
503
+ * Enforce the use of `for-of` loop over the standard `for` loop where possible
504
+ * @see https://typescript-eslint.io/rules/prefer-for-of
505
+ */
506
+ '@typescript-eslint/prefer-for-of'?: Linter.RuleEntry<[]>
507
+ /**
508
+ * Enforce using function types instead of interfaces with call signatures
509
+ * @see https://typescript-eslint.io/rules/prefer-function-type
510
+ */
511
+ '@typescript-eslint/prefer-function-type'?: Linter.RuleEntry<[]>
512
+ /**
513
+ * Enforce `includes` method over `indexOf` method
514
+ * @see https://typescript-eslint.io/rules/prefer-includes
515
+ */
516
+ '@typescript-eslint/prefer-includes'?: Linter.RuleEntry<[]>
517
+ /**
518
+ * Require all enum members to be literal values
519
+ * @see https://typescript-eslint.io/rules/prefer-literal-enum-member
520
+ */
521
+ '@typescript-eslint/prefer-literal-enum-member'?: Linter.RuleEntry<TypescriptEslintPreferLiteralEnumMember>
522
+ /**
523
+ * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
524
+ * @see https://typescript-eslint.io/rules/prefer-namespace-keyword
525
+ */
526
+ '@typescript-eslint/prefer-namespace-keyword'?: Linter.RuleEntry<[]>
527
+ /**
528
+ * Enforce using the nullish coalescing operator instead of logical assignments or chaining
529
+ * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
530
+ */
531
+ '@typescript-eslint/prefer-nullish-coalescing'?: Linter.RuleEntry<TypescriptEslintPreferNullishCoalescing>
532
+ /**
533
+ * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
534
+ * @see https://typescript-eslint.io/rules/prefer-optional-chain
535
+ */
536
+ '@typescript-eslint/prefer-optional-chain'?: Linter.RuleEntry<TypescriptEslintPreferOptionalChain>
537
+ /**
538
+ * Require using Error objects as Promise rejection reasons
539
+ * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
540
+ */
541
+ '@typescript-eslint/prefer-promise-reject-errors'?: Linter.RuleEntry<TypescriptEslintPreferPromiseRejectErrors>
542
+ /**
543
+ * Require private members to be marked as `readonly` if they're never modified outside of the constructor
544
+ * @see https://typescript-eslint.io/rules/prefer-readonly
545
+ */
546
+ '@typescript-eslint/prefer-readonly'?: Linter.RuleEntry<TypescriptEslintPreferReadonly>
547
+ /**
548
+ * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
549
+ * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
550
+ */
551
+ '@typescript-eslint/prefer-readonly-parameter-types'?: Linter.RuleEntry<TypescriptEslintPreferReadonlyParameterTypes>
552
+ /**
553
+ * Enforce using type parameter when calling `Array#reduce` instead of casting
554
+ * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
555
+ */
556
+ '@typescript-eslint/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>
557
+ /**
558
+ * Enforce `RegExp#exec` over `String#match` if no global flag is provided
559
+ * @see https://typescript-eslint.io/rules/prefer-regexp-exec
560
+ */
561
+ '@typescript-eslint/prefer-regexp-exec'?: Linter.RuleEntry<[]>
562
+ /**
563
+ * Enforce that `this` is used when only `this` type is returned
564
+ * @see https://typescript-eslint.io/rules/prefer-return-this-type
565
+ */
566
+ '@typescript-eslint/prefer-return-this-type'?: Linter.RuleEntry<[]>
567
+ /**
568
+ * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
569
+ * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
570
+ */
571
+ '@typescript-eslint/prefer-string-starts-ends-with'?: Linter.RuleEntry<TypescriptEslintPreferStringStartsEndsWith>
572
+ /**
573
+ * Enforce using `@ts-expect-error` over `@ts-ignore`
574
+ * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
575
+ * @deprecated
576
+ */
577
+ '@typescript-eslint/prefer-ts-expect-error'?: Linter.RuleEntry<[]>
578
+ /**
579
+ * Require any function or method that returns a Promise to be marked async
580
+ * @see https://typescript-eslint.io/rules/promise-function-async
581
+ */
582
+ '@typescript-eslint/promise-function-async'?: Linter.RuleEntry<TypescriptEslintPromiseFunctionAsync>
583
+ /**
584
+ * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
585
+ * @see https://typescript-eslint.io/rules/require-array-sort-compare
586
+ */
587
+ '@typescript-eslint/require-array-sort-compare'?: Linter.RuleEntry<TypescriptEslintRequireArraySortCompare>
588
+ /**
589
+ * Disallow async functions which do not return promises and have no `await` expression
590
+ * @see https://typescript-eslint.io/rules/require-await
591
+ */
592
+ '@typescript-eslint/require-await'?: Linter.RuleEntry<[]>
593
+ /**
594
+ * Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
595
+ * @see https://typescript-eslint.io/rules/restrict-plus-operands
596
+ */
597
+ '@typescript-eslint/restrict-plus-operands'?: Linter.RuleEntry<TypescriptEslintRestrictPlusOperands>
598
+ /**
599
+ * Enforce template literal expressions to be of `string` type
600
+ * @see https://typescript-eslint.io/rules/restrict-template-expressions
601
+ */
602
+ '@typescript-eslint/restrict-template-expressions'?: Linter.RuleEntry<TypescriptEslintRestrictTemplateExpressions>
603
+ /**
604
+ * Enforce consistent awaiting of returned promises
605
+ * @see https://typescript-eslint.io/rules/return-await
606
+ */
607
+ '@typescript-eslint/return-await'?: Linter.RuleEntry<TypescriptEslintReturnAwait>
608
+ /**
609
+ * Enforce constituents of a type union/intersection to be sorted alphabetically
610
+ * @see https://typescript-eslint.io/rules/sort-type-constituents
611
+ * @deprecated
612
+ */
613
+ '@typescript-eslint/sort-type-constituents'?: Linter.RuleEntry<TypescriptEslintSortTypeConstituents>
614
+ /**
615
+ * Disallow certain types in boolean expressions
616
+ * @see https://typescript-eslint.io/rules/strict-boolean-expressions
617
+ */
618
+ '@typescript-eslint/strict-boolean-expressions'?: Linter.RuleEntry<TypescriptEslintStrictBooleanExpressions>
619
+ /**
620
+ * Require switch-case statements to be exhaustive
621
+ * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
622
+ */
623
+ '@typescript-eslint/switch-exhaustiveness-check'?: Linter.RuleEntry<TypescriptEslintSwitchExhaustivenessCheck>
624
+ /**
625
+ * Disallow certain triple slash directives in favor of ES6-style import declarations
626
+ * @see https://typescript-eslint.io/rules/triple-slash-reference
627
+ */
628
+ '@typescript-eslint/triple-slash-reference'?: Linter.RuleEntry<TypescriptEslintTripleSlashReference>
629
+ /**
630
+ * Require type annotations in certain places
631
+ * @see https://typescript-eslint.io/rules/typedef
632
+ */
633
+ '@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>
634
+ /**
635
+ * Enforce unbound methods are called with their expected scope
636
+ * @see https://typescript-eslint.io/rules/unbound-method
637
+ */
638
+ '@typescript-eslint/unbound-method'?: Linter.RuleEntry<TypescriptEslintUnboundMethod>
639
+ /**
640
+ * Disallow two overloads that could be unified into one with a union or an optional/rest parameter
641
+ * @see https://typescript-eslint.io/rules/unified-signatures
642
+ */
643
+ '@typescript-eslint/unified-signatures'?: Linter.RuleEntry<TypescriptEslintUnifiedSignatures>
644
+ /**
645
+ * Enforce typing arguments in Promise rejection callbacks as `unknown`
646
+ * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
647
+ */
648
+ '@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
649
+ /**
650
+ * Comment-as-command for one-off codemod with ESLint
651
+ * @see https://github.com/antfu/eslint-plugin-command
652
+ */
653
+ 'command/command'?: Linter.RuleEntry<[]>
654
+ /**
655
+ * require a `eslint-enable` comment for every `eslint-disable` comment
656
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
657
+ */
658
+ 'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>
659
+ /**
660
+ * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
661
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
662
+ */
663
+ 'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
664
+ /**
665
+ * disallow duplicate `eslint-disable` comments
666
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
667
+ */
668
+ 'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
669
+ /**
670
+ * disallow `eslint-disable` comments about specific rules
671
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
672
+ */
673
+ 'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>
674
+ /**
675
+ * disallow `eslint-disable` comments without rule names
676
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
677
+ */
678
+ 'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
679
+ /**
680
+ * disallow unused `eslint-disable` comments
681
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
682
+ */
683
+ 'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
684
+ /**
685
+ * disallow unused `eslint-enable` comments
686
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
687
+ */
688
+ 'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
689
+ /**
690
+ * disallow ESLint directive-comments
691
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
692
+ */
693
+ 'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>
694
+ /**
695
+ * require include descriptions in ESLint directive-comments
696
+ * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
697
+ */
698
+ 'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
699
+ /**
700
+ * Enforce or ban the use of inline type-only markers for named imports.
701
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/consistent-type-specifier-style.md
702
+ */
703
+ 'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>
704
+ /**
705
+ * Ensure a default export is present, given a default import.
706
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/default.md
707
+ */
708
+ 'import-x/default'?: Linter.RuleEntry<[]>
709
+ /**
710
+ * Enforce a leading comment with the webpackChunkName for dynamic imports.
711
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/dynamic-import-chunkname.md
712
+ */
713
+ 'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>
714
+ /**
715
+ * Forbid any invalid exports, i.e. re-export of the same name.
716
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/export.md
717
+ */
718
+ 'import-x/export'?: Linter.RuleEntry<[]>
719
+ /**
720
+ * Ensure all exports appear after other statements.
721
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/exports-last.md
722
+ */
723
+ 'import-x/exports-last'?: Linter.RuleEntry<[]>
724
+ /**
725
+ * Ensure consistent use of file extension within the import path.
726
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/extensions.md
727
+ */
728
+ 'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>
729
+ /**
730
+ * Ensure all imports appear before other statements.
731
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/first.md
732
+ */
733
+ 'import-x/first'?: Linter.RuleEntry<ImportXFirst>
734
+ /**
735
+ * Prefer named exports to be grouped together in a single export declaration.
736
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/group-exports.md
737
+ */
738
+ 'import-x/group-exports'?: Linter.RuleEntry<[]>
739
+ /**
740
+ * Replaced by `import-x/first`.
741
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/imports-first.md
742
+ * @deprecated
743
+ */
744
+ 'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>
745
+ /**
746
+ * Enforce the maximum number of dependencies a module can have.
747
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/max-dependencies.md
748
+ */
749
+ 'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>
750
+ /**
751
+ * Ensure named imports correspond to a named export in the remote file.
752
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/named.md
753
+ */
754
+ 'import-x/named'?: Linter.RuleEntry<ImportXNamed>
755
+ /**
756
+ * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
757
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/namespace.md
758
+ */
759
+ 'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>
760
+ /**
761
+ * Enforce a newline after import statements.
762
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/newline-after-import.md
763
+ */
764
+ 'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>
765
+ /**
766
+ * Forbid import of modules using absolute paths.
767
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-absolute-path.md
768
+ */
769
+ 'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>
770
+ /**
771
+ * Forbid AMD `require` and `define` calls.
772
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-amd.md
773
+ */
774
+ 'import-x/no-amd'?: Linter.RuleEntry<[]>
775
+ /**
776
+ * Forbid anonymous values as default exports.
777
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-anonymous-default-export.md
778
+ */
779
+ 'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>
780
+ /**
781
+ * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
782
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-commonjs.md
783
+ */
784
+ 'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>
785
+ /**
786
+ * Forbid a module from importing a module with a dependency path back to itself.
787
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-cycle.md
788
+ */
789
+ 'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>
790
+ /**
791
+ * Forbid default exports.
792
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-default-export.md
793
+ */
794
+ 'import-x/no-default-export'?: Linter.RuleEntry<[]>
795
+ /**
796
+ * Forbid imported names marked with `@deprecated` documentation tag.
797
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-deprecated.md
798
+ */
799
+ 'import-x/no-deprecated'?: Linter.RuleEntry<[]>
800
+ /**
801
+ * Forbid repeated import of the same module in multiple places.
802
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-duplicates.md
803
+ */
804
+ 'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>
805
+ /**
806
+ * Forbid `require()` calls with expressions.
807
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-dynamic-require.md
808
+ */
809
+ 'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>
810
+ /**
811
+ * Forbid empty named import blocks.
812
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-empty-named-blocks.md
813
+ */
814
+ 'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>
815
+ /**
816
+ * Forbid the use of extraneous packages.
817
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-extraneous-dependencies.md
818
+ */
819
+ 'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>
820
+ /**
821
+ * Forbid import statements with CommonJS module.exports.
822
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-import-module-exports.md
823
+ */
824
+ 'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>
825
+ /**
826
+ * Forbid importing the submodules of other modules.
827
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-internal-modules.md
828
+ */
829
+ 'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>
830
+ /**
831
+ * Forbid the use of mutable exports with `var` or `let`.
832
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-mutable-exports.md
833
+ */
834
+ 'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>
835
+ /**
836
+ * Forbid use of exported name as identifier of default export.
837
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-as-default.md
838
+ */
839
+ 'import-x/no-named-as-default'?: Linter.RuleEntry<[]>
840
+ /**
841
+ * Forbid use of exported name as property of default export.
842
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-as-default-member.md
843
+ */
844
+ 'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>
845
+ /**
846
+ * Forbid named default exports.
847
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-default.md
848
+ */
849
+ 'import-x/no-named-default'?: Linter.RuleEntry<[]>
850
+ /**
851
+ * Forbid named exports.
852
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-named-export.md
853
+ */
854
+ 'import-x/no-named-export'?: Linter.RuleEntry<[]>
855
+ /**
856
+ * Forbid namespace (a.k.a. "wildcard" `*`) imports.
857
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-namespace.md
858
+ */
859
+ 'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>
860
+ /**
861
+ * Forbid Node.js builtin modules.
862
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-nodejs-modules.md
863
+ */
864
+ 'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>
865
+ /**
866
+ * Forbid importing packages through relative paths.
867
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-relative-packages.md
868
+ */
869
+ 'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>
870
+ /**
871
+ * Forbid importing modules from parent directories.
872
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-relative-parent-imports.md
873
+ */
874
+ 'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>
875
+ /**
876
+ * Forbid importing a default export by a different name.
877
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-rename-default.md
878
+ */
879
+ 'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>
880
+ /**
881
+ * Enforce which files can be imported in a given folder.
882
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-restricted-paths.md
883
+ */
884
+ 'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>
885
+ /**
886
+ * Forbid a module from importing itself.
887
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-self-import.md
888
+ */
889
+ 'import-x/no-self-import'?: Linter.RuleEntry<[]>
890
+ /**
891
+ * Forbid unassigned imports.
892
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unassigned-import.md
893
+ */
894
+ 'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>
895
+ /**
896
+ * Ensure imports point to a file/module that can be resolved.
897
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unresolved.md
898
+ */
899
+ 'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>
900
+ /**
901
+ * Forbid modules without exports, or exports without matching import in another module.
902
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-unused-modules.md
903
+ */
904
+ 'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>
905
+ /**
906
+ * Forbid unnecessary path segments in import and require statements.
907
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-useless-path-segments.md
908
+ */
909
+ 'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>
910
+ /**
911
+ * Forbid webpack loader syntax in imports.
912
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/no-webpack-loader-syntax.md
913
+ */
914
+ 'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
915
+ /**
916
+ * Enforce a convention in module import order.
917
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/order.md
918
+ */
919
+ 'import-x/order'?: Linter.RuleEntry<ImportXOrder>
920
+ /**
921
+ * Prefer a default export if module exports a single name or multiple names.
922
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/prefer-default-export.md
923
+ */
924
+ 'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>
925
+ /**
926
+ * Forbid potentially ambiguous parse goal (`script` vs. `module`).
927
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.2.1/docs/rules/unambiguous.md
928
+ */
929
+ 'import-x/unambiguous'?: Linter.RuleEntry<[]>
930
+ /**
931
+ * Checks that `@access` tags have a valid value.
932
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
933
+ */
934
+ 'jsdoc/check-access'?: Linter.RuleEntry<[]>
935
+ /**
936
+ * Reports invalid alignment of JSDoc block asterisks.
937
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
938
+ */
939
+ 'jsdoc/check-alignment'?: Linter.RuleEntry<[]>
940
+ /**
941
+ * Ensures that (JavaScript) examples within JSDoc adhere to ESLint rules.
942
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
943
+ */
944
+ 'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>
945
+ /**
946
+ * Reports invalid padding inside JSDoc blocks.
947
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
948
+ */
949
+ 'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>
950
+ /**
951
+ * Reports invalid alignment of JSDoc block lines.
952
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sticky-header
953
+ */
954
+ 'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>
955
+ /**
956
+ * Ensures that parameter names in JSDoc match those in the function declaration.
957
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
958
+ */
959
+ 'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>
960
+ /**
961
+ * Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
962
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
963
+ */
964
+ 'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>
965
+ /**
966
+ * Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
967
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
968
+ */
969
+ 'jsdoc/check-syntax'?: Linter.RuleEntry<[]>
970
+ /**
971
+ * Reports invalid block tag names.
972
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
973
+ */
974
+ 'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>
975
+ /**
976
+ * Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
977
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
978
+ */
979
+ 'jsdoc/check-template-names'?: Linter.RuleEntry<[]>
980
+ /**
981
+ * Reports invalid types.
982
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
983
+ */
984
+ 'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>
985
+ /**
986
+ * This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
987
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
988
+ */
989
+ 'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>
990
+ /**
991
+ * Converts non-JSDoc comments preceding or following nodes into JSDoc ones
992
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md#repos-sticky-header
993
+ */
994
+ 'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>
995
+ /**
996
+ * Expects specific tags to be empty of any content.
997
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
998
+ */
999
+ 'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>
1000
+ /**
1001
+ * Reports an issue with any non-constructor function using `@implements`.
1002
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
1003
+ */
1004
+ 'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>
1005
+ /**
1006
+ * Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
1007
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
1008
+ */
1009
+ 'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>
1010
+ /**
1011
+ * This rule reports doc comments that only restate their attached name.
1012
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
1013
+ */
1014
+ 'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>
1015
+ /**
1016
+ * Enforces minimum number of newlines before JSDoc comment blocks
1017
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
1018
+ */
1019
+ 'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>
1020
+ /**
1021
+ * Enforces a regular expression pattern on descriptions.
1022
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
1023
+ */
1024
+ 'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>
1025
+ /**
1026
+ * Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
1027
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
1028
+ */
1029
+ 'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>
1030
+ /**
1031
+ * Controls how and whether jsdoc blocks can be expressed as single or multiple line blocks.
1032
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
1033
+ */
1034
+ 'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>
1035
+ /**
1036
+ * This rule checks for multi-line-style comments which fail to meet the criteria of a jsdoc block.
1037
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
1038
+ */
1039
+ 'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>
1040
+ /**
1041
+ * Detects and removes extra lines of a blank block description
1042
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
1043
+ */
1044
+ 'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>
1045
+ /**
1046
+ * Removes empty blocks with nothing but possibly line breaks
1047
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
1048
+ */
1049
+ 'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>
1050
+ /**
1051
+ * This rule reports defaults being used on the relevant portion of `@param` or `@default`.
1052
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
1053
+ */
1054
+ 'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>
1055
+ /**
1056
+ * Reports when certain comment structures are always expected.
1057
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
1058
+ */
1059
+ 'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>
1060
+ /**
1061
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
1062
+ */
1063
+ 'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>
1064
+ /**
1065
+ * Reports when certain comment structures are present.
1066
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
1067
+ */
1068
+ 'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>
1069
+ /**
1070
+ * This rule reports types being used on `@param` or `@returns`.
1071
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
1072
+ */
1073
+ 'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>
1074
+ /**
1075
+ * Checks that types in jsdoc comments are defined.
1076
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
1077
+ */
1078
+ 'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>
1079
+ /**
1080
+ * Requires that each JSDoc line starts with an `*`.
1081
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
1082
+ */
1083
+ 'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>
1084
+ /**
1085
+ * Requires that all functions have a description.
1086
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
1087
+ */
1088
+ 'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>
1089
+ /**
1090
+ * Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
1091
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
1092
+ */
1093
+ 'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>
1094
+ /**
1095
+ * Requires that all functions have examples.
1096
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
1097
+ */
1098
+ 'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>
1099
+ /**
1100
+ * Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
1101
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
1102
+ */
1103
+ 'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>
1104
+ /**
1105
+ * Requires a hyphen before the `@param` description.
1106
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
1107
+ */
1108
+ 'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>
1109
+ /**
1110
+ * Require JSDoc comments
1111
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
1112
+ */
1113
+ 'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>
1114
+ /**
1115
+ * Requires that all function parameters are documented.
1116
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
1117
+ */
1118
+ 'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>
1119
+ /**
1120
+ * Requires that each `@param` tag has a `description` value.
1121
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
1122
+ */
1123
+ 'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>
1124
+ /**
1125
+ * Requires that all function parameters have names.
1126
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
1127
+ */
1128
+ 'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>
1129
+ /**
1130
+ * Requires that each `@param` tag has a `type` value.
1131
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
1132
+ */
1133
+ 'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>
1134
+ /**
1135
+ * Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
1136
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
1137
+ */
1138
+ 'jsdoc/require-property'?: Linter.RuleEntry<[]>
1139
+ /**
1140
+ * Requires that each `@property` tag has a `description` value.
1141
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
1142
+ */
1143
+ 'jsdoc/require-property-description'?: Linter.RuleEntry<[]>
1144
+ /**
1145
+ * Requires that all function `@property` tags have names.
1146
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
1147
+ */
1148
+ 'jsdoc/require-property-name'?: Linter.RuleEntry<[]>
1149
+ /**
1150
+ * Requires that each `@property` tag has a `type` value.
1151
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
1152
+ */
1153
+ 'jsdoc/require-property-type'?: Linter.RuleEntry<[]>
1154
+ /**
1155
+ * Requires that returns are documented.
1156
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
1157
+ */
1158
+ 'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>
1159
+ /**
1160
+ * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
1161
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
1162
+ */
1163
+ 'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>
1164
+ /**
1165
+ * Requires that the `@returns` tag has a `description` value.
1166
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
1167
+ */
1168
+ 'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>
1169
+ /**
1170
+ * Requires that `@returns` tag has `type` value.
1171
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
1172
+ */
1173
+ 'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>
1174
+ /**
1175
+ * Requires template tags for each generic type parameter
1176
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
1177
+ */
1178
+ 'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>
1179
+ /**
1180
+ * Requires that throw statements are documented.
1181
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
1182
+ */
1183
+ 'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>
1184
+ /**
1185
+ * Requires yields are documented.
1186
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
1187
+ */
1188
+ 'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>
1189
+ /**
1190
+ * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
1191
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
1192
+ */
1193
+ 'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>
1194
+ /**
1195
+ * Sorts tags by a specified sequence according to tag name.
1196
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
1197
+ */
1198
+ 'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>
1199
+ /**
1200
+ * Enforces lines (or no lines) between tags.
1201
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
1202
+ */
1203
+ 'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>
1204
+ /**
1205
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
1206
+ */
1207
+ 'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>
1208
+ /**
1209
+ * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
1210
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
1211
+ */
1212
+ 'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>
1213
+ /**
1214
+ * Enforce sorted arrays before include method.
1215
+ * @see https://perfectionist.dev/rules/sort-array-includes
1216
+ */
1217
+ 'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>
1218
+ /**
1219
+ * Enforce sorted Astro attributes.
1220
+ * @see https://perfectionist.dev/rules/sort-astro-attributes
1221
+ */
1222
+ 'perfectionist/sort-astro-attributes'?: Linter.RuleEntry<PerfectionistSortAstroAttributes>
1223
+ /**
1224
+ * Enforce sorted classes.
1225
+ * @see https://perfectionist.dev/rules/sort-classes
1226
+ */
1227
+ 'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>
1228
+ /**
1229
+ * Enforce sorted TypeScript enums.
1230
+ * @see https://perfectionist.dev/rules/sort-enums
1231
+ */
1232
+ 'perfectionist/sort-enums'?: Linter.RuleEntry<PerfectionistSortEnums>
1233
+ /**
1234
+ * Enforce sorted exports.
1235
+ * @see https://perfectionist.dev/rules/sort-exports
1236
+ */
1237
+ 'perfectionist/sort-exports'?: Linter.RuleEntry<PerfectionistSortExports>
1238
+ /**
1239
+ * Enforce sorted imports.
1240
+ * @see https://perfectionist.dev/rules/sort-imports
1241
+ */
1242
+ 'perfectionist/sort-imports'?: Linter.RuleEntry<PerfectionistSortImports>
1243
+ /**
1244
+ * Enforce sorted interface properties.
1245
+ * @see https://perfectionist.dev/rules/sort-interfaces
1246
+ */
1247
+ 'perfectionist/sort-interfaces'?: Linter.RuleEntry<PerfectionistSortInterfaces>
1248
+ /**
1249
+ * Enforce sorted intersection types.
1250
+ * @see https://perfectionist.dev/rules/sort-intersection-types
1251
+ */
1252
+ 'perfectionist/sort-intersection-types'?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>
1253
+ /**
1254
+ * Enforce sorted JSX props.
1255
+ * @see https://perfectionist.dev/rules/sort-jsx-props
1256
+ */
1257
+ 'perfectionist/sort-jsx-props'?: Linter.RuleEntry<PerfectionistSortJsxProps>
1258
+ /**
1259
+ * Enforce sorted Map elements.
1260
+ * @see https://perfectionist.dev/rules/sort-maps
1261
+ */
1262
+ 'perfectionist/sort-maps'?: Linter.RuleEntry<PerfectionistSortMaps>
1263
+ /**
1264
+ * Enforce sorted named exports.
1265
+ * @see https://perfectionist.dev/rules/sort-named-exports
1266
+ */
1267
+ 'perfectionist/sort-named-exports'?: Linter.RuleEntry<PerfectionistSortNamedExports>
1268
+ /**
1269
+ * Enforce sorted named imports.
1270
+ * @see https://perfectionist.dev/rules/sort-named-imports
1271
+ */
1272
+ 'perfectionist/sort-named-imports'?: Linter.RuleEntry<PerfectionistSortNamedImports>
1273
+ /**
1274
+ * Enforce sorted object types.
1275
+ * @see https://perfectionist.dev/rules/sort-object-types
1276
+ */
1277
+ 'perfectionist/sort-object-types'?: Linter.RuleEntry<PerfectionistSortObjectTypes>
1278
+ /**
1279
+ * Enforce sorted objects.
1280
+ * @see https://perfectionist.dev/rules/sort-objects
1281
+ */
1282
+ 'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>
1283
+ /**
1284
+ * Enforce sorted sets.
1285
+ * @see https://perfectionist.dev/rules/sort-sets
1286
+ */
1287
+ 'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>
1288
+ /**
1289
+ * Enforce sorted Svelte attributes.
1290
+ * @see https://perfectionist.dev/rules/sort-svelte-attributes
1291
+ */
1292
+ 'perfectionist/sort-svelte-attributes'?: Linter.RuleEntry<PerfectionistSortSvelteAttributes>
1293
+ /**
1294
+ * Enforce sorted switch cases.
1295
+ * @see https://perfectionist.dev/rules/sort-switch-case
1296
+ */
1297
+ 'perfectionist/sort-switch-case'?: Linter.RuleEntry<PerfectionistSortSwitchCase>
1298
+ /**
1299
+ * Enforce sorted union types.
1300
+ * @see https://perfectionist.dev/rules/sort-union-types
1301
+ */
1302
+ 'perfectionist/sort-union-types'?: Linter.RuleEntry<PerfectionistSortUnionTypes>
1303
+ /**
1304
+ * Enforce sorted variable declarations.
1305
+ * @see https://perfectionist.dev/rules/sort-variable-declarations
1306
+ */
1307
+ 'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>
1308
+ /**
1309
+ * Enforce sorted Vue attributes.
1310
+ * @see https://perfectionist.dev/rules/sort-vue-attributes
1311
+ */
1312
+ 'perfectionist/sort-vue-attributes'?: Linter.RuleEntry<PerfectionistSortVueAttributes>
1313
+ /**
1314
+ * Disallow unused variables
1315
+ * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
1316
+ */
1317
+ 'unused-imports/no-unused-imports'?: Linter.RuleEntry<UnusedImportsNoUnusedImports>
1318
+ /**
1319
+ * Disallow unused variables
1320
+ * @see https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-vars.md
1321
+ */
1322
+ 'unused-imports/no-unused-vars'?: Linter.RuleEntry<UnusedImportsNoUnusedVars>
1323
+ /**
1324
+ * require .spec test file pattern
1325
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
1326
+ */
1327
+ 'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>
1328
+ /**
1329
+ * enforce using test or it but not both
1330
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
1331
+ */
1332
+ 'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>
1333
+ /**
1334
+ * enforce having expectation in test body
1335
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
1336
+ */
1337
+ 'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>
1338
+ /**
1339
+ * enforce a maximum number of expect per test
1340
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
1341
+ */
1342
+ 'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>
1343
+ /**
1344
+ * require describe block to be less than set max value or default value
1345
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
1346
+ */
1347
+ 'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>
1348
+ /**
1349
+ * disallow alias methods
1350
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
1351
+ */
1352
+ 'vitest/no-alias-methods'?: Linter.RuleEntry<[]>
1353
+ /**
1354
+ * disallow commented out tests
1355
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
1356
+ */
1357
+ 'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>
1358
+ /**
1359
+ * disallow conditional expects
1360
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
1361
+ */
1362
+ 'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>
1363
+ /**
1364
+ * disallow conditional tests
1365
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
1366
+ */
1367
+ 'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>
1368
+ /**
1369
+ * disallow conditional tests
1370
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
1371
+ */
1372
+ 'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>
1373
+ /**
1374
+ * disallow disabled tests
1375
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
1376
+ */
1377
+ 'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>
1378
+ /**
1379
+ * disallow using a callback in asynchronous tests and hooks
1380
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
1381
+ * @deprecated
1382
+ */
1383
+ 'vitest/no-done-callback'?: Linter.RuleEntry<[]>
1384
+ /**
1385
+ * disallow duplicate hooks and teardown hooks
1386
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
1387
+ */
1388
+ 'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>
1389
+ /**
1390
+ * disallow focused tests
1391
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
1392
+ */
1393
+ 'vitest/no-focused-tests'?: Linter.RuleEntry<VitestNoFocusedTests>
1394
+ /**
1395
+ * disallow setup and teardown hooks
1396
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
1397
+ */
1398
+ 'vitest/no-hooks'?: Linter.RuleEntry<VitestNoHooks>
1399
+ /**
1400
+ * disallow identical titles
1401
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
1402
+ */
1403
+ 'vitest/no-identical-title'?: Linter.RuleEntry<[]>
1404
+ /**
1405
+ * disallow importing `node:test`
1406
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
1407
+ */
1408
+ 'vitest/no-import-node-test'?: Linter.RuleEntry<[]>
1409
+ /**
1410
+ * disallow string interpolation in snapshots
1411
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
1412
+ */
1413
+ 'vitest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
1414
+ /**
1415
+ * disallow large snapshots
1416
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
1417
+ */
1418
+ 'vitest/no-large-snapshots'?: Linter.RuleEntry<VitestNoLargeSnapshots>
1419
+ /**
1420
+ * disallow importing from __mocks__ directory
1421
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
1422
+ */
1423
+ 'vitest/no-mocks-import'?: Linter.RuleEntry<[]>
1424
+ /**
1425
+ * disallow .only blocks in tests
1426
+ * @see https://github.com/levibuzolic/eslint-plugin-no-only-tests
1427
+ */
1428
+ 'vitest/no-only-tests'?: Linter.RuleEntry<VitestNoOnlyTests>
1429
+ /**
1430
+ * disallow the use of certain matchers
1431
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
1432
+ */
1433
+ 'vitest/no-restricted-matchers'?: Linter.RuleEntry<VitestNoRestrictedMatchers>
1434
+ /**
1435
+ * disallow specific `vi.` methods
1436
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
1437
+ */
1438
+ 'vitest/no-restricted-vi-methods'?: Linter.RuleEntry<VitestNoRestrictedViMethods>
1439
+ /**
1440
+ * disallow using `expect` outside of `it` or `test` blocks
1441
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
1442
+ */
1443
+ 'vitest/no-standalone-expect'?: Linter.RuleEntry<VitestNoStandaloneExpect>
1444
+ /**
1445
+ * disallow using `test` as a prefix
1446
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
1447
+ */
1448
+ 'vitest/no-test-prefixes'?: Linter.RuleEntry<[]>
1449
+ /**
1450
+ * disallow return statements in tests
1451
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
1452
+ */
1453
+ 'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>
1454
+ /**
1455
+ * Enforce padding around `afterAll` blocks
1456
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
1457
+ */
1458
+ 'vitest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>
1459
+ /**
1460
+ * Enforce padding around `afterEach` blocks
1461
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
1462
+ */
1463
+ 'vitest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>
1464
+ /**
1465
+ * Enforce padding around vitest functions
1466
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
1467
+ */
1468
+ 'vitest/padding-around-all'?: Linter.RuleEntry<[]>
1469
+ /**
1470
+ * Enforce padding around `beforeAll` blocks
1471
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
1472
+ */
1473
+ 'vitest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>
1474
+ /**
1475
+ * Enforce padding around `beforeEach` blocks
1476
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
1477
+ */
1478
+ 'vitest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>
1479
+ /**
1480
+ * Enforce padding around `describe` blocks
1481
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
1482
+ */
1483
+ 'vitest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>
1484
+ /**
1485
+ * Enforce padding around `expect` groups
1486
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
1487
+ */
1488
+ 'vitest/padding-around-expect-groups'?: Linter.RuleEntry<[]>
1489
+ /**
1490
+ * Enforce padding around afterAll blocks
1491
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
1492
+ */
1493
+ 'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>
1494
+ /**
1495
+ * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
1496
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
1497
+ */
1498
+ 'vitest/prefer-called-with'?: Linter.RuleEntry<[]>
1499
+ /**
1500
+ * enforce using the built-in comparison matchers
1501
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
1502
+ */
1503
+ 'vitest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
1504
+ /**
1505
+ * enforce using `each` rather than manual loops
1506
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
1507
+ */
1508
+ 'vitest/prefer-each'?: Linter.RuleEntry<[]>
1509
+ /**
1510
+ * enforce using the built-in quality matchers
1511
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
1512
+ */
1513
+ 'vitest/prefer-equality-matcher'?: Linter.RuleEntry<[]>
1514
+ /**
1515
+ * enforce using expect assertions instead of callbacks
1516
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
1517
+ */
1518
+ 'vitest/prefer-expect-assertions'?: Linter.RuleEntry<VitestPreferExpectAssertions>
1519
+ /**
1520
+ * enforce using `expect().resolves` over `expect(await ...)` syntax
1521
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
1522
+ */
1523
+ 'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>
1524
+ /**
1525
+ * enforce having hooks in consistent order
1526
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
1527
+ */
1528
+ 'vitest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
1529
+ /**
1530
+ * enforce having hooks before any test cases
1531
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
1532
+ */
1533
+ 'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
1534
+ /**
1535
+ * enforce lowercase titles
1536
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
1537
+ */
1538
+ 'vitest/prefer-lowercase-title'?: Linter.RuleEntry<VitestPreferLowercaseTitle>
1539
+ /**
1540
+ * enforce mock resolved/rejected shorthands for promises
1541
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
1542
+ */
1543
+ 'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
1544
+ /**
1545
+ * enforce including a hint with external snapshots
1546
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
1547
+ */
1548
+ 'vitest/prefer-snapshot-hint'?: Linter.RuleEntry<VitestPreferSnapshotHint>
1549
+ /**
1550
+ * enforce using `vi.spyOn`
1551
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
1552
+ */
1553
+ 'vitest/prefer-spy-on'?: Linter.RuleEntry<[]>
1554
+ /**
1555
+ * enforce strict equal over equal
1556
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
1557
+ */
1558
+ 'vitest/prefer-strict-equal'?: Linter.RuleEntry<[]>
1559
+ /**
1560
+ * enforce using toBe()
1561
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
1562
+ */
1563
+ 'vitest/prefer-to-be'?: Linter.RuleEntry<[]>
1564
+ /**
1565
+ * enforce using toBeFalsy()
1566
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
1567
+ */
1568
+ 'vitest/prefer-to-be-falsy'?: Linter.RuleEntry<[]>
1569
+ /**
1570
+ * enforce using toBeObject()
1571
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
1572
+ */
1573
+ 'vitest/prefer-to-be-object'?: Linter.RuleEntry<[]>
1574
+ /**
1575
+ * enforce using `toBeTruthy`
1576
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
1577
+ */
1578
+ 'vitest/prefer-to-be-truthy'?: Linter.RuleEntry<[]>
1579
+ /**
1580
+ * enforce using toContain()
1581
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
1582
+ */
1583
+ 'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>
1584
+ /**
1585
+ * enforce using toHaveLength()
1586
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
1587
+ */
1588
+ 'vitest/prefer-to-have-length'?: Linter.RuleEntry<[]>
1589
+ /**
1590
+ * enforce using `test.todo`
1591
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
1592
+ */
1593
+ 'vitest/prefer-todo'?: Linter.RuleEntry<[]>
1594
+ /**
1595
+ * require setup and teardown to be within a hook
1596
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
1597
+ */
1598
+ 'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>
1599
+ /**
1600
+ * require local Test Context for concurrent snapshot tests
1601
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
1602
+ */
1603
+ 'vitest/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>
1604
+ /**
1605
+ * require toThrow() to be called with an error message
1606
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
1607
+ */
1608
+ 'vitest/require-to-throw-message'?: Linter.RuleEntry<[]>
1609
+ /**
1610
+ * enforce that all tests are in a top-level describe
1611
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
1612
+ */
1613
+ 'vitest/require-top-level-describe'?: Linter.RuleEntry<VitestRequireTopLevelDescribe>
1614
+ /**
1615
+ * enforce valid describe callback
1616
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
1617
+ */
1618
+ 'vitest/valid-describe-callback'?: Linter.RuleEntry<[]>
1619
+ /**
1620
+ * enforce valid `expect()` usage
1621
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
1622
+ */
1623
+ 'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>
1624
+ /**
1625
+ * enforce valid titles
1626
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
1627
+ */
1628
+ 'vitest/valid-title'?: Linter.RuleEntry<VitestValidTitle>
1629
+ }
1630
+
1631
+ /* ======= Declarations ======= */
1632
+ // ----- @typescript-eslint/array-type -----
1633
+ type TypescriptEslintArrayType = []|[{
1634
+
1635
+ default?: ("array" | "generic" | "array-simple")
1636
+
1637
+ readonly?: ("array" | "generic" | "array-simple")
1638
+ }]
1639
+ // ----- @typescript-eslint/ban-ts-comment -----
1640
+ type TypescriptEslintBanTsComment = []|[{
1641
+ "ts-expect-error"?: (boolean | "allow-with-description" | {
1642
+ descriptionFormat?: string
1643
+ })
1644
+ "ts-ignore"?: (boolean | "allow-with-description" | {
1645
+ descriptionFormat?: string
1646
+ })
1647
+ "ts-nocheck"?: (boolean | "allow-with-description" | {
1648
+ descriptionFormat?: string
1649
+ })
1650
+ "ts-check"?: (boolean | "allow-with-description" | {
1651
+ descriptionFormat?: string
1652
+ })
1653
+
1654
+ minimumDescriptionLength?: number
1655
+ }]
1656
+ // ----- @typescript-eslint/class-literal-property-style -----
1657
+ type TypescriptEslintClassLiteralPropertyStyle = []|[("fields" | "getters")]
1658
+ // ----- @typescript-eslint/class-methods-use-this -----
1659
+ type TypescriptEslintClassMethodsUseThis = []|[{
1660
+
1661
+ exceptMethods?: string[]
1662
+
1663
+ enforceForClassFields?: boolean
1664
+
1665
+ ignoreOverrideMethods?: boolean
1666
+
1667
+ ignoreClassesThatImplementAnInterface?: (boolean | "public-fields")
1668
+ }]
1669
+ // ----- @typescript-eslint/consistent-generic-constructors -----
1670
+ type TypescriptEslintConsistentGenericConstructors = []|[("type-annotation" | "constructor")]
1671
+ // ----- @typescript-eslint/consistent-indexed-object-style -----
1672
+ type TypescriptEslintConsistentIndexedObjectStyle = []|[("record" | "index-signature")]
1673
+ // ----- @typescript-eslint/consistent-return -----
1674
+ type TypescriptEslintConsistentReturn = []|[{
1675
+ treatUndefinedAsUnspecified?: boolean
1676
+ }]
1677
+ // ----- @typescript-eslint/consistent-type-assertions -----
1678
+ type TypescriptEslintConsistentTypeAssertions = []|[({
1679
+
1680
+ assertionStyle: "never"
1681
+ } | {
1682
+
1683
+ assertionStyle: ("as" | "angle-bracket")
1684
+
1685
+ objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
1686
+ })]
1687
+ // ----- @typescript-eslint/consistent-type-definitions -----
1688
+ type TypescriptEslintConsistentTypeDefinitions = []|[("interface" | "type")]
1689
+ // ----- @typescript-eslint/consistent-type-exports -----
1690
+ type TypescriptEslintConsistentTypeExports = []|[{
1691
+
1692
+ fixMixedExportsWithInlineTypeSpecifier?: boolean
1693
+ }]
1694
+ // ----- @typescript-eslint/consistent-type-imports -----
1695
+ type TypescriptEslintConsistentTypeImports = []|[{
1696
+
1697
+ disallowTypeAnnotations?: boolean
1698
+
1699
+ fixStyle?: ("separate-type-imports" | "inline-type-imports")
1700
+
1701
+ prefer?: ("type-imports" | "no-type-imports")
1702
+ }]
1703
+ // ----- @typescript-eslint/dot-notation -----
1704
+ type TypescriptEslintDotNotation = []|[{
1705
+
1706
+ allowKeywords?: boolean
1707
+
1708
+ allowPattern?: string
1709
+
1710
+ allowPrivateClassPropertyAccess?: boolean
1711
+
1712
+ allowProtectedClassPropertyAccess?: boolean
1713
+
1714
+ allowIndexSignaturePropertyAccess?: boolean
1715
+ }]
1716
+ // ----- @typescript-eslint/explicit-function-return-type -----
1717
+ type TypescriptEslintExplicitFunctionReturnType = []|[{
1718
+
1719
+ allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean
1720
+
1721
+ allowExpressions?: boolean
1722
+
1723
+ allowHigherOrderFunctions?: boolean
1724
+
1725
+ allowTypedFunctionExpressions?: boolean
1726
+
1727
+ allowDirectConstAssertionInArrowFunctions?: boolean
1728
+
1729
+ allowFunctionsWithoutTypeParameters?: boolean
1730
+
1731
+ allowedNames?: string[]
1732
+
1733
+ allowIIFEs?: boolean
1734
+ }]
1735
+ // ----- @typescript-eslint/explicit-member-accessibility -----
1736
+ type TypescriptEslintExplicitMemberAccessibility = []|[{
1737
+ accessibility?: ("explicit" | "no-public" | "off")
1738
+ overrides?: {
1739
+ accessors?: ("explicit" | "no-public" | "off")
1740
+ constructors?: ("explicit" | "no-public" | "off")
1741
+ methods?: ("explicit" | "no-public" | "off")
1742
+ properties?: ("explicit" | "no-public" | "off")
1743
+ parameterProperties?: ("explicit" | "no-public" | "off")
1744
+ }
1745
+
1746
+ ignoredMethodNames?: string[]
1747
+ }]
1748
+ // ----- @typescript-eslint/explicit-module-boundary-types -----
1749
+ type TypescriptEslintExplicitModuleBoundaryTypes = []|[{
1750
+
1751
+ allowArgumentsExplicitlyTypedAsAny?: boolean
1752
+
1753
+ allowDirectConstAssertionInArrowFunctions?: boolean
1754
+
1755
+ allowedNames?: string[]
1756
+
1757
+ allowHigherOrderFunctions?: boolean
1758
+
1759
+ allowTypedFunctionExpressions?: boolean
1760
+ }]
1761
+ // ----- @typescript-eslint/init-declarations -----
1762
+ type TypescriptEslintInitDeclarations = ([]|["always"] | []|["never"]|["never", {
1763
+ ignoreForLoopInit?: boolean
1764
+ }])
1765
+ // ----- @typescript-eslint/max-params -----
1766
+ type TypescriptEslintMaxParams = []|[{
1767
+
1768
+ max?: number
1769
+
1770
+ maximum?: number
1771
+
1772
+ countVoidThis?: boolean
1773
+ }]
1774
+ // ----- @typescript-eslint/member-ordering -----
1775
+ type TypescriptEslintMemberOrdering = []|[{
1776
+ 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")[])[] | {
1777
+ 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")
1778
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
1779
+ optionalityOrder?: ("optional-first" | "required-first")
1780
+ })
1781
+ 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")[])[] | {
1782
+ 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")
1783
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
1784
+ optionalityOrder?: ("optional-first" | "required-first")
1785
+ })
1786
+ 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")[])[] | {
1787
+ 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")
1788
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
1789
+ optionalityOrder?: ("optional-first" | "required-first")
1790
+ })
1791
+ interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
1792
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
1793
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
1794
+ optionalityOrder?: ("optional-first" | "required-first")
1795
+ })
1796
+ typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
1797
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
1798
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
1799
+ optionalityOrder?: ("optional-first" | "required-first")
1800
+ })
1801
+ }]
1802
+ // ----- @typescript-eslint/method-signature-style -----
1803
+ type TypescriptEslintMethodSignatureStyle = []|[("property" | "method")]
1804
+ // ----- @typescript-eslint/naming-convention -----
1805
+ type _TypescriptEslintNamingConventionFormatOptionsConfig = (_TypescriptEslintNamingConventionPredefinedFormats[] | null)
1806
+ type _TypescriptEslintNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE")
1807
+ type _TypescriptEslintNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble")
1808
+ type _TypescriptEslintNamingConvention_PrefixSuffixConfig = string[]
1809
+ type _TypescriptEslintNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array")
1810
+ type TypescriptEslintNamingConvention = ({
1811
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1812
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1813
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1814
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1815
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1816
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1817
+ failureMessage?: string
1818
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1819
+ 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")[]
1820
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
1821
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1822
+ } | {
1823
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1824
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1825
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1826
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1827
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1828
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1829
+ failureMessage?: string
1830
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1831
+ selector: "default"
1832
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
1833
+ } | {
1834
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1835
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1836
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1837
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1838
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1839
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1840
+ failureMessage?: string
1841
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1842
+ selector: "variableLike"
1843
+ modifiers?: ("unused" | "async")[]
1844
+ } | {
1845
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1846
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1847
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1848
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1849
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1850
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1851
+ failureMessage?: string
1852
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1853
+ selector: "variable"
1854
+ modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[]
1855
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1856
+ } | {
1857
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1858
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1859
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1860
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1861
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1862
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1863
+ failureMessage?: string
1864
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1865
+ selector: "function"
1866
+ modifiers?: ("exported" | "global" | "unused" | "async")[]
1867
+ } | {
1868
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1869
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1870
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1871
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1872
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1873
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1874
+ failureMessage?: string
1875
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1876
+ selector: "parameter"
1877
+ modifiers?: ("destructured" | "unused")[]
1878
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1879
+ } | {
1880
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1881
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1882
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1883
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1884
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1885
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1886
+ failureMessage?: string
1887
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1888
+ selector: "memberLike"
1889
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
1890
+ } | {
1891
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1892
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1893
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1894
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1895
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1896
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1897
+ failureMessage?: string
1898
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1899
+ selector: "classProperty"
1900
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[]
1901
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1902
+ } | {
1903
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1904
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1905
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1906
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1907
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1908
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1909
+ failureMessage?: string
1910
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1911
+ selector: "objectLiteralProperty"
1912
+ modifiers?: ("public" | "requiresQuotes")[]
1913
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1914
+ } | {
1915
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1916
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1917
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1918
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1919
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1920
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1921
+ failureMessage?: string
1922
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1923
+ selector: "typeProperty"
1924
+ modifiers?: ("public" | "readonly" | "requiresQuotes")[]
1925
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1926
+ } | {
1927
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1928
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1929
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1930
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1931
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1932
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1933
+ failureMessage?: string
1934
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1935
+ selector: "parameterProperty"
1936
+ modifiers?: ("private" | "protected" | "public" | "readonly")[]
1937
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1938
+ } | {
1939
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1940
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1941
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1942
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1943
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1944
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1945
+ failureMessage?: string
1946
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1947
+ selector: "property"
1948
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
1949
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
1950
+ } | {
1951
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1952
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1953
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1954
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1955
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1956
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1957
+ failureMessage?: string
1958
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1959
+ selector: "classMethod"
1960
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
1961
+ } | {
1962
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1963
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1964
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1965
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1966
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1967
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1968
+ failureMessage?: string
1969
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1970
+ selector: "objectLiteralMethod"
1971
+ modifiers?: ("public" | "requiresQuotes" | "async")[]
1972
+ } | {
1973
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1974
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1975
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1976
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1977
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1978
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1979
+ failureMessage?: string
1980
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1981
+ selector: "typeMethod"
1982
+ modifiers?: ("public" | "requiresQuotes")[]
1983
+ } | {
1984
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1985
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1986
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1987
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1988
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1989
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
1990
+ failureMessage?: string
1991
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
1992
+ selector: "method"
1993
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
1994
+ } | {
1995
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
1996
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
1997
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1998
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
1999
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2000
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2001
+ failureMessage?: string
2002
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2003
+ selector: "classicAccessor"
2004
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2005
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2006
+ } | {
2007
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2008
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2009
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2010
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2011
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2012
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2013
+ failureMessage?: string
2014
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2015
+ selector: "autoAccessor"
2016
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2017
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2018
+ } | {
2019
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2020
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2021
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2022
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2023
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2024
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2025
+ failureMessage?: string
2026
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2027
+ selector: "accessor"
2028
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2029
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2030
+ } | {
2031
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2032
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2033
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2034
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2035
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2036
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2037
+ failureMessage?: string
2038
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2039
+ selector: "enumMember"
2040
+ modifiers?: ("requiresQuotes")[]
2041
+ } | {
2042
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2043
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2044
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2045
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2046
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2047
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2048
+ failureMessage?: string
2049
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2050
+ selector: "typeLike"
2051
+ modifiers?: ("abstract" | "exported" | "unused")[]
2052
+ } | {
2053
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2054
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2055
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2056
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2057
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2058
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2059
+ failureMessage?: string
2060
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2061
+ selector: "class"
2062
+ modifiers?: ("abstract" | "exported" | "unused")[]
2063
+ } | {
2064
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2065
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2066
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2067
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2068
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2069
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2070
+ failureMessage?: string
2071
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2072
+ selector: "interface"
2073
+ modifiers?: ("exported" | "unused")[]
2074
+ } | {
2075
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2076
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2077
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2078
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2079
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2080
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2081
+ failureMessage?: string
2082
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2083
+ selector: "typeAlias"
2084
+ modifiers?: ("exported" | "unused")[]
2085
+ } | {
2086
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2087
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2088
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2089
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2090
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2091
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2092
+ failureMessage?: string
2093
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2094
+ selector: "enum"
2095
+ modifiers?: ("exported" | "unused")[]
2096
+ } | {
2097
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2098
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2099
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2100
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2101
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2102
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2103
+ failureMessage?: string
2104
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2105
+ selector: "typeParameter"
2106
+ modifiers?: ("unused")[]
2107
+ } | {
2108
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2109
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2110
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2111
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2112
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2113
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2114
+ failureMessage?: string
2115
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2116
+ selector: "import"
2117
+ modifiers?: ("default" | "namespace")[]
2118
+ })[]
2119
+ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
2120
+ match: boolean
2121
+ regex: string
2122
+ }
2123
+ // ----- @typescript-eslint/no-base-to-string -----
2124
+ type TypescriptEslintNoBaseToString = []|[{
2125
+
2126
+ ignoredTypeNames?: string[]
2127
+ }]
2128
+ // ----- @typescript-eslint/no-confusing-void-expression -----
2129
+ type TypescriptEslintNoConfusingVoidExpression = []|[{
2130
+
2131
+ ignoreArrowShorthand?: boolean
2132
+
2133
+ ignoreVoidOperator?: boolean
2134
+ }]
2135
+ // ----- @typescript-eslint/no-duplicate-type-constituents -----
2136
+ type TypescriptEslintNoDuplicateTypeConstituents = []|[{
2137
+
2138
+ ignoreIntersections?: boolean
2139
+
2140
+ ignoreUnions?: boolean
2141
+ }]
2142
+ // ----- @typescript-eslint/no-empty-function -----
2143
+ type TypescriptEslintNoEmptyFunction = []|[{
2144
+
2145
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[]
2146
+ }]
2147
+ // ----- @typescript-eslint/no-empty-interface -----
2148
+ type TypescriptEslintNoEmptyInterface = []|[{
2149
+
2150
+ allowSingleExtends?: boolean
2151
+ }]
2152
+ // ----- @typescript-eslint/no-empty-object-type -----
2153
+ type TypescriptEslintNoEmptyObjectType = []|[{
2154
+
2155
+ allowInterfaces?: ("always" | "never" | "with-single-extends")
2156
+
2157
+ allowObjectTypes?: ("always" | "never")
2158
+
2159
+ allowWithName?: string
2160
+ }]
2161
+ // ----- @typescript-eslint/no-explicit-any -----
2162
+ type TypescriptEslintNoExplicitAny = []|[{
2163
+
2164
+ fixToUnknown?: boolean
2165
+
2166
+ ignoreRestArgs?: boolean
2167
+ }]
2168
+ // ----- @typescript-eslint/no-extraneous-class -----
2169
+ type TypescriptEslintNoExtraneousClass = []|[{
2170
+
2171
+ allowConstructorOnly?: boolean
2172
+
2173
+ allowEmpty?: boolean
2174
+
2175
+ allowStaticOnly?: boolean
2176
+
2177
+ allowWithDecorator?: boolean
2178
+ }]
2179
+ // ----- @typescript-eslint/no-floating-promises -----
2180
+ type TypescriptEslintNoFloatingPromises = []|[{
2181
+
2182
+ allowForKnownSafePromises?: (string | {
2183
+ from: "file"
2184
+ name: (string | [string, ...(string)[]])
2185
+ path?: string
2186
+ } | {
2187
+ from: "lib"
2188
+ name: (string | [string, ...(string)[]])
2189
+ } | {
2190
+ from: "package"
2191
+ name: (string | [string, ...(string)[]])
2192
+ package: string
2193
+ })[]
2194
+
2195
+ allowForKnownSafeCalls?: (string | {
2196
+ from: "file"
2197
+ name: (string | [string, ...(string)[]])
2198
+ path?: string
2199
+ } | {
2200
+ from: "lib"
2201
+ name: (string | [string, ...(string)[]])
2202
+ } | {
2203
+ from: "package"
2204
+ name: (string | [string, ...(string)[]])
2205
+ package: string
2206
+ })[]
2207
+
2208
+ checkThenables?: boolean
2209
+
2210
+ ignoreVoid?: boolean
2211
+
2212
+ ignoreIIFE?: boolean
2213
+ }]
2214
+ // ----- @typescript-eslint/no-inferrable-types -----
2215
+ type TypescriptEslintNoInferrableTypes = []|[{
2216
+
2217
+ ignoreParameters?: boolean
2218
+
2219
+ ignoreProperties?: boolean
2220
+ }]
2221
+ // ----- @typescript-eslint/no-invalid-this -----
2222
+ type TypescriptEslintNoInvalidThis = []|[{
2223
+ capIsConstructor?: boolean
2224
+ }]
2225
+ // ----- @typescript-eslint/no-invalid-void-type -----
2226
+ type TypescriptEslintNoInvalidVoidType = []|[{
2227
+
2228
+ allowInGenericTypeArguments?: (boolean | [string, ...(string)[]])
2229
+
2230
+ allowAsThisParameter?: boolean
2231
+ }]
2232
+ // ----- @typescript-eslint/no-magic-numbers -----
2233
+ type TypescriptEslintNoMagicNumbers = []|[{
2234
+ detectObjects?: boolean
2235
+ enforceConst?: boolean
2236
+ ignore?: (number | string)[]
2237
+ ignoreArrayIndexes?: boolean
2238
+ ignoreDefaultValues?: boolean
2239
+ ignoreClassFieldInitialValues?: boolean
2240
+
2241
+ ignoreNumericLiteralTypes?: boolean
2242
+
2243
+ ignoreEnums?: boolean
2244
+
2245
+ ignoreReadonlyClassProperties?: boolean
2246
+
2247
+ ignoreTypeIndexes?: boolean
2248
+ }]
2249
+ // ----- @typescript-eslint/no-meaningless-void-operator -----
2250
+ type TypescriptEslintNoMeaninglessVoidOperator = []|[{
2251
+
2252
+ checkNever?: boolean
2253
+ }]
2254
+ // ----- @typescript-eslint/no-misused-promises -----
2255
+ type TypescriptEslintNoMisusedPromises = []|[{
2256
+ checksConditionals?: boolean
2257
+ checksVoidReturn?: (boolean | {
2258
+
2259
+ arguments?: boolean
2260
+
2261
+ attributes?: boolean
2262
+
2263
+ inheritedMethods?: boolean
2264
+
2265
+ properties?: boolean
2266
+
2267
+ returns?: boolean
2268
+
2269
+ variables?: boolean
2270
+ })
2271
+
2272
+ checksSpreads?: boolean
2273
+ }]
2274
+ // ----- @typescript-eslint/no-namespace -----
2275
+ type TypescriptEslintNoNamespace = []|[{
2276
+
2277
+ allowDeclarations?: boolean
2278
+
2279
+ allowDefinitionFiles?: boolean
2280
+ }]
2281
+ // ----- @typescript-eslint/no-redeclare -----
2282
+ type TypescriptEslintNoRedeclare = []|[{
2283
+
2284
+ builtinGlobals?: boolean
2285
+
2286
+ ignoreDeclarationMerge?: boolean
2287
+ }]
2288
+ // ----- @typescript-eslint/no-require-imports -----
2289
+ type TypescriptEslintNoRequireImports = []|[{
2290
+
2291
+ allow?: string[]
2292
+
2293
+ allowAsImport?: boolean
2294
+ }]
2295
+ // ----- @typescript-eslint/no-restricted-imports -----
2296
+ type TypescriptEslintNoRestrictedImports = ((string | {
2297
+ name: string
2298
+ message?: string
2299
+ importNames?: string[]
2300
+ allowImportNames?: string[]
2301
+
2302
+ allowTypeImports?: boolean
2303
+ })[] | []|[{
2304
+ paths?: (string | {
2305
+ name: string
2306
+ message?: string
2307
+ importNames?: string[]
2308
+ allowImportNames?: string[]
2309
+
2310
+ allowTypeImports?: boolean
2311
+ })[]
2312
+ patterns?: (string[] | {
2313
+
2314
+ importNames?: [string, ...(string)[]]
2315
+
2316
+ allowImportNames?: [string, ...(string)[]]
2317
+
2318
+ group?: [string, ...(string)[]]
2319
+ regex?: string
2320
+ importNamePattern?: string
2321
+ allowImportNamePattern?: string
2322
+ message?: string
2323
+ caseSensitive?: boolean
2324
+
2325
+ allowTypeImports?: boolean
2326
+ }[])
2327
+ }])
2328
+ // ----- @typescript-eslint/no-restricted-types -----
2329
+ type TypescriptEslintNoRestrictedTypes = []|[{
2330
+ types?: {
2331
+ [k: string]: (true | string | {
2332
+
2333
+ message?: string
2334
+
2335
+ fixWith?: string
2336
+
2337
+ suggest?: string[]
2338
+ }) | undefined
2339
+ }
2340
+ }]
2341
+ // ----- @typescript-eslint/no-shadow -----
2342
+ type TypescriptEslintNoShadow = []|[{
2343
+
2344
+ builtinGlobals?: boolean
2345
+
2346
+ hoist?: ("all" | "functions" | "never")
2347
+
2348
+ allow?: string[]
2349
+
2350
+ ignoreOnInitialization?: boolean
2351
+
2352
+ ignoreTypeValueShadow?: boolean
2353
+
2354
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
2355
+ }]
2356
+ // ----- @typescript-eslint/no-this-alias -----
2357
+ type TypescriptEslintNoThisAlias = []|[{
2358
+
2359
+ allowDestructuring?: boolean
2360
+
2361
+ allowedNames?: string[]
2362
+ }]
2363
+ // ----- @typescript-eslint/no-type-alias -----
2364
+ type TypescriptEslintNoTypeAlias = []|[{
2365
+
2366
+ allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2367
+
2368
+ allowCallbacks?: ("always" | "never")
2369
+
2370
+ allowConditionalTypes?: ("always" | "never")
2371
+
2372
+ allowConstructors?: ("always" | "never")
2373
+
2374
+ allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2375
+
2376
+ allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2377
+
2378
+ allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2379
+
2380
+ allowGenerics?: ("always" | "never")
2381
+ }]
2382
+ // ----- @typescript-eslint/no-unnecessary-boolean-literal-compare -----
2383
+ type TypescriptEslintNoUnnecessaryBooleanLiteralCompare = []|[{
2384
+
2385
+ allowComparingNullableBooleansToTrue?: boolean
2386
+
2387
+ allowComparingNullableBooleansToFalse?: boolean
2388
+ }]
2389
+ // ----- @typescript-eslint/no-unnecessary-condition -----
2390
+ type TypescriptEslintNoUnnecessaryCondition = []|[{
2391
+
2392
+ allowConstantLoopConditions?: boolean
2393
+
2394
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
2395
+ }]
2396
+ // ----- @typescript-eslint/no-unnecessary-type-assertion -----
2397
+ type TypescriptEslintNoUnnecessaryTypeAssertion = []|[{
2398
+
2399
+ typesToIgnore?: string[]
2400
+ }]
2401
+ // ----- @typescript-eslint/no-unused-expressions -----
2402
+ type TypescriptEslintNoUnusedExpressions = []|[{
2403
+ allowShortCircuit?: boolean
2404
+ allowTernary?: boolean
2405
+ allowTaggedTemplates?: boolean
2406
+ enforceForJSX?: boolean
2407
+ }]
2408
+ // ----- @typescript-eslint/no-unused-vars -----
2409
+ type TypescriptEslintNoUnusedVars = []|[(("all" | "local") | {
2410
+
2411
+ vars?: ("all" | "local")
2412
+
2413
+ varsIgnorePattern?: string
2414
+
2415
+ args?: ("all" | "after-used" | "none")
2416
+
2417
+ argsIgnorePattern?: string
2418
+
2419
+ caughtErrors?: ("all" | "none")
2420
+
2421
+ caughtErrorsIgnorePattern?: string
2422
+
2423
+ destructuredArrayIgnorePattern?: string
2424
+
2425
+ ignoreClassWithStaticInitBlock?: boolean
2426
+
2427
+ ignoreRestSiblings?: boolean
2428
+
2429
+ reportUsedIgnorePattern?: boolean
2430
+ })]
2431
+ // ----- @typescript-eslint/no-use-before-define -----
2432
+ type TypescriptEslintNoUseBeforeDefine = []|[("nofunc" | {
2433
+
2434
+ functions?: boolean
2435
+
2436
+ classes?: boolean
2437
+
2438
+ enums?: boolean
2439
+
2440
+ variables?: boolean
2441
+
2442
+ typedefs?: boolean
2443
+
2444
+ ignoreTypeReferences?: boolean
2445
+ allowNamedExports?: boolean
2446
+ })]
2447
+ // ----- @typescript-eslint/no-var-requires -----
2448
+ type TypescriptEslintNoVarRequires = []|[{
2449
+
2450
+ allow?: string[]
2451
+ }]
2452
+ // ----- @typescript-eslint/only-throw-error -----
2453
+ type TypescriptEslintOnlyThrowError = []|[{
2454
+
2455
+ allowThrowingAny?: boolean
2456
+
2457
+ allowThrowingUnknown?: boolean
2458
+ }]
2459
+ // ----- @typescript-eslint/parameter-properties -----
2460
+ type TypescriptEslintParameterProperties = []|[{
2461
+
2462
+ allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[]
2463
+
2464
+ prefer?: ("class-property" | "parameter-property")
2465
+ }]
2466
+ // ----- @typescript-eslint/prefer-destructuring -----
2467
+ type TypescriptEslintPreferDestructuring = []|[({
2468
+ VariableDeclarator?: {
2469
+ array?: boolean
2470
+ object?: boolean
2471
+ }
2472
+ AssignmentExpression?: {
2473
+ array?: boolean
2474
+ object?: boolean
2475
+ }
2476
+ } | {
2477
+ array?: boolean
2478
+ object?: boolean
2479
+ })]|[({
2480
+ VariableDeclarator?: {
2481
+ array?: boolean
2482
+ object?: boolean
2483
+ }
2484
+ AssignmentExpression?: {
2485
+ array?: boolean
2486
+ object?: boolean
2487
+ }
2488
+ } | {
2489
+ array?: boolean
2490
+ object?: boolean
2491
+ }), {
2492
+ enforceForRenamedProperties?: boolean
2493
+ enforceForDeclarationWithTypeAnnotation?: boolean
2494
+ [k: string]: unknown | undefined
2495
+ }]
2496
+ // ----- @typescript-eslint/prefer-literal-enum-member -----
2497
+ type TypescriptEslintPreferLiteralEnumMember = []|[{
2498
+
2499
+ allowBitwiseExpressions?: boolean
2500
+ }]
2501
+ // ----- @typescript-eslint/prefer-nullish-coalescing -----
2502
+ type TypescriptEslintPreferNullishCoalescing = []|[{
2503
+
2504
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
2505
+
2506
+ ignoreConditionalTests?: boolean
2507
+
2508
+ ignoreMixedLogicalExpressions?: boolean
2509
+
2510
+ ignorePrimitives?: ({
2511
+ bigint?: boolean
2512
+ boolean?: boolean
2513
+ number?: boolean
2514
+ string?: boolean
2515
+ [k: string]: unknown | undefined
2516
+ } | true)
2517
+
2518
+ ignoreTernaryTests?: boolean
2519
+ }]
2520
+ // ----- @typescript-eslint/prefer-optional-chain -----
2521
+ type TypescriptEslintPreferOptionalChain = []|[{
2522
+
2523
+ checkAny?: boolean
2524
+
2525
+ checkUnknown?: boolean
2526
+
2527
+ checkString?: boolean
2528
+
2529
+ checkNumber?: boolean
2530
+
2531
+ checkBoolean?: boolean
2532
+
2533
+ checkBigInt?: boolean
2534
+
2535
+ requireNullish?: boolean
2536
+
2537
+ allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean
2538
+ }]
2539
+ // ----- @typescript-eslint/prefer-promise-reject-errors -----
2540
+ type TypescriptEslintPreferPromiseRejectErrors = []|[{
2541
+
2542
+ allowEmptyReject?: boolean
2543
+ }]
2544
+ // ----- @typescript-eslint/prefer-readonly -----
2545
+ type TypescriptEslintPreferReadonly = []|[{
2546
+
2547
+ onlyInlineLambdas?: boolean
2548
+ }]
2549
+ // ----- @typescript-eslint/prefer-readonly-parameter-types -----
2550
+ type TypescriptEslintPreferReadonlyParameterTypes = []|[{
2551
+
2552
+ allow?: (string | {
2553
+ from: "file"
2554
+ name: (string | [string, ...(string)[]])
2555
+ path?: string
2556
+ } | {
2557
+ from: "lib"
2558
+ name: (string | [string, ...(string)[]])
2559
+ } | {
2560
+ from: "package"
2561
+ name: (string | [string, ...(string)[]])
2562
+ package: string
2563
+ })[]
2564
+
2565
+ checkParameterProperties?: boolean
2566
+
2567
+ ignoreInferredTypes?: boolean
2568
+
2569
+ treatMethodsAsReadonly?: boolean
2570
+ }]
2571
+ // ----- @typescript-eslint/prefer-string-starts-ends-with -----
2572
+ type TypescriptEslintPreferStringStartsEndsWith = []|[{
2573
+
2574
+ allowSingleElementEquality?: ("always" | "never")
2575
+ }]
2576
+ // ----- @typescript-eslint/promise-function-async -----
2577
+ type TypescriptEslintPromiseFunctionAsync = []|[{
2578
+
2579
+ allowAny?: boolean
2580
+
2581
+ allowedPromiseNames?: string[]
2582
+
2583
+ checkArrowFunctions?: boolean
2584
+
2585
+ checkFunctionDeclarations?: boolean
2586
+
2587
+ checkFunctionExpressions?: boolean
2588
+
2589
+ checkMethodDeclarations?: boolean
2590
+ }]
2591
+ // ----- @typescript-eslint/require-array-sort-compare -----
2592
+ type TypescriptEslintRequireArraySortCompare = []|[{
2593
+
2594
+ ignoreStringArrays?: boolean
2595
+ }]
2596
+ // ----- @typescript-eslint/restrict-plus-operands -----
2597
+ type TypescriptEslintRestrictPlusOperands = []|[{
2598
+
2599
+ allowAny?: boolean
2600
+
2601
+ allowBoolean?: boolean
2602
+
2603
+ allowNullish?: boolean
2604
+
2605
+ allowNumberAndString?: boolean
2606
+
2607
+ allowRegExp?: boolean
2608
+
2609
+ skipCompoundAssignments?: boolean
2610
+ }]
2611
+ // ----- @typescript-eslint/restrict-template-expressions -----
2612
+ type TypescriptEslintRestrictTemplateExpressions = []|[{
2613
+
2614
+ allowAny?: boolean
2615
+
2616
+ allowArray?: boolean
2617
+
2618
+ allowBoolean?: boolean
2619
+
2620
+ allowNullish?: boolean
2621
+
2622
+ allowNumber?: boolean
2623
+
2624
+ allowRegExp?: boolean
2625
+
2626
+ allowNever?: boolean
2627
+ }]
2628
+ // ----- @typescript-eslint/return-await -----
2629
+ type TypescriptEslintReturnAwait = []|[(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)]
2630
+ // ----- @typescript-eslint/sort-type-constituents -----
2631
+ type TypescriptEslintSortTypeConstituents = []|[{
2632
+
2633
+ checkIntersections?: boolean
2634
+
2635
+ checkUnions?: boolean
2636
+
2637
+ caseSensitive?: boolean
2638
+
2639
+ groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[]
2640
+ }]
2641
+ // ----- @typescript-eslint/strict-boolean-expressions -----
2642
+ type TypescriptEslintStrictBooleanExpressions = []|[{
2643
+
2644
+ allowString?: boolean
2645
+
2646
+ allowNumber?: boolean
2647
+
2648
+ allowNullableObject?: boolean
2649
+
2650
+ allowNullableBoolean?: boolean
2651
+
2652
+ allowNullableString?: boolean
2653
+
2654
+ allowNullableNumber?: boolean
2655
+
2656
+ allowNullableEnum?: boolean
2657
+
2658
+ allowAny?: boolean
2659
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
2660
+ }]
2661
+ // ----- @typescript-eslint/switch-exhaustiveness-check -----
2662
+ type TypescriptEslintSwitchExhaustivenessCheck = []|[{
2663
+
2664
+ allowDefaultCaseForExhaustiveSwitch?: boolean
2665
+
2666
+ requireDefaultForNonUnion?: boolean
2667
+ }]
2668
+ // ----- @typescript-eslint/triple-slash-reference -----
2669
+ type TypescriptEslintTripleSlashReference = []|[{
2670
+
2671
+ lib?: ("always" | "never")
2672
+
2673
+ path?: ("always" | "never")
2674
+
2675
+ types?: ("always" | "never" | "prefer-import")
2676
+ }]
2677
+ // ----- @typescript-eslint/typedef -----
2678
+ type TypescriptEslintTypedef = []|[{
2679
+
2680
+ arrayDestructuring?: boolean
2681
+
2682
+ arrowParameter?: boolean
2683
+
2684
+ memberVariableDeclaration?: boolean
2685
+
2686
+ objectDestructuring?: boolean
2687
+
2688
+ parameter?: boolean
2689
+
2690
+ propertyDeclaration?: boolean
2691
+
2692
+ variableDeclaration?: boolean
2693
+
2694
+ variableDeclarationIgnoreFunction?: boolean
2695
+ }]
2696
+ // ----- @typescript-eslint/unbound-method -----
2697
+ type TypescriptEslintUnboundMethod = []|[{
2698
+
2699
+ ignoreStatic?: boolean
2700
+ }]
2701
+ // ----- @typescript-eslint/unified-signatures -----
2702
+ type TypescriptEslintUnifiedSignatures = []|[{
2703
+
2704
+ ignoreDifferentlyNamedParameters?: boolean
2705
+ }]
2706
+ // ----- eslint-comments/disable-enable-pair -----
2707
+ type EslintCommentsDisableEnablePair = []|[{
2708
+ allowWholeFile?: boolean
2709
+ }]
2710
+ // ----- eslint-comments/no-restricted-disable -----
2711
+ type EslintCommentsNoRestrictedDisable = string[]
2712
+ // ----- eslint-comments/no-use -----
2713
+ type EslintCommentsNoUse = []|[{
2714
+ allow?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
2715
+ }]
2716
+ // ----- eslint-comments/require-description -----
2717
+ type EslintCommentsRequireDescription = []|[{
2718
+ ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[]
2719
+ }]
2720
+ // ----- import-x/consistent-type-specifier-style -----
2721
+ type ImportXConsistentTypeSpecifierStyle = []|[("prefer-inline" | "prefer-top-level")]
2722
+ // ----- import-x/dynamic-import-chunkname -----
2723
+ type ImportXDynamicImportChunkname = []|[{
2724
+ importFunctions?: string[]
2725
+ allowEmpty?: boolean
2726
+ webpackChunknameFormat?: string
2727
+ [k: string]: unknown | undefined
2728
+ }]
2729
+ // ----- import-x/extensions -----
2730
+ type ImportXExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
2731
+ pattern?: {
2732
+ [k: string]: ("always" | "ignorePackages" | "never")
2733
+ }
2734
+ ignorePackages?: boolean
2735
+ [k: string]: unknown | undefined
2736
+ }] | []|[{
2737
+ pattern?: {
2738
+ [k: string]: ("always" | "ignorePackages" | "never")
2739
+ }
2740
+ ignorePackages?: boolean
2741
+ [k: string]: unknown | undefined
2742
+ }] | []|[{
2743
+ [k: string]: ("always" | "ignorePackages" | "never")
2744
+ }] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
2745
+ [k: string]: ("always" | "ignorePackages" | "never")
2746
+ }])
2747
+ // ----- import-x/first -----
2748
+ type ImportXFirst = []|[("absolute-first" | "disable-absolute-first")]
2749
+ // ----- import-x/imports-first -----
2750
+ type ImportXImportsFirst = []|[("absolute-first" | "disable-absolute-first")]
2751
+ // ----- import-x/max-dependencies -----
2752
+ type ImportXMaxDependencies = []|[{
2753
+ max?: number
2754
+ ignoreTypeImports?: boolean
2755
+ }]
2756
+ // ----- import-x/named -----
2757
+ type ImportXNamed = []|[{
2758
+ commonjs?: boolean
2759
+ }]
2760
+ // ----- import-x/namespace -----
2761
+ type ImportXNamespace = []|[{
2762
+
2763
+ allowComputed?: boolean
2764
+ }]
2765
+ // ----- import-x/newline-after-import -----
2766
+ type ImportXNewlineAfterImport = []|[{
2767
+ count?: number
2768
+ exactCount?: boolean
2769
+ considerComments?: boolean
2770
+ }]
2771
+ // ----- import-x/no-absolute-path -----
2772
+ type ImportXNoAbsolutePath = []|[{
2773
+ commonjs?: boolean
2774
+ amd?: boolean
2775
+ esmodule?: boolean
2776
+
2777
+ ignore?: [string, ...(string)[]]
2778
+ }]
2779
+ // ----- import-x/no-anonymous-default-export -----
2780
+ type ImportXNoAnonymousDefaultExport = []|[{
2781
+
2782
+ allowArray?: boolean
2783
+
2784
+ allowArrowFunction?: boolean
2785
+
2786
+ allowCallExpression?: boolean
2787
+
2788
+ allowAnonymousClass?: boolean
2789
+
2790
+ allowAnonymousFunction?: boolean
2791
+
2792
+ allowLiteral?: boolean
2793
+
2794
+ allowObject?: boolean
2795
+
2796
+ allowNew?: boolean
2797
+ }]
2798
+ // ----- import-x/no-commonjs -----
2799
+ type ImportXNoCommonjs = ([]|["allow-primitive-modules"] | []|[{
2800
+ allowPrimitiveModules?: boolean
2801
+ allowRequire?: boolean
2802
+ allowConditionalRequire?: boolean
2803
+ }])
2804
+ // ----- import-x/no-cycle -----
2805
+ type ImportXNoCycle = []|[{
2806
+ commonjs?: boolean
2807
+ amd?: boolean
2808
+ esmodule?: boolean
2809
+
2810
+ ignore?: [string, ...(string)[]]
2811
+ maxDepth?: (number | "∞")
2812
+
2813
+ ignoreExternal?: boolean
2814
+
2815
+ allowUnsafeDynamicCyclicDependency?: boolean
2816
+ }]
2817
+ // ----- import-x/no-duplicates -----
2818
+ type ImportXNoDuplicates = []|[{
2819
+ considerQueryString?: boolean
2820
+ "prefer-inline"?: boolean
2821
+ }]
2822
+ // ----- import-x/no-dynamic-require -----
2823
+ type ImportXNoDynamicRequire = []|[{
2824
+ esmodule?: boolean
2825
+ }]
2826
+ // ----- import-x/no-extraneous-dependencies -----
2827
+ type ImportXNoExtraneousDependencies = []|[{
2828
+ devDependencies?: (boolean | unknown[])
2829
+ optionalDependencies?: (boolean | unknown[])
2830
+ peerDependencies?: (boolean | unknown[])
2831
+ bundledDependencies?: (boolean | unknown[])
2832
+ packageDir?: (string | unknown[])
2833
+ includeInternal?: boolean
2834
+ includeTypes?: boolean
2835
+ whitelist?: unknown[]
2836
+ }]
2837
+ // ----- import-x/no-import-module-exports -----
2838
+ type ImportXNoImportModuleExports = []|[{
2839
+ exceptions?: unknown[]
2840
+ }]
2841
+ // ----- import-x/no-internal-modules -----
2842
+ type ImportXNoInternalModules = []|[({
2843
+ allow?: string[]
2844
+ } | {
2845
+ forbid?: string[]
2846
+ })]
2847
+ // ----- import-x/no-namespace -----
2848
+ type ImportXNoNamespace = []|[{
2849
+ ignore?: string[]
2850
+ [k: string]: unknown | undefined
2851
+ }]
2852
+ // ----- import-x/no-nodejs-modules -----
2853
+ type ImportXNoNodejsModules = []|[{
2854
+ allow?: string[]
2855
+ }]
2856
+ // ----- import-x/no-relative-packages -----
2857
+ type ImportXNoRelativePackages = []|[{
2858
+ commonjs?: boolean
2859
+ amd?: boolean
2860
+ esmodule?: boolean
2861
+
2862
+ ignore?: [string, ...(string)[]]
2863
+ }]
2864
+ // ----- import-x/no-relative-parent-imports -----
2865
+ type ImportXNoRelativeParentImports = []|[{
2866
+ commonjs?: boolean
2867
+ amd?: boolean
2868
+ esmodule?: boolean
2869
+
2870
+ ignore?: [string, ...(string)[]]
2871
+ }]
2872
+ // ----- import-x/no-rename-default -----
2873
+ type ImportXNoRenameDefault = []|[{
2874
+ commonjs?: boolean
2875
+ preventRenamingBindings?: boolean
2876
+ }]
2877
+ // ----- import-x/no-restricted-paths -----
2878
+ type ImportXNoRestrictedPaths = []|[{
2879
+
2880
+ zones?: [{
2881
+ target?: (string | [string, ...(string)[]])
2882
+ from?: (string | [string, ...(string)[]])
2883
+ except?: string[]
2884
+ message?: string
2885
+ }, ...({
2886
+ target?: (string | [string, ...(string)[]])
2887
+ from?: (string | [string, ...(string)[]])
2888
+ except?: string[]
2889
+ message?: string
2890
+ })[]]
2891
+ basePath?: string
2892
+ }]
2893
+ // ----- import-x/no-unassigned-import -----
2894
+ type ImportXNoUnassignedImport = []|[{
2895
+ devDependencies?: (boolean | unknown[])
2896
+ optionalDependencies?: (boolean | unknown[])
2897
+ peerDependencies?: (boolean | unknown[])
2898
+ allow?: string[]
2899
+ }]
2900
+ // ----- import-x/no-unresolved -----
2901
+ type ImportXNoUnresolved = []|[{
2902
+ commonjs?: boolean
2903
+ amd?: boolean
2904
+ esmodule?: boolean
2905
+
2906
+ ignore?: [string, ...(string)[]]
2907
+ caseSensitive?: boolean
2908
+ caseSensitiveStrict?: boolean
2909
+ }]
2910
+ // ----- import-x/no-unused-modules -----
2911
+ type ImportXNoUnusedModules = []|[({
2912
+ unusedExports: true
2913
+
2914
+ src?: [unknown, ...(unknown)[]]
2915
+ [k: string]: unknown | undefined
2916
+ } | {
2917
+ missingExports: true
2918
+ [k: string]: unknown | undefined
2919
+ })]
2920
+ // ----- import-x/no-useless-path-segments -----
2921
+ type ImportXNoUselessPathSegments = []|[{
2922
+ commonjs?: boolean
2923
+ noUselessIndex?: boolean
2924
+ }]
2925
+ // ----- import-x/order -----
2926
+ type ImportXOrder = []|[{
2927
+ groups?: unknown[]
2928
+ pathGroupsExcludedImportTypes?: unknown[]
2929
+ distinctGroup?: boolean
2930
+ pathGroups?: {
2931
+ pattern: string
2932
+ patternOptions?: {
2933
+ [k: string]: unknown | undefined
2934
+ }
2935
+ group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")
2936
+ position?: ("after" | "before")
2937
+ }[]
2938
+ "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
2939
+ alphabetize?: {
2940
+ caseInsensitive?: boolean
2941
+ order?: ("ignore" | "asc" | "desc")
2942
+ orderImportKind?: ("ignore" | "asc" | "desc")
2943
+ }
2944
+ warnOnUnassignedImports?: boolean
2945
+ }]
2946
+ // ----- import-x/prefer-default-export -----
2947
+ type ImportXPreferDefaultExport = []|[{
2948
+ target?: ("single" | "any")
2949
+ }]
2950
+ // ----- jsdoc/check-examples -----
2951
+ type JsdocCheckExamples = []|[{
2952
+ allowInlineConfig?: boolean
2953
+ baseConfig?: {
2954
+ [k: string]: unknown | undefined
2955
+ }
2956
+ captionRequired?: boolean
2957
+ checkDefaults?: boolean
2958
+ checkEslintrc?: boolean
2959
+ checkParams?: boolean
2960
+ checkProperties?: boolean
2961
+ configFile?: string
2962
+ exampleCodeRegex?: string
2963
+ matchingFileName?: string
2964
+ matchingFileNameDefaults?: string
2965
+ matchingFileNameParams?: string
2966
+ matchingFileNameProperties?: string
2967
+ noDefaultExampleRules?: boolean
2968
+ paddedIndent?: number
2969
+ rejectExampleCodeRegex?: string
2970
+ reportUnusedDisableDirectives?: boolean
2971
+ }]
2972
+ // ----- jsdoc/check-indentation -----
2973
+ type JsdocCheckIndentation = []|[{
2974
+ excludeTags?: string[]
2975
+ }]
2976
+ // ----- jsdoc/check-line-alignment -----
2977
+ type JsdocCheckLineAlignment = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
2978
+ customSpacings?: {
2979
+ postDelimiter?: number
2980
+ postHyphen?: number
2981
+ postName?: number
2982
+ postTag?: number
2983
+ postType?: number
2984
+ }
2985
+ preserveMainDescriptionPostDelimiter?: boolean
2986
+ tags?: string[]
2987
+ wrapIndent?: string
2988
+ disableWrapIndent?: boolean
2989
+ }]
2990
+ // ----- jsdoc/check-param-names -----
2991
+ type JsdocCheckParamNames = []|[{
2992
+ allowExtraTrailingParamDocs?: boolean
2993
+ checkDestructured?: boolean
2994
+ checkRestProperty?: boolean
2995
+ checkTypesPattern?: string
2996
+ disableExtraPropertyReporting?: boolean
2997
+ disableMissingParamChecks?: boolean
2998
+ enableFixer?: boolean
2999
+ useDefaultObjectProperties?: boolean
3000
+ }]
3001
+ // ----- jsdoc/check-property-names -----
3002
+ type JsdocCheckPropertyNames = []|[{
3003
+ enableFixer?: boolean
3004
+ }]
3005
+ // ----- jsdoc/check-tag-names -----
3006
+ type JsdocCheckTagNames = []|[{
3007
+ definedTags?: string[]
3008
+ enableFixer?: boolean
3009
+ jsxTags?: boolean
3010
+ typed?: boolean
3011
+ }]
3012
+ // ----- jsdoc/check-types -----
3013
+ type JsdocCheckTypes = []|[{
3014
+ exemptTagContexts?: {
3015
+ tag?: string
3016
+ types?: (boolean | string[])
3017
+ }[]
3018
+ noDefaults?: boolean
3019
+ unifyParentAndChildTypeChecks?: boolean
3020
+ }]
3021
+ // ----- jsdoc/check-values -----
3022
+ type JsdocCheckValues = []|[{
3023
+ allowedAuthors?: string[]
3024
+ allowedLicenses?: (string[] | boolean)
3025
+ licensePattern?: string
3026
+ numericOnlyVariation?: boolean
3027
+ }]
3028
+ // ----- jsdoc/convert-to-jsdoc-comments -----
3029
+ type JsdocConvertToJsdocComments = []|[{
3030
+ allowedPrefixes?: string[]
3031
+ contexts?: (string | {
3032
+ context?: string
3033
+ inlineCommentBlock?: boolean
3034
+ })[]
3035
+ contextsAfter?: (string | {
3036
+ context?: string
3037
+ inlineCommentBlock?: boolean
3038
+ })[]
3039
+ contextsBeforeAndAfter?: (string | {
3040
+ context?: string
3041
+ inlineCommentBlock?: boolean
3042
+ })[]
3043
+ enableFixer?: boolean
3044
+ enforceJsdocLineStyle?: ("multi" | "single")
3045
+ lineOrBlockStyle?: ("block" | "line" | "both")
3046
+ }]
3047
+ // ----- jsdoc/empty-tags -----
3048
+ type JsdocEmptyTags = []|[{
3049
+ tags?: string[]
3050
+ }]
3051
+ // ----- jsdoc/implements-on-classes -----
3052
+ type JsdocImplementsOnClasses = []|[{
3053
+ contexts?: (string | {
3054
+ comment?: string
3055
+ context?: string
3056
+ })[]
3057
+ }]
3058
+ // ----- jsdoc/informative-docs -----
3059
+ type JsdocInformativeDocs = []|[{
3060
+ aliases?: {
3061
+ [k: string]: string[]
3062
+ }
3063
+ excludedTags?: string[]
3064
+ uselessWords?: string[]
3065
+ }]
3066
+ // ----- jsdoc/lines-before-block -----
3067
+ type JsdocLinesBeforeBlock = []|[{
3068
+ excludedTags?: string[]
3069
+ ignoreSameLine?: boolean
3070
+ lines?: number
3071
+ }]
3072
+ // ----- jsdoc/match-description -----
3073
+ type JsdocMatchDescription = []|[{
3074
+ contexts?: (string | {
3075
+ comment?: string
3076
+ context?: string
3077
+ })[]
3078
+ mainDescription?: (string | boolean | {
3079
+ match?: (string | boolean)
3080
+ message?: string
3081
+ })
3082
+ matchDescription?: string
3083
+ message?: string
3084
+ nonemptyTags?: boolean
3085
+ tags?: {
3086
+ [k: string]: (string | true | {
3087
+ match?: (string | true)
3088
+ message?: string
3089
+ })
3090
+ }
3091
+ }]
3092
+ // ----- jsdoc/match-name -----
3093
+ type JsdocMatchName = []|[{
3094
+ match: {
3095
+ allowName?: string
3096
+ comment?: string
3097
+ context?: string
3098
+ disallowName?: string
3099
+ message?: string
3100
+ tags?: string[]
3101
+ [k: string]: unknown | undefined
3102
+ }[]
3103
+ }]
3104
+ // ----- jsdoc/multiline-blocks -----
3105
+ type JsdocMultilineBlocks = []|[{
3106
+ allowMultipleTags?: boolean
3107
+ minimumLengthForMultiline?: number
3108
+ multilineTags?: ("*" | string[])
3109
+ noFinalLineText?: boolean
3110
+ noMultilineBlocks?: boolean
3111
+ noSingleLineBlocks?: boolean
3112
+ noZeroLineText?: boolean
3113
+ singleLineTags?: string[]
3114
+ }]
3115
+ // ----- jsdoc/no-bad-blocks -----
3116
+ type JsdocNoBadBlocks = []|[{
3117
+ ignore?: string[]
3118
+ preventAllMultiAsteriskBlocks?: boolean
3119
+ }]
3120
+ // ----- jsdoc/no-blank-blocks -----
3121
+ type JsdocNoBlankBlocks = []|[{
3122
+ enableFixer?: boolean
3123
+ }]
3124
+ // ----- jsdoc/no-defaults -----
3125
+ type JsdocNoDefaults = []|[{
3126
+ contexts?: (string | {
3127
+ comment?: string
3128
+ context?: string
3129
+ })[]
3130
+ noOptionalParamNames?: boolean
3131
+ }]
3132
+ // ----- jsdoc/no-missing-syntax -----
3133
+ type JsdocNoMissingSyntax = []|[{
3134
+ contexts?: (string | {
3135
+ comment?: string
3136
+ context?: string
3137
+ message?: string
3138
+ minimum?: number
3139
+ })[]
3140
+ }]
3141
+ // ----- jsdoc/no-multi-asterisks -----
3142
+ type JsdocNoMultiAsterisks = []|[{
3143
+ allowWhitespace?: boolean
3144
+ preventAtEnd?: boolean
3145
+ preventAtMiddleLines?: boolean
3146
+ }]
3147
+ // ----- jsdoc/no-restricted-syntax -----
3148
+ type JsdocNoRestrictedSyntax = []|[{
3149
+ contexts: (string | {
3150
+ comment?: string
3151
+ context?: string
3152
+ message?: string
3153
+ })[]
3154
+ }]
3155
+ // ----- jsdoc/no-types -----
3156
+ type JsdocNoTypes = []|[{
3157
+ contexts?: (string | {
3158
+ comment?: string
3159
+ context?: string
3160
+ })[]
3161
+ }]
3162
+ // ----- jsdoc/no-undefined-types -----
3163
+ type JsdocNoUndefinedTypes = []|[{
3164
+ definedTypes?: string[]
3165
+ disableReporting?: boolean
3166
+ markVariablesAsUsed?: boolean
3167
+ }]
3168
+ // ----- jsdoc/require-asterisk-prefix -----
3169
+ type JsdocRequireAsteriskPrefix = []|[("always" | "never" | "any")]|[("always" | "never" | "any"), {
3170
+ tags?: {
3171
+ always?: string[]
3172
+ any?: string[]
3173
+ never?: string[]
3174
+ [k: string]: unknown | undefined
3175
+ }
3176
+ }]
3177
+ // ----- jsdoc/require-description -----
3178
+ type JsdocRequireDescription = []|[{
3179
+ checkConstructors?: boolean
3180
+ checkGetters?: boolean
3181
+ checkSetters?: boolean
3182
+ contexts?: (string | {
3183
+ comment?: string
3184
+ context?: string
3185
+ })[]
3186
+ descriptionStyle?: ("body" | "tag" | "any")
3187
+ exemptedBy?: string[]
3188
+ }]
3189
+ // ----- jsdoc/require-description-complete-sentence -----
3190
+ type JsdocRequireDescriptionCompleteSentence = []|[{
3191
+ abbreviations?: string[]
3192
+ newlineBeforeCapsAssumesBadSentenceEnd?: boolean
3193
+ tags?: string[]
3194
+ }]
3195
+ // ----- jsdoc/require-example -----
3196
+ type JsdocRequireExample = []|[{
3197
+ checkConstructors?: boolean
3198
+ checkGetters?: boolean
3199
+ checkSetters?: boolean
3200
+ contexts?: (string | {
3201
+ comment?: string
3202
+ context?: string
3203
+ })[]
3204
+ enableFixer?: boolean
3205
+ exemptedBy?: string[]
3206
+ exemptNoArguments?: boolean
3207
+ }]
3208
+ // ----- jsdoc/require-file-overview -----
3209
+ type JsdocRequireFileOverview = []|[{
3210
+ tags?: {
3211
+ [k: string]: {
3212
+ initialCommentsOnly?: boolean
3213
+ mustExist?: boolean
3214
+ preventDuplicates?: boolean
3215
+ }
3216
+ }
3217
+ }]
3218
+ // ----- jsdoc/require-hyphen-before-param-description -----
3219
+ type JsdocRequireHyphenBeforeParamDescription = []|[("always" | "never")]|[("always" | "never"), {
3220
+ tags?: ({
3221
+ [k: string]: ("always" | "never")
3222
+ } | "any")
3223
+ }]
3224
+ // ----- jsdoc/require-jsdoc -----
3225
+ type JsdocRequireJsdoc = []|[{
3226
+ checkConstructors?: boolean
3227
+ checkGetters?: (boolean | "no-setter")
3228
+ checkSetters?: (boolean | "no-getter")
3229
+ contexts?: (string | {
3230
+ context?: string
3231
+ inlineCommentBlock?: boolean
3232
+ minLineCount?: number
3233
+ })[]
3234
+ enableFixer?: boolean
3235
+ exemptEmptyConstructors?: boolean
3236
+ exemptEmptyFunctions?: boolean
3237
+ fixerMessage?: string
3238
+ minLineCount?: number
3239
+ publicOnly?: (boolean | {
3240
+ ancestorsOnly?: boolean
3241
+ cjs?: boolean
3242
+ esm?: boolean
3243
+ window?: boolean
3244
+ })
3245
+ require?: {
3246
+ ArrowFunctionExpression?: boolean
3247
+ ClassDeclaration?: boolean
3248
+ ClassExpression?: boolean
3249
+ FunctionDeclaration?: boolean
3250
+ FunctionExpression?: boolean
3251
+ MethodDefinition?: boolean
3252
+ }
3253
+ }]
3254
+ // ----- jsdoc/require-param -----
3255
+ type JsdocRequireParam = []|[{
3256
+ autoIncrementBase?: number
3257
+ checkConstructors?: boolean
3258
+ checkDestructured?: boolean
3259
+ checkDestructuredRoots?: boolean
3260
+ checkGetters?: boolean
3261
+ checkRestProperty?: boolean
3262
+ checkSetters?: boolean
3263
+ checkTypesPattern?: string
3264
+ contexts?: (string | {
3265
+ comment?: string
3266
+ context?: string
3267
+ })[]
3268
+ enableFixer?: boolean
3269
+ enableRestElementFixer?: boolean
3270
+ enableRootFixer?: boolean
3271
+ exemptedBy?: string[]
3272
+ unnamedRootBase?: string[]
3273
+ useDefaultObjectProperties?: boolean
3274
+ }]
3275
+ // ----- jsdoc/require-param-description -----
3276
+ type JsdocRequireParamDescription = []|[{
3277
+ contexts?: (string | {
3278
+ comment?: string
3279
+ context?: string
3280
+ })[]
3281
+ defaultDestructuredRootDescription?: string
3282
+ setDefaultDestructuredRootDescription?: boolean
3283
+ }]
3284
+ // ----- jsdoc/require-param-name -----
3285
+ type JsdocRequireParamName = []|[{
3286
+ contexts?: (string | {
3287
+ comment?: string
3288
+ context?: string
3289
+ })[]
3290
+ }]
3291
+ // ----- jsdoc/require-param-type -----
3292
+ type JsdocRequireParamType = []|[{
3293
+ contexts?: (string | {
3294
+ comment?: string
3295
+ context?: string
3296
+ })[]
3297
+ defaultDestructuredRootType?: string
3298
+ setDefaultDestructuredRootType?: boolean
3299
+ }]
3300
+ // ----- jsdoc/require-returns -----
3301
+ type JsdocRequireReturns = []|[{
3302
+ checkConstructors?: boolean
3303
+ checkGetters?: boolean
3304
+ contexts?: (string | {
3305
+ comment?: string
3306
+ context?: string
3307
+ forceRequireReturn?: boolean
3308
+ })[]
3309
+ enableFixer?: boolean
3310
+ exemptedBy?: string[]
3311
+ forceRequireReturn?: boolean
3312
+ forceReturnsWithAsync?: boolean
3313
+ publicOnly?: (boolean | {
3314
+ ancestorsOnly?: boolean
3315
+ cjs?: boolean
3316
+ esm?: boolean
3317
+ window?: boolean
3318
+ })
3319
+ }]
3320
+ // ----- jsdoc/require-returns-check -----
3321
+ type JsdocRequireReturnsCheck = []|[{
3322
+ exemptAsync?: boolean
3323
+ exemptGenerators?: boolean
3324
+ reportMissingReturnForUndefinedTypes?: boolean
3325
+ }]
3326
+ // ----- jsdoc/require-returns-description -----
3327
+ type JsdocRequireReturnsDescription = []|[{
3328
+ contexts?: (string | {
3329
+ comment?: string
3330
+ context?: string
3331
+ })[]
3332
+ }]
3333
+ // ----- jsdoc/require-returns-type -----
3334
+ type JsdocRequireReturnsType = []|[{
3335
+ contexts?: (string | {
3336
+ comment?: string
3337
+ context?: string
3338
+ })[]
3339
+ }]
3340
+ // ----- jsdoc/require-template -----
3341
+ type JsdocRequireTemplate = []|[{
3342
+ requireSeparateTemplates?: boolean
3343
+ }]
3344
+ // ----- jsdoc/require-throws -----
3345
+ type JsdocRequireThrows = []|[{
3346
+ contexts?: (string | {
3347
+ comment?: string
3348
+ context?: string
3349
+ })[]
3350
+ exemptedBy?: string[]
3351
+ }]
3352
+ // ----- jsdoc/require-yields -----
3353
+ type JsdocRequireYields = []|[{
3354
+ contexts?: (string | {
3355
+ comment?: string
3356
+ context?: string
3357
+ })[]
3358
+ exemptedBy?: string[]
3359
+ forceRequireNext?: boolean
3360
+ forceRequireYields?: boolean
3361
+ next?: boolean
3362
+ nextWithGeneratorTag?: boolean
3363
+ withGeneratorTag?: boolean
3364
+ }]
3365
+ // ----- jsdoc/require-yields-check -----
3366
+ type JsdocRequireYieldsCheck = []|[{
3367
+ checkGeneratorsOnly?: boolean
3368
+ contexts?: (string | {
3369
+ comment?: string
3370
+ context?: string
3371
+ })[]
3372
+ exemptedBy?: string[]
3373
+ next?: boolean
3374
+ }]
3375
+ // ----- jsdoc/sort-tags -----
3376
+ type JsdocSortTags = []|[{
3377
+ alphabetizeExtras?: boolean
3378
+ linesBetween?: number
3379
+ reportIntraTagGroupSpacing?: boolean
3380
+ reportTagGroupSpacing?: boolean
3381
+ tagSequence?: {
3382
+ tags?: string[]
3383
+ [k: string]: unknown | undefined
3384
+ }[]
3385
+ }]
3386
+ // ----- jsdoc/tag-lines -----
3387
+ type JsdocTagLines = []|[("always" | "any" | "never")]|[("always" | "any" | "never"), {
3388
+ applyToEndTag?: boolean
3389
+ count?: number
3390
+ endLines?: (number | null)
3391
+ startLines?: (number | null)
3392
+ tags?: {
3393
+ [k: string]: {
3394
+ count?: number
3395
+ lines?: ("always" | "never" | "any")
3396
+ }
3397
+ }
3398
+ }]
3399
+ // ----- jsdoc/text-escaping -----
3400
+ type JsdocTextEscaping = []|[{
3401
+ escapeHTML?: boolean
3402
+ escapeMarkdown?: boolean
3403
+ }]
3404
+ // ----- jsdoc/valid-types -----
3405
+ type JsdocValidTypes = []|[{
3406
+ allowEmptyNamepaths?: boolean
3407
+ }]
3408
+ // ----- perfectionist/sort-array-includes -----
3409
+ type PerfectionistSortArrayIncludes = []|[{
3410
+
3411
+ type?: ("alphabetical" | "natural" | "line-length")
3412
+
3413
+ order?: ("asc" | "desc")
3414
+
3415
+ ignoreCase?: boolean
3416
+
3417
+ groupKind?: ("mixed" | "literals-first" | "spreads-first")
3418
+ }]
3419
+ // ----- perfectionist/sort-astro-attributes -----
3420
+ type PerfectionistSortAstroAttributes = []|[{
3421
+
3422
+ type?: ("alphabetical" | "natural" | "line-length")
3423
+
3424
+ order?: ("asc" | "desc")
3425
+
3426
+ ignoreCase?: boolean
3427
+
3428
+ groups?: (string | string[])[]
3429
+
3430
+ customGroups?: {
3431
+ [k: string]: (string | string[]) | undefined
3432
+ }
3433
+ }]
3434
+ // ----- perfectionist/sort-classes -----
3435
+ type PerfectionistSortClasses = []|[{
3436
+
3437
+ type?: ("alphabetical" | "natural" | "line-length")
3438
+
3439
+ order?: ("asc" | "desc")
3440
+
3441
+ ignoreCase?: boolean
3442
+
3443
+ partitionByComment?: (string[] | boolean | string)
3444
+
3445
+ groups?: (string | string[])[]
3446
+
3447
+ customGroups?: ({
3448
+ [k: string]: (string | string[]) | undefined
3449
+ } | ({
3450
+
3451
+ groupName?: string
3452
+
3453
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
3454
+
3455
+ order?: ("desc" | "asc")
3456
+ anyOf?: {
3457
+
3458
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
3459
+
3460
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
3461
+
3462
+ elementNamePattern?: string
3463
+
3464
+ decoratorNamePattern?: string
3465
+ }[]
3466
+ } | {
3467
+
3468
+ groupName?: string
3469
+
3470
+ type?: ("alphabetical" | "line-length" | "natural" | "unsorted")
3471
+
3472
+ order?: ("desc" | "asc")
3473
+
3474
+ selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method")
3475
+
3476
+ modifiers?: ("protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[]
3477
+
3478
+ elementNamePattern?: string
3479
+
3480
+ decoratorNamePattern?: string
3481
+ })[])
3482
+ }]
3483
+ // ----- perfectionist/sort-enums -----
3484
+ type PerfectionistSortEnums = []|[{
3485
+
3486
+ type?: ("alphabetical" | "natural" | "line-length")
3487
+
3488
+ order?: ("asc" | "desc")
3489
+
3490
+ ignoreCase?: boolean
3491
+
3492
+ sortByValue?: boolean
3493
+
3494
+ forceNumericSort?: boolean
3495
+
3496
+ partitionByComment?: (string[] | boolean | string)
3497
+ }]
3498
+ // ----- perfectionist/sort-exports -----
3499
+ type PerfectionistSortExports = []|[{
3500
+
3501
+ type?: ("alphabetical" | "natural" | "line-length")
3502
+
3503
+ order?: ("asc" | "desc")
3504
+
3505
+ ignoreCase?: boolean
3506
+ }]
3507
+ // ----- perfectionist/sort-imports -----
3508
+ type PerfectionistSortImports = []|[_PerfectionistSortImportsSortImports]
3509
+ type _PerfectionistSortImportsSortImports = (_PerfectionistSortImportsMaxLineLengthRequiresLineLengthType & {
3510
+
3511
+ type?: ("alphabetical" | "natural" | "line-length")
3512
+
3513
+ order?: ("asc" | "desc")
3514
+
3515
+ ignoreCase?: boolean
3516
+
3517
+ internalPattern?: string[]
3518
+
3519
+ sortSideEffects?: boolean
3520
+
3521
+ newlinesBetween?: ("ignore" | "always" | "never")
3522
+
3523
+ maxLineLength?: number
3524
+
3525
+ groups?: (string | string[])[]
3526
+
3527
+ customGroups?: {
3528
+ type?: {
3529
+ [k: string]: unknown | undefined
3530
+ }
3531
+ value?: {
3532
+ [k: string]: unknown | undefined
3533
+ }
3534
+ }
3535
+
3536
+ environment?: ("node" | "bun")
3537
+ })
3538
+ type _PerfectionistSortImportsMaxLineLengthRequiresLineLengthType = ({
3539
+ [k: string]: unknown | undefined
3540
+ } | _PerfectionistSortImports_IsLineLength)
3541
+ interface _PerfectionistSortImports_IsLineLength {
3542
+ type: "line-length"
3543
+ [k: string]: unknown | undefined
3544
+ }
3545
+ // ----- perfectionist/sort-interfaces -----
3546
+ type PerfectionistSortInterfaces = []|[{
3547
+
3548
+ type?: ("alphabetical" | "natural" | "line-length")
3549
+
3550
+ order?: ("asc" | "desc")
3551
+
3552
+ ignoreCase?: boolean
3553
+
3554
+ ignorePattern?: string[]
3555
+
3556
+ partitionByNewLine?: boolean
3557
+
3558
+ groupKind?: ("mixed" | "optional-first" | "required-first")
3559
+
3560
+ groups?: (string | string[])[]
3561
+
3562
+ customGroups?: {
3563
+ [k: string]: (string | string[]) | undefined
3564
+ }
3565
+ }]
3566
+ // ----- perfectionist/sort-intersection-types -----
3567
+ type PerfectionistSortIntersectionTypes = []|[{
3568
+
3569
+ type?: ("alphabetical" | "natural" | "line-length")
3570
+
3571
+ order?: ("asc" | "desc")
3572
+
3573
+ ignoreCase?: boolean
3574
+
3575
+ groups?: (string | string[])[]
3576
+ }]
3577
+ // ----- perfectionist/sort-jsx-props -----
3578
+ type PerfectionistSortJsxProps = []|[{
3579
+
3580
+ type?: ("alphabetical" | "natural" | "line-length")
3581
+
3582
+ order?: ("asc" | "desc")
3583
+
3584
+ ignoreCase?: boolean
3585
+
3586
+ ignorePattern?: string[]
3587
+
3588
+ groups?: (string | string[])[]
3589
+
3590
+ customGroups?: {
3591
+ [k: string]: (string | string[]) | undefined
3592
+ }
3593
+ }]
3594
+ // ----- perfectionist/sort-maps -----
3595
+ type PerfectionistSortMaps = []|[{
3596
+
3597
+ type?: ("alphabetical" | "natural" | "line-length")
3598
+
3599
+ order?: ("asc" | "desc")
3600
+
3601
+ ignoreCase?: boolean
3602
+ }]
3603
+ // ----- perfectionist/sort-named-exports -----
3604
+ type PerfectionistSortNamedExports = []|[{
3605
+
3606
+ type?: ("alphabetical" | "natural" | "line-length")
3607
+
3608
+ order?: ("asc" | "desc")
3609
+
3610
+ ignoreCase?: boolean
3611
+
3612
+ groupKind?: ("mixed" | "values-first" | "types-first")
3613
+ }]
3614
+ // ----- perfectionist/sort-named-imports -----
3615
+ type PerfectionistSortNamedImports = []|[{
3616
+
3617
+ type?: ("alphabetical" | "natural" | "line-length")
3618
+
3619
+ order?: ("asc" | "desc")
3620
+
3621
+ ignoreCase?: boolean
3622
+
3623
+ ignoreAlias?: boolean
3624
+
3625
+ groupKind?: ("mixed" | "values-first" | "types-first")
3626
+ }]
3627
+ // ----- perfectionist/sort-object-types -----
3628
+ type PerfectionistSortObjectTypes = []|[{
3629
+
3630
+ type?: ("alphabetical" | "natural" | "line-length")
3631
+
3632
+ order?: ("asc" | "desc")
3633
+
3634
+ ignoreCase?: boolean
3635
+
3636
+ partitionByNewLine?: boolean
3637
+
3638
+ groupKind?: ("mixed" | "required-first" | "optional-first")
3639
+
3640
+ groups?: (string | string[])[]
3641
+
3642
+ customGroups?: {
3643
+ [k: string]: (string | string[]) | undefined
3644
+ }
3645
+ }]
3646
+ // ----- perfectionist/sort-objects -----
3647
+ type PerfectionistSortObjects = []|[{
3648
+
3649
+ type?: ("alphabetical" | "natural" | "line-length")
3650
+
3651
+ order?: ("asc" | "desc")
3652
+
3653
+ ignoreCase?: boolean
3654
+
3655
+ partitionByComment?: (string[] | boolean | string)
3656
+
3657
+ partitionByNewLine?: boolean
3658
+
3659
+ styledComponents?: boolean
3660
+
3661
+ destructureOnly?: boolean
3662
+
3663
+ ignorePattern?: string[]
3664
+
3665
+ groups?: (string | string[])[]
3666
+
3667
+ customGroups?: {
3668
+ [k: string]: (string | string[]) | undefined
3669
+ }
3670
+ }]
3671
+ // ----- perfectionist/sort-sets -----
3672
+ type PerfectionistSortSets = []|[{
3673
+
3674
+ type?: ("alphabetical" | "natural" | "line-length")
3675
+
3676
+ order?: ("asc" | "desc")
3677
+
3678
+ ignoreCase?: boolean
3679
+
3680
+ groupKind?: ("mixed" | "literals-first" | "spreads-first")
3681
+ }]
3682
+ // ----- perfectionist/sort-svelte-attributes -----
3683
+ type PerfectionistSortSvelteAttributes = []|[{
3684
+
3685
+ type?: ("alphabetical" | "natural" | "line-length")
3686
+
3687
+ order?: ("asc" | "desc")
3688
+
3689
+ ignoreCase?: boolean
3690
+
3691
+ groups?: (string | string[])[]
3692
+
3693
+ customGroups?: {
3694
+ [k: string]: (string | string[]) | undefined
3695
+ }
3696
+ }]
3697
+ // ----- perfectionist/sort-switch-case -----
3698
+ type PerfectionistSortSwitchCase = []|[{
3699
+
3700
+ type?: ("alphabetical" | "natural" | "line-length")
3701
+
3702
+ order?: ("asc" | "desc")
3703
+
3704
+ ignoreCase?: boolean
3705
+ }]
3706
+ // ----- perfectionist/sort-union-types -----
3707
+ type PerfectionistSortUnionTypes = []|[{
3708
+
3709
+ type?: ("alphabetical" | "natural" | "line-length")
3710
+
3711
+ order?: ("asc" | "desc")
3712
+
3713
+ ignoreCase?: boolean
3714
+
3715
+ groups?: (string | string[])[]
3716
+ }]
3717
+ // ----- perfectionist/sort-variable-declarations -----
3718
+ type PerfectionistSortVariableDeclarations = []|[{
3719
+
3720
+ type?: ("alphabetical" | "natural" | "line-length")
3721
+
3722
+ order?: ("asc" | "desc")
3723
+
3724
+ ignoreCase?: boolean
3725
+ }]
3726
+ // ----- perfectionist/sort-vue-attributes -----
3727
+ type PerfectionistSortVueAttributes = []|[{
3728
+
3729
+ type?: ("alphabetical" | "natural" | "line-length")
3730
+
3731
+ order?: ("asc" | "desc")
3732
+
3733
+ ignoreCase?: boolean
3734
+
3735
+ groups?: (string | string[])[]
3736
+
3737
+ customGroups?: {
3738
+ [k: string]: (string | string[]) | undefined
3739
+ }
3740
+ }]
3741
+ // ----- unused-imports/no-unused-imports -----
3742
+ type UnusedImportsNoUnusedImports = []|[(("all" | "local") | {
3743
+
3744
+ vars?: ("all" | "local")
3745
+
3746
+ varsIgnorePattern?: string
3747
+
3748
+ args?: ("all" | "after-used" | "none")
3749
+
3750
+ argsIgnorePattern?: string
3751
+
3752
+ caughtErrors?: ("all" | "none")
3753
+
3754
+ caughtErrorsIgnorePattern?: string
3755
+
3756
+ destructuredArrayIgnorePattern?: string
3757
+
3758
+ ignoreClassWithStaticInitBlock?: boolean
3759
+
3760
+ ignoreRestSiblings?: boolean
3761
+
3762
+ reportUsedIgnorePattern?: boolean
3763
+ })]
3764
+ // ----- unused-imports/no-unused-vars -----
3765
+ type UnusedImportsNoUnusedVars = []|[(("all" | "local") | {
3766
+
3767
+ vars?: ("all" | "local")
3768
+
3769
+ varsIgnorePattern?: string
3770
+
3771
+ args?: ("all" | "after-used" | "none")
3772
+
3773
+ argsIgnorePattern?: string
3774
+
3775
+ caughtErrors?: ("all" | "none")
3776
+
3777
+ caughtErrorsIgnorePattern?: string
3778
+
3779
+ destructuredArrayIgnorePattern?: string
3780
+
3781
+ ignoreClassWithStaticInitBlock?: boolean
3782
+
3783
+ ignoreRestSiblings?: boolean
3784
+
3785
+ reportUsedIgnorePattern?: boolean
3786
+ })]
3787
+ // ----- vitest/consistent-test-filename -----
3788
+ type VitestConsistentTestFilename = []|[{
3789
+ pattern?: string
3790
+ allTestPattern?: string
3791
+ }]
3792
+ // ----- vitest/consistent-test-it -----
3793
+ type VitestConsistentTestIt = []|[{
3794
+ fn?: ("test" | "it")
3795
+ withinDescribe?: ("test" | "it")
3796
+ }]
3797
+ // ----- vitest/expect-expect -----
3798
+ type VitestExpectExpect = []|[{
3799
+ assertFunctionNames?: []|[string]
3800
+ additionalTestBlockFunctions?: string[]
3801
+ }]
3802
+ // ----- vitest/max-expects -----
3803
+ type VitestMaxExpects = []|[{
3804
+ max?: number
3805
+ }]
3806
+ // ----- vitest/max-nested-describe -----
3807
+ type VitestMaxNestedDescribe = []|[{
3808
+ max?: number
3809
+ }]
3810
+ // ----- vitest/no-focused-tests -----
3811
+ type VitestNoFocusedTests = []|[{
3812
+ fixable?: boolean
3813
+ }]
3814
+ // ----- vitest/no-hooks -----
3815
+ type VitestNoHooks = []|[{
3816
+ allow?: unknown[]
3817
+ }]
3818
+ // ----- vitest/no-large-snapshots -----
3819
+ type VitestNoLargeSnapshots = []|[{
3820
+ maxSize?: number
3821
+ inlineMaxSize?: number
3822
+ allowedSnapshots?: {
3823
+ [k: string]: unknown[] | undefined
3824
+ }
3825
+ }]
3826
+ // ----- vitest/no-only-tests -----
3827
+ type VitestNoOnlyTests = []|[{
3828
+ block?: string[]
3829
+ focus?: string[]
3830
+ functions?: string[]
3831
+ fix?: boolean
3832
+ }]
3833
+ // ----- vitest/no-restricted-matchers -----
3834
+ type VitestNoRestrictedMatchers = []|[{
3835
+ [k: string]: (string | null) | undefined
3836
+ }]
3837
+ // ----- vitest/no-restricted-vi-methods -----
3838
+ type VitestNoRestrictedViMethods = []|[{
3839
+ [k: string]: (string | null) | undefined
3840
+ }]
3841
+ // ----- vitest/no-standalone-expect -----
3842
+ type VitestNoStandaloneExpect = []|[{
3843
+ additionaltestblockfunctions?: string[]
3844
+ [k: string]: unknown | undefined
3845
+ }]
3846
+ // ----- vitest/prefer-expect-assertions -----
3847
+ type VitestPreferExpectAssertions = []|[{
3848
+ onlyFunctionsWithAsyncKeyword?: boolean
3849
+ onlyFunctionsWithExpectInLoop?: boolean
3850
+ onlyFunctionsWithExpectInCallback?: boolean
3851
+ }]
3852
+ // ----- vitest/prefer-lowercase-title -----
3853
+ type VitestPreferLowercaseTitle = []|[{
3854
+ ignore?: ("describe" | "test" | "it")[]
3855
+ allowedPrefixes?: string[]
3856
+ ignoreTopLevelDescribe?: boolean
3857
+ lowercaseFirstCharacterOnly?: boolean
3858
+ }]
3859
+ // ----- vitest/prefer-snapshot-hint -----
3860
+ type VitestPreferSnapshotHint = []|[("always" | "multi")]
3861
+ // ----- vitest/require-hook -----
3862
+ type VitestRequireHook = []|[{
3863
+ allowedFunctionCalls?: string[]
3864
+ }]
3865
+ // ----- vitest/require-top-level-describe -----
3866
+ type VitestRequireTopLevelDescribe = []|[{
3867
+ maxNumberOfTopLevelDescribes?: number
3868
+ }]
3869
+ // ----- vitest/valid-expect -----
3870
+ type VitestValidExpect = []|[{
3871
+ alwaysAwait?: boolean
3872
+ asyncMatchers?: string[]
3873
+ minArgs?: number
3874
+ maxArgs?: number
3875
+ }]
3876
+ // ----- vitest/valid-title -----
3877
+ type VitestValidTitle = []|[{
3878
+ ignoreTypeOfDescribeName?: boolean
3879
+ allowArguments?: boolean
3880
+ disallowedWords?: string[]
3881
+ [k: string]: (string | [string]|[string, string] | {
3882
+ [k: string]: (string | [string]|[string, string]) | undefined
3883
+ })
3884
+ }]
3885
+
3886
+ import type {FlatConfigComposer} from 'eslint-flat-config-utils'
3887
+ export type {Awaitable} from 'eslint-flat-config-utils'
3888
+
3889
+ /**
3890
+ * Each configuration object contains all of the information ESLint needs to execute on a set of files.
3891
+ * @see https://eslint.org/docs/latest/use/configure/configuration-files#configuration-objects
3892
+ */
3893
+ export type Config = Linter.Config<Linter.RulesRecord & Rules>
3894
+
3895
+ /**
3896
+ * Contains the names of all the configurations in this package.
3897
+ */
3898
+ export type ConfigNames = '@bfra.me/gitignore' | '@bfra.me/ignores' | '@bfra.me/javascript/options' | '@bfra.me/javascript/rules' | '@bfra.me/eslint-comments/rules' | '@bfra.me/imports' | '@bfra.me/command' | '@bfra.me/perfectionist' | '@bfra.me/typescript/plugins' | '@bfra.me/typescript/parser' | '@bfra.me/typescript/rules' | '@bfra.me/vitest/plugin' | '@bfra.me/vitest/rules' | '@bfra.me/epilogue/dts'
3899
+
3900
+ export type ComposableConfig = FlatConfigComposer<Config, ConfigNames>
3901
+
3902
+ export type * from './define-config'
3903
+