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