@chanyuxi/eslint-waltz 0.0.0-alpha.1

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.
@@ -0,0 +1,4526 @@
1
+ import globals from 'globals';
2
+ import { Linter } from 'eslint';
3
+ import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
4
+
5
+ /* eslint-disable */
6
+ /* prettier-ignore */
7
+
8
+
9
+ interface RuleOptions {
10
+ /**
11
+ * Enforce linebreaks after opening and before closing array brackets
12
+ * @see https://eslint.style/rules/array-bracket-newline
13
+ */
14
+ '@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>
15
+ /**
16
+ * Enforce consistent spacing inside array brackets
17
+ * @see https://eslint.style/rules/array-bracket-spacing
18
+ */
19
+ '@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>
20
+ /**
21
+ * Enforce line breaks after each array element
22
+ * @see https://eslint.style/rules/array-element-newline
23
+ */
24
+ '@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>
25
+ /**
26
+ * Require parentheses around arrow function arguments
27
+ * @see https://eslint.style/rules/arrow-parens
28
+ */
29
+ '@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>
30
+ /**
31
+ * Enforce consistent spacing before and after the arrow in arrow functions
32
+ * @see https://eslint.style/rules/arrow-spacing
33
+ */
34
+ '@stylistic/arrow-spacing'?: Linter.RuleEntry<StylisticArrowSpacing>
35
+ /**
36
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block
37
+ * @see https://eslint.style/rules/block-spacing
38
+ */
39
+ '@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>
40
+ /**
41
+ * Enforce consistent brace style for blocks
42
+ * @see https://eslint.style/rules/brace-style
43
+ */
44
+ '@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>
45
+ /**
46
+ * Require or disallow trailing commas
47
+ * @see https://eslint.style/rules/comma-dangle
48
+ */
49
+ '@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>
50
+ /**
51
+ * Enforce consistent spacing before and after commas
52
+ * @see https://eslint.style/rules/comma-spacing
53
+ */
54
+ '@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>
55
+ /**
56
+ * Enforce consistent comma style
57
+ * @see https://eslint.style/rules/comma-style
58
+ */
59
+ '@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>
60
+ /**
61
+ * Enforce consistent spacing inside computed property brackets
62
+ * @see https://eslint.style/rules/computed-property-spacing
63
+ */
64
+ '@stylistic/computed-property-spacing'?: Linter.RuleEntry<StylisticComputedPropertySpacing>
65
+ /**
66
+ * Enforce consistent line breaks after opening and before closing braces
67
+ * @see https://eslint.style/rules/curly-newline
68
+ */
69
+ '@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>
70
+ /**
71
+ * Enforce consistent newlines before and after dots
72
+ * @see https://eslint.style/rules/dot-location
73
+ */
74
+ '@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>
75
+ /**
76
+ * Require or disallow newline at the end of files
77
+ * @see https://eslint.style/rules/eol-last
78
+ */
79
+ '@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>
80
+ /**
81
+ * Enforce line breaks between arguments of a function call
82
+ * @see https://eslint.style/rules/function-call-argument-newline
83
+ */
84
+ '@stylistic/function-call-argument-newline'?: Linter.RuleEntry<StylisticFunctionCallArgumentNewline>
85
+ /**
86
+ * Require or disallow spacing between function identifiers and their invocations
87
+ * @see https://eslint.style/rules/function-call-spacing
88
+ */
89
+ '@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>
90
+ /**
91
+ * Enforce consistent line breaks inside function parentheses
92
+ * @see https://eslint.style/rules/function-paren-newline
93
+ */
94
+ '@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>
95
+ /**
96
+ * Enforce consistent spacing around `*` operators in generator functions
97
+ * @see https://eslint.style/rules/generator-star-spacing
98
+ */
99
+ '@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>
100
+ /**
101
+ * Enforce the location of arrow function bodies
102
+ * @see https://eslint.style/rules/implicit-arrow-linebreak
103
+ */
104
+ '@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>
105
+ /**
106
+ * Enforce consistent indentation
107
+ * @see https://eslint.style/rules/indent
108
+ */
109
+ '@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>
110
+ /**
111
+ * Indentation for binary operators
112
+ * @see https://eslint.style/rules/indent-binary-ops
113
+ */
114
+ '@stylistic/indent-binary-ops'?: Linter.RuleEntry<StylisticIndentBinaryOps>
115
+ /**
116
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
117
+ * @see https://eslint.style/rules/jsx-child-element-spacing
118
+ */
119
+ '@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
120
+ /**
121
+ * Enforce closing bracket location in JSX
122
+ * @see https://eslint.style/rules/jsx-closing-bracket-location
123
+ */
124
+ '@stylistic/jsx-closing-bracket-location'?: Linter.RuleEntry<StylisticJsxClosingBracketLocation>
125
+ /**
126
+ * Enforce closing tag location for multiline JSX
127
+ * @see https://eslint.style/rules/jsx-closing-tag-location
128
+ */
129
+ '@stylistic/jsx-closing-tag-location'?: Linter.RuleEntry<StylisticJsxClosingTagLocation>
130
+ /**
131
+ * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
132
+ * @see https://eslint.style/rules/jsx-curly-brace-presence
133
+ */
134
+ '@stylistic/jsx-curly-brace-presence'?: Linter.RuleEntry<StylisticJsxCurlyBracePresence>
135
+ /**
136
+ * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
137
+ * @see https://eslint.style/rules/jsx-curly-newline
138
+ */
139
+ '@stylistic/jsx-curly-newline'?: Linter.RuleEntry<StylisticJsxCurlyNewline>
140
+ /**
141
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
142
+ * @see https://eslint.style/rules/jsx-curly-spacing
143
+ */
144
+ '@stylistic/jsx-curly-spacing'?: Linter.RuleEntry<StylisticJsxCurlySpacing>
145
+ /**
146
+ * Enforce or disallow spaces around equal signs in JSX attributes
147
+ * @see https://eslint.style/rules/jsx-equals-spacing
148
+ */
149
+ '@stylistic/jsx-equals-spacing'?: Linter.RuleEntry<StylisticJsxEqualsSpacing>
150
+ /**
151
+ * Enforce proper position of the first property in JSX
152
+ * @see https://eslint.style/rules/jsx-first-prop-new-line
153
+ */
154
+ '@stylistic/jsx-first-prop-new-line'?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>
155
+ /**
156
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
157
+ * @see https://eslint.style/rules/jsx-function-call-newline
158
+ */
159
+ '@stylistic/jsx-function-call-newline'?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>
160
+ /**
161
+ * Enforce JSX indentation. Deprecated, use `indent` rule instead.
162
+ * @see https://eslint.style/rules/jsx-indent
163
+ * @deprecated
164
+ */
165
+ '@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>
166
+ /**
167
+ * Enforce props indentation in JSX
168
+ * @see https://eslint.style/rules/jsx-indent-props
169
+ */
170
+ '@stylistic/jsx-indent-props'?: Linter.RuleEntry<StylisticJsxIndentProps>
171
+ /**
172
+ * Enforce maximum of props on a single line in JSX
173
+ * @see https://eslint.style/rules/jsx-max-props-per-line
174
+ */
175
+ '@stylistic/jsx-max-props-per-line'?: Linter.RuleEntry<StylisticJsxMaxPropsPerLine>
176
+ /**
177
+ * Require or prevent a new line after jsx elements and expressions.
178
+ * @see https://eslint.style/rules/jsx-newline
179
+ */
180
+ '@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>
181
+ /**
182
+ * Require one JSX element per line
183
+ * @see https://eslint.style/rules/jsx-one-expression-per-line
184
+ */
185
+ '@stylistic/jsx-one-expression-per-line'?: Linter.RuleEntry<StylisticJsxOneExpressionPerLine>
186
+ /**
187
+ * Enforce PascalCase for user-defined JSX components
188
+ * @see https://eslint.style/rules/jsx-pascal-case
189
+ */
190
+ '@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>
191
+ /**
192
+ * Disallow multiple spaces between inline JSX props
193
+ * @see https://eslint.style/rules/jsx-props-no-multi-spaces
194
+ */
195
+ '@stylistic/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
196
+ /**
197
+ * Enforce the consistent use of either double or single quotes in JSX attributes
198
+ * @see https://eslint.style/rules/jsx-quotes
199
+ */
200
+ '@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>
201
+ /**
202
+ * Disallow extra closing tags for components without children
203
+ * @see https://eslint.style/rules/jsx-self-closing-comp
204
+ */
205
+ '@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>
206
+ /**
207
+ * Enforce props alphabetical sorting
208
+ * @see https://eslint.style/rules/jsx-sort-props
209
+ */
210
+ '@stylistic/jsx-sort-props'?: Linter.RuleEntry<StylisticJsxSortProps>
211
+ /**
212
+ * Enforce whitespace in and around the JSX opening and closing brackets
213
+ * @see https://eslint.style/rules/jsx-tag-spacing
214
+ */
215
+ '@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>
216
+ /**
217
+ * Disallow missing parentheses around multiline JSX
218
+ * @see https://eslint.style/rules/jsx-wrap-multilines
219
+ */
220
+ '@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxWrapMultilines>
221
+ /**
222
+ * Enforce consistent spacing between property names and type annotations in types and interfaces
223
+ * @see https://eslint.style/rules/key-spacing
224
+ */
225
+ '@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>
226
+ /**
227
+ * Enforce consistent spacing before and after keywords
228
+ * @see https://eslint.style/rules/keyword-spacing
229
+ */
230
+ '@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>
231
+ /**
232
+ * Enforce position of line comments
233
+ * @see https://eslint.style/rules/line-comment-position
234
+ */
235
+ '@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>
236
+ /**
237
+ * Enforce consistent linebreak style
238
+ * @see https://eslint.style/rules/linebreak-style
239
+ */
240
+ '@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>
241
+ /**
242
+ * Require empty lines around comments
243
+ * @see https://eslint.style/rules/lines-around-comment
244
+ */
245
+ '@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>
246
+ /**
247
+ * Require or disallow an empty line between class members
248
+ * @see https://eslint.style/rules/lines-between-class-members
249
+ */
250
+ '@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>
251
+ /**
252
+ * Enforce a maximum line length
253
+ * @see https://eslint.style/rules/max-len
254
+ */
255
+ '@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>
256
+ /**
257
+ * Enforce a maximum number of statements allowed per line
258
+ * @see https://eslint.style/rules/max-statements-per-line
259
+ */
260
+ '@stylistic/max-statements-per-line'?: Linter.RuleEntry<StylisticMaxStatementsPerLine>
261
+ /**
262
+ * Require a specific member delimiter style for interfaces and type literals
263
+ * @see https://eslint.style/rules/member-delimiter-style
264
+ */
265
+ '@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>
266
+ /**
267
+ * Enforce a particular style for multiline comments
268
+ * @see https://eslint.style/rules/multiline-comment-style
269
+ */
270
+ '@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>
271
+ /**
272
+ * Enforce newlines between operands of ternary expressions
273
+ * @see https://eslint.style/rules/multiline-ternary
274
+ */
275
+ '@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>
276
+ /**
277
+ * Enforce or disallow parentheses when invoking a constructor with no arguments
278
+ * @see https://eslint.style/rules/new-parens
279
+ */
280
+ '@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>
281
+ /**
282
+ * Require a newline after each call in a method chain
283
+ * @see https://eslint.style/rules/newline-per-chained-call
284
+ */
285
+ '@stylistic/newline-per-chained-call'?: Linter.RuleEntry<StylisticNewlinePerChainedCall>
286
+ /**
287
+ * Disallow arrow functions where they could be confused with comparisons
288
+ * @see https://eslint.style/rules/no-confusing-arrow
289
+ */
290
+ '@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>
291
+ /**
292
+ * Disallow unnecessary parentheses
293
+ * @see https://eslint.style/rules/no-extra-parens
294
+ */
295
+ '@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>
296
+ /**
297
+ * Disallow unnecessary semicolons
298
+ * @see https://eslint.style/rules/no-extra-semi
299
+ */
300
+ '@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>
301
+ /**
302
+ * Disallow leading or trailing decimal points in numeric literals
303
+ * @see https://eslint.style/rules/no-floating-decimal
304
+ */
305
+ '@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>
306
+ /**
307
+ * Disallow mixed binary operators
308
+ * @see https://eslint.style/rules/no-mixed-operators
309
+ */
310
+ '@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>
311
+ /**
312
+ * Disallow mixed spaces and tabs for indentation
313
+ * @see https://eslint.style/rules/no-mixed-spaces-and-tabs
314
+ */
315
+ '@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>
316
+ /**
317
+ * Disallow multiple spaces
318
+ * @see https://eslint.style/rules/no-multi-spaces
319
+ */
320
+ '@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>
321
+ /**
322
+ * Disallow multiple empty lines
323
+ * @see https://eslint.style/rules/no-multiple-empty-lines
324
+ */
325
+ '@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>
326
+ /**
327
+ * Disallow all tabs
328
+ * @see https://eslint.style/rules/no-tabs
329
+ */
330
+ '@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>
331
+ /**
332
+ * Disallow trailing whitespace at the end of lines
333
+ * @see https://eslint.style/rules/no-trailing-spaces
334
+ */
335
+ '@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>
336
+ /**
337
+ * Disallow whitespace before properties
338
+ * @see https://eslint.style/rules/no-whitespace-before-property
339
+ */
340
+ '@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>
341
+ /**
342
+ * Enforce the location of single-line statements
343
+ * @see https://eslint.style/rules/nonblock-statement-body-position
344
+ */
345
+ '@stylistic/nonblock-statement-body-position'?: Linter.RuleEntry<StylisticNonblockStatementBodyPosition>
346
+ /**
347
+ * Enforce consistent line breaks after opening and before closing braces
348
+ * @see https://eslint.style/rules/object-curly-newline
349
+ */
350
+ '@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>
351
+ /**
352
+ * Enforce consistent spacing inside braces
353
+ * @see https://eslint.style/rules/object-curly-spacing
354
+ */
355
+ '@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>
356
+ /**
357
+ * Enforce placing object properties on separate lines
358
+ * @see https://eslint.style/rules/object-property-newline
359
+ */
360
+ '@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>
361
+ /**
362
+ * Require or disallow newlines around variable declarations
363
+ * @see https://eslint.style/rules/one-var-declaration-per-line
364
+ */
365
+ '@stylistic/one-var-declaration-per-line'?: Linter.RuleEntry<StylisticOneVarDeclarationPerLine>
366
+ /**
367
+ * Enforce consistent linebreak style for operators
368
+ * @see https://eslint.style/rules/operator-linebreak
369
+ */
370
+ '@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>
371
+ /**
372
+ * Require or disallow padding within blocks
373
+ * @see https://eslint.style/rules/padded-blocks
374
+ */
375
+ '@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>
376
+ /**
377
+ * Require or disallow padding lines between statements
378
+ * @see https://eslint.style/rules/padding-line-between-statements
379
+ */
380
+ '@stylistic/padding-line-between-statements'?: Linter.RuleEntry<StylisticPaddingLineBetweenStatements>
381
+ /**
382
+ * Require quotes around object literal, type literal, interfaces and enums property names
383
+ * @see https://eslint.style/rules/quote-props
384
+ */
385
+ '@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>
386
+ /**
387
+ * Enforce the consistent use of either backticks, double, or single quotes
388
+ * @see https://eslint.style/rules/quotes
389
+ */
390
+ '@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>
391
+ /**
392
+ * Enforce spacing between rest and spread operators and their expressions
393
+ * @see https://eslint.style/rules/rest-spread-spacing
394
+ */
395
+ '@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>
396
+ /**
397
+ * Require or disallow semicolons instead of ASI
398
+ * @see https://eslint.style/rules/semi
399
+ */
400
+ '@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>
401
+ /**
402
+ * Enforce consistent spacing before and after semicolons
403
+ * @see https://eslint.style/rules/semi-spacing
404
+ */
405
+ '@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>
406
+ /**
407
+ * Enforce location of semicolons
408
+ * @see https://eslint.style/rules/semi-style
409
+ */
410
+ '@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>
411
+ /**
412
+ * Enforce consistent spacing before blocks
413
+ * @see https://eslint.style/rules/space-before-blocks
414
+ */
415
+ '@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>
416
+ /**
417
+ * Enforce consistent spacing before function parenthesis
418
+ * @see https://eslint.style/rules/space-before-function-paren
419
+ */
420
+ '@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>
421
+ /**
422
+ * Enforce consistent spacing inside parentheses
423
+ * @see https://eslint.style/rules/space-in-parens
424
+ */
425
+ '@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>
426
+ /**
427
+ * Require spacing around infix operators
428
+ * @see https://eslint.style/rules/space-infix-ops
429
+ */
430
+ '@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>
431
+ /**
432
+ * Enforce consistent spacing before or after unary operators
433
+ * @see https://eslint.style/rules/space-unary-ops
434
+ */
435
+ '@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>
436
+ /**
437
+ * Enforce consistent spacing after the `//` or `/*` in a comment
438
+ * @see https://eslint.style/rules/spaced-comment
439
+ */
440
+ '@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>
441
+ /**
442
+ * Enforce spacing around colons of switch statements
443
+ * @see https://eslint.style/rules/switch-colon-spacing
444
+ */
445
+ '@stylistic/switch-colon-spacing'?: Linter.RuleEntry<StylisticSwitchColonSpacing>
446
+ /**
447
+ * Require or disallow spacing around embedded expressions of template strings
448
+ * @see https://eslint.style/rules/template-curly-spacing
449
+ */
450
+ '@stylistic/template-curly-spacing'?: Linter.RuleEntry<StylisticTemplateCurlySpacing>
451
+ /**
452
+ * Require or disallow spacing between template tags and their literals
453
+ * @see https://eslint.style/rules/template-tag-spacing
454
+ */
455
+ '@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>
456
+ /**
457
+ * Require consistent spacing around type annotations
458
+ * @see https://eslint.style/rules/type-annotation-spacing
459
+ */
460
+ '@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>
461
+ /**
462
+ * Enforces consistent spacing inside TypeScript type generics
463
+ * @see https://eslint.style/rules/type-generic-spacing
464
+ */
465
+ '@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>
466
+ /**
467
+ * Expect space before the type declaration in the named tuple
468
+ * @see https://eslint.style/rules/type-named-tuple-spacing
469
+ */
470
+ '@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
471
+ /**
472
+ * Require parentheses around immediate `function` invocations
473
+ * @see https://eslint.style/rules/wrap-iife
474
+ */
475
+ '@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>
476
+ /**
477
+ * Require parenthesis around regex literals
478
+ * @see https://eslint.style/rules/wrap-regex
479
+ */
480
+ '@stylistic/wrap-regex'?: Linter.RuleEntry<[]>
481
+ /**
482
+ * Require or disallow spacing around the `*` in `yield*` expressions
483
+ * @see https://eslint.style/rules/yield-star-spacing
484
+ */
485
+ '@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>
486
+ /**
487
+ * Require that function overload signatures be consecutive
488
+ * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
489
+ */
490
+ '@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>
491
+ /**
492
+ * Require consistently using either `T[]` or `Array<T>` for arrays
493
+ * @see https://typescript-eslint.io/rules/array-type
494
+ */
495
+ '@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>
496
+ /**
497
+ * Disallow awaiting a value that is not a Thenable
498
+ * @see https://typescript-eslint.io/rules/await-thenable
499
+ */
500
+ '@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>
501
+ /**
502
+ * Disallow `@ts-<directive>` comments or require descriptions after directives
503
+ * @see https://typescript-eslint.io/rules/ban-ts-comment
504
+ */
505
+ '@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>
506
+ /**
507
+ * Disallow `// tslint:<rule-flag>` comments
508
+ * @see https://typescript-eslint.io/rules/ban-tslint-comment
509
+ */
510
+ '@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>
511
+ /**
512
+ * Enforce that literals on classes are exposed in a consistent style
513
+ * @see https://typescript-eslint.io/rules/class-literal-property-style
514
+ */
515
+ '@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>
516
+ /**
517
+ * Enforce that class methods utilize `this`
518
+ * @see https://typescript-eslint.io/rules/class-methods-use-this
519
+ */
520
+ '@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>
521
+ /**
522
+ * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
523
+ * @see https://typescript-eslint.io/rules/consistent-generic-constructors
524
+ */
525
+ '@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>
526
+ /**
527
+ * Require or disallow the `Record` type
528
+ * @see https://typescript-eslint.io/rules/consistent-indexed-object-style
529
+ */
530
+ '@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>
531
+ /**
532
+ * Require `return` statements to either always or never specify values
533
+ * @see https://typescript-eslint.io/rules/consistent-return
534
+ */
535
+ '@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>
536
+ /**
537
+ * Enforce consistent usage of type assertions
538
+ * @see https://typescript-eslint.io/rules/consistent-type-assertions
539
+ */
540
+ '@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>
541
+ /**
542
+ * Enforce type definitions to consistently use either `interface` or `type`
543
+ * @see https://typescript-eslint.io/rules/consistent-type-definitions
544
+ */
545
+ '@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeDefinitions>
546
+ /**
547
+ * Enforce consistent usage of type exports
548
+ * @see https://typescript-eslint.io/rules/consistent-type-exports
549
+ */
550
+ '@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>
551
+ /**
552
+ * Enforce consistent usage of type imports
553
+ * @see https://typescript-eslint.io/rules/consistent-type-imports
554
+ */
555
+ '@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>
556
+ /**
557
+ * Enforce default parameters to be last
558
+ * @see https://typescript-eslint.io/rules/default-param-last
559
+ */
560
+ '@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>
561
+ /**
562
+ * Enforce dot notation whenever possible
563
+ * @see https://typescript-eslint.io/rules/dot-notation
564
+ */
565
+ '@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>
566
+ /**
567
+ * Require explicit return types on functions and class methods
568
+ * @see https://typescript-eslint.io/rules/explicit-function-return-type
569
+ */
570
+ '@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>
571
+ /**
572
+ * Require explicit accessibility modifiers on class properties and methods
573
+ * @see https://typescript-eslint.io/rules/explicit-member-accessibility
574
+ */
575
+ '@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>
576
+ /**
577
+ * Require explicit return and argument types on exported functions' and classes' public class methods
578
+ * @see https://typescript-eslint.io/rules/explicit-module-boundary-types
579
+ */
580
+ '@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>
581
+ /**
582
+ * Require or disallow initialization in variable declarations
583
+ * @see https://typescript-eslint.io/rules/init-declarations
584
+ */
585
+ '@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>
586
+ /**
587
+ * Enforce a maximum number of parameters in function definitions
588
+ * @see https://typescript-eslint.io/rules/max-params
589
+ */
590
+ '@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>
591
+ /**
592
+ * Require a consistent member declaration order
593
+ * @see https://typescript-eslint.io/rules/member-ordering
594
+ */
595
+ '@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>
596
+ /**
597
+ * Enforce using a particular method signature syntax
598
+ * @see https://typescript-eslint.io/rules/method-signature-style
599
+ */
600
+ '@typescript-eslint/method-signature-style'?: Linter.RuleEntry<TypescriptEslintMethodSignatureStyle>
601
+ /**
602
+ * Enforce naming conventions for everything across a codebase
603
+ * @see https://typescript-eslint.io/rules/naming-convention
604
+ */
605
+ '@typescript-eslint/naming-convention'?: Linter.RuleEntry<TypescriptEslintNamingConvention>
606
+ /**
607
+ * Disallow generic `Array` constructors
608
+ * @see https://typescript-eslint.io/rules/no-array-constructor
609
+ */
610
+ '@typescript-eslint/no-array-constructor'?: Linter.RuleEntry<[]>
611
+ /**
612
+ * Disallow using the `delete` operator on array values
613
+ * @see https://typescript-eslint.io/rules/no-array-delete
614
+ */
615
+ '@typescript-eslint/no-array-delete'?: Linter.RuleEntry<[]>
616
+ /**
617
+ * Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified
618
+ * @see https://typescript-eslint.io/rules/no-base-to-string
619
+ */
620
+ '@typescript-eslint/no-base-to-string'?: Linter.RuleEntry<TypescriptEslintNoBaseToString>
621
+ /**
622
+ * Disallow non-null assertion in locations that may be confusing
623
+ * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
624
+ */
625
+ '@typescript-eslint/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]>
626
+ /**
627
+ * Require expressions of type void to appear in statement position
628
+ * @see https://typescript-eslint.io/rules/no-confusing-void-expression
629
+ */
630
+ '@typescript-eslint/no-confusing-void-expression'?: Linter.RuleEntry<TypescriptEslintNoConfusingVoidExpression>
631
+ /**
632
+ * Disallow using code marked as `@deprecated`
633
+ * @see https://typescript-eslint.io/rules/no-deprecated
634
+ */
635
+ '@typescript-eslint/no-deprecated'?: Linter.RuleEntry<TypescriptEslintNoDeprecated>
636
+ /**
637
+ * Disallow duplicate class members
638
+ * @see https://typescript-eslint.io/rules/no-dupe-class-members
639
+ */
640
+ '@typescript-eslint/no-dupe-class-members'?: Linter.RuleEntry<[]>
641
+ /**
642
+ * Disallow duplicate enum member values
643
+ * @see https://typescript-eslint.io/rules/no-duplicate-enum-values
644
+ */
645
+ '@typescript-eslint/no-duplicate-enum-values'?: Linter.RuleEntry<[]>
646
+ /**
647
+ * Disallow duplicate constituents of union or intersection types
648
+ * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
649
+ */
650
+ '@typescript-eslint/no-duplicate-type-constituents'?: Linter.RuleEntry<TypescriptEslintNoDuplicateTypeConstituents>
651
+ /**
652
+ * Disallow using the `delete` operator on computed key expressions
653
+ * @see https://typescript-eslint.io/rules/no-dynamic-delete
654
+ */
655
+ '@typescript-eslint/no-dynamic-delete'?: Linter.RuleEntry<[]>
656
+ /**
657
+ * Disallow empty functions
658
+ * @see https://typescript-eslint.io/rules/no-empty-function
659
+ */
660
+ '@typescript-eslint/no-empty-function'?: Linter.RuleEntry<TypescriptEslintNoEmptyFunction>
661
+ /**
662
+ * Disallow the declaration of empty interfaces
663
+ * @see https://typescript-eslint.io/rules/no-empty-interface
664
+ * @deprecated
665
+ */
666
+ '@typescript-eslint/no-empty-interface'?: Linter.RuleEntry<TypescriptEslintNoEmptyInterface>
667
+ /**
668
+ * Disallow accidentally using the "empty object" type
669
+ * @see https://typescript-eslint.io/rules/no-empty-object-type
670
+ */
671
+ '@typescript-eslint/no-empty-object-type'?: Linter.RuleEntry<TypescriptEslintNoEmptyObjectType>
672
+ /**
673
+ * Disallow the `any` type
674
+ * @see https://typescript-eslint.io/rules/no-explicit-any
675
+ */
676
+ '@typescript-eslint/no-explicit-any'?: Linter.RuleEntry<TypescriptEslintNoExplicitAny>
677
+ /**
678
+ * Disallow extra non-null assertions
679
+ * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
680
+ */
681
+ '@typescript-eslint/no-extra-non-null-assertion'?: Linter.RuleEntry<[]>
682
+ /**
683
+ * Disallow classes used as namespaces
684
+ * @see https://typescript-eslint.io/rules/no-extraneous-class
685
+ */
686
+ '@typescript-eslint/no-extraneous-class'?: Linter.RuleEntry<TypescriptEslintNoExtraneousClass>
687
+ /**
688
+ * Require Promise-like statements to be handled appropriately
689
+ * @see https://typescript-eslint.io/rules/no-floating-promises
690
+ */
691
+ '@typescript-eslint/no-floating-promises'?: Linter.RuleEntry<TypescriptEslintNoFloatingPromises>
692
+ /**
693
+ * Disallow iterating over an array with a for-in loop
694
+ * @see https://typescript-eslint.io/rules/no-for-in-array
695
+ */
696
+ '@typescript-eslint/no-for-in-array'?: Linter.RuleEntry<[]>
697
+ /**
698
+ * Disallow the use of `eval()`-like functions
699
+ * @see https://typescript-eslint.io/rules/no-implied-eval
700
+ */
701
+ '@typescript-eslint/no-implied-eval'?: Linter.RuleEntry<[]>
702
+ /**
703
+ * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
704
+ * @see https://typescript-eslint.io/rules/no-import-type-side-effects
705
+ */
706
+ '@typescript-eslint/no-import-type-side-effects'?: Linter.RuleEntry<[]>
707
+ /**
708
+ * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
709
+ * @see https://typescript-eslint.io/rules/no-inferrable-types
710
+ */
711
+ '@typescript-eslint/no-inferrable-types'?: Linter.RuleEntry<TypescriptEslintNoInferrableTypes>
712
+ /**
713
+ * Disallow `this` keywords outside of classes or class-like objects
714
+ * @see https://typescript-eslint.io/rules/no-invalid-this
715
+ */
716
+ '@typescript-eslint/no-invalid-this'?: Linter.RuleEntry<TypescriptEslintNoInvalidThis>
717
+ /**
718
+ * Disallow `void` type outside of generic or return types
719
+ * @see https://typescript-eslint.io/rules/no-invalid-void-type
720
+ */
721
+ '@typescript-eslint/no-invalid-void-type'?: Linter.RuleEntry<TypescriptEslintNoInvalidVoidType>
722
+ /**
723
+ * Disallow function declarations that contain unsafe references inside loop statements
724
+ * @see https://typescript-eslint.io/rules/no-loop-func
725
+ */
726
+ '@typescript-eslint/no-loop-func'?: Linter.RuleEntry<[]>
727
+ /**
728
+ * Disallow literal numbers that lose precision
729
+ * @see https://typescript-eslint.io/rules/no-loss-of-precision
730
+ * @deprecated
731
+ */
732
+ '@typescript-eslint/no-loss-of-precision'?: Linter.RuleEntry<[]>
733
+ /**
734
+ * Disallow magic numbers
735
+ * @see https://typescript-eslint.io/rules/no-magic-numbers
736
+ */
737
+ '@typescript-eslint/no-magic-numbers'?: Linter.RuleEntry<TypescriptEslintNoMagicNumbers>
738
+ /**
739
+ * Disallow the `void` operator except when used to discard a value
740
+ * @see https://typescript-eslint.io/rules/no-meaningless-void-operator
741
+ */
742
+ '@typescript-eslint/no-meaningless-void-operator'?: Linter.RuleEntry<TypescriptEslintNoMeaninglessVoidOperator>
743
+ /**
744
+ * Enforce valid definition of `new` and `constructor`
745
+ * @see https://typescript-eslint.io/rules/no-misused-new
746
+ */
747
+ '@typescript-eslint/no-misused-new'?: Linter.RuleEntry<[]>
748
+ /**
749
+ * Disallow Promises in places not designed to handle them
750
+ * @see https://typescript-eslint.io/rules/no-misused-promises
751
+ */
752
+ '@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>
753
+ /**
754
+ * Disallow using the spread operator when it might cause unexpected behavior
755
+ * @see https://typescript-eslint.io/rules/no-misused-spread
756
+ */
757
+ '@typescript-eslint/no-misused-spread'?: Linter.RuleEntry<TypescriptEslintNoMisusedSpread>
758
+ /**
759
+ * Disallow enums from having both number and string members
760
+ * @see https://typescript-eslint.io/rules/no-mixed-enums
761
+ */
762
+ '@typescript-eslint/no-mixed-enums'?: Linter.RuleEntry<[]>
763
+ /**
764
+ * Disallow TypeScript namespaces
765
+ * @see https://typescript-eslint.io/rules/no-namespace
766
+ */
767
+ '@typescript-eslint/no-namespace'?: Linter.RuleEntry<TypescriptEslintNoNamespace>
768
+ /**
769
+ * Disallow non-null assertions in the left operand of a nullish coalescing operator
770
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
771
+ */
772
+ '@typescript-eslint/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]>
773
+ /**
774
+ * Disallow non-null assertions after an optional chain expression
775
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
776
+ */
777
+ '@typescript-eslint/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]>
778
+ /**
779
+ * Disallow non-null assertions using the `!` postfix operator
780
+ * @see https://typescript-eslint.io/rules/no-non-null-assertion
781
+ */
782
+ '@typescript-eslint/no-non-null-assertion'?: Linter.RuleEntry<[]>
783
+ /**
784
+ * Disallow variable redeclaration
785
+ * @see https://typescript-eslint.io/rules/no-redeclare
786
+ */
787
+ '@typescript-eslint/no-redeclare'?: Linter.RuleEntry<TypescriptEslintNoRedeclare>
788
+ /**
789
+ * Disallow members of unions and intersections that do nothing or override type information
790
+ * @see https://typescript-eslint.io/rules/no-redundant-type-constituents
791
+ */
792
+ '@typescript-eslint/no-redundant-type-constituents'?: Linter.RuleEntry<[]>
793
+ /**
794
+ * Disallow invocation of `require()`
795
+ * @see https://typescript-eslint.io/rules/no-require-imports
796
+ */
797
+ '@typescript-eslint/no-require-imports'?: Linter.RuleEntry<TypescriptEslintNoRequireImports>
798
+ /**
799
+ * Disallow specified modules when loaded by `import`
800
+ * @see https://typescript-eslint.io/rules/no-restricted-imports
801
+ */
802
+ '@typescript-eslint/no-restricted-imports'?: Linter.RuleEntry<TypescriptEslintNoRestrictedImports>
803
+ /**
804
+ * Disallow certain types
805
+ * @see https://typescript-eslint.io/rules/no-restricted-types
806
+ */
807
+ '@typescript-eslint/no-restricted-types'?: Linter.RuleEntry<TypescriptEslintNoRestrictedTypes>
808
+ /**
809
+ * Disallow variable declarations from shadowing variables declared in the outer scope
810
+ * @see https://typescript-eslint.io/rules/no-shadow
811
+ */
812
+ '@typescript-eslint/no-shadow'?: Linter.RuleEntry<TypescriptEslintNoShadow>
813
+ /**
814
+ * Disallow aliasing `this`
815
+ * @see https://typescript-eslint.io/rules/no-this-alias
816
+ */
817
+ '@typescript-eslint/no-this-alias'?: Linter.RuleEntry<TypescriptEslintNoThisAlias>
818
+ /**
819
+ * Disallow type aliases
820
+ * @see https://typescript-eslint.io/rules/no-type-alias
821
+ * @deprecated
822
+ */
823
+ '@typescript-eslint/no-type-alias'?: Linter.RuleEntry<TypescriptEslintNoTypeAlias>
824
+ /**
825
+ * Disallow unnecessary equality comparisons against boolean literals
826
+ * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
827
+ */
828
+ '@typescript-eslint/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryBooleanLiteralCompare>
829
+ /**
830
+ * Disallow conditionals where the type is always truthy or always falsy
831
+ * @see https://typescript-eslint.io/rules/no-unnecessary-condition
832
+ */
833
+ '@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryCondition>
834
+ /**
835
+ * Disallow unnecessary assignment of constructor property parameter
836
+ * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
837
+ */
838
+ '@typescript-eslint/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]>
839
+ /**
840
+ * Disallow unnecessary namespace qualifiers
841
+ * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
842
+ */
843
+ '@typescript-eslint/no-unnecessary-qualifier'?: Linter.RuleEntry<[]>
844
+ /**
845
+ * Disallow unnecessary template expressions
846
+ * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
847
+ */
848
+ '@typescript-eslint/no-unnecessary-template-expression'?: Linter.RuleEntry<[]>
849
+ /**
850
+ * Disallow type arguments that are equal to the default
851
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
852
+ */
853
+ '@typescript-eslint/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]>
854
+ /**
855
+ * Disallow type assertions that do not change the type of an expression
856
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
857
+ */
858
+ '@typescript-eslint/no-unnecessary-type-assertion'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryTypeAssertion>
859
+ /**
860
+ * Disallow unnecessary constraints on generic types
861
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
862
+ */
863
+ '@typescript-eslint/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
864
+ /**
865
+ * Disallow conversion idioms when they do not change the type or value of the expression
866
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-conversion
867
+ */
868
+ '@typescript-eslint/no-unnecessary-type-conversion'?: Linter.RuleEntry<[]>
869
+ /**
870
+ * Disallow type parameters that aren't used multiple times
871
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
872
+ */
873
+ '@typescript-eslint/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
874
+ /**
875
+ * Disallow calling a function with a value with type `any`
876
+ * @see https://typescript-eslint.io/rules/no-unsafe-argument
877
+ */
878
+ '@typescript-eslint/no-unsafe-argument'?: Linter.RuleEntry<[]>
879
+ /**
880
+ * Disallow assigning a value with type `any` to variables and properties
881
+ * @see https://typescript-eslint.io/rules/no-unsafe-assignment
882
+ */
883
+ '@typescript-eslint/no-unsafe-assignment'?: Linter.RuleEntry<[]>
884
+ /**
885
+ * Disallow calling a value with type `any`
886
+ * @see https://typescript-eslint.io/rules/no-unsafe-call
887
+ */
888
+ '@typescript-eslint/no-unsafe-call'?: Linter.RuleEntry<[]>
889
+ /**
890
+ * Disallow unsafe declaration merging
891
+ * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
892
+ */
893
+ '@typescript-eslint/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>
894
+ /**
895
+ * Disallow comparing an enum value with a non-enum value
896
+ * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
897
+ */
898
+ '@typescript-eslint/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]>
899
+ /**
900
+ * Disallow using the unsafe built-in Function type
901
+ * @see https://typescript-eslint.io/rules/no-unsafe-function-type
902
+ */
903
+ '@typescript-eslint/no-unsafe-function-type'?: Linter.RuleEntry<[]>
904
+ /**
905
+ * Disallow member access on a value with type `any`
906
+ * @see https://typescript-eslint.io/rules/no-unsafe-member-access
907
+ */
908
+ '@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<[]>
909
+ /**
910
+ * Disallow returning a value with type `any` from a function
911
+ * @see https://typescript-eslint.io/rules/no-unsafe-return
912
+ */
913
+ '@typescript-eslint/no-unsafe-return'?: Linter.RuleEntry<[]>
914
+ /**
915
+ * Disallow type assertions that narrow a type
916
+ * @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
917
+ */
918
+ '@typescript-eslint/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>
919
+ /**
920
+ * Require unary negation to take a number
921
+ * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
922
+ */
923
+ '@typescript-eslint/no-unsafe-unary-minus'?: Linter.RuleEntry<[]>
924
+ /**
925
+ * Disallow unused expressions
926
+ * @see https://typescript-eslint.io/rules/no-unused-expressions
927
+ */
928
+ '@typescript-eslint/no-unused-expressions'?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>
929
+ /**
930
+ * Disallow unused variables
931
+ * @see https://typescript-eslint.io/rules/no-unused-vars
932
+ */
933
+ '@typescript-eslint/no-unused-vars'?: Linter.RuleEntry<TypescriptEslintNoUnusedVars>
934
+ /**
935
+ * Disallow the use of variables before they are defined
936
+ * @see https://typescript-eslint.io/rules/no-use-before-define
937
+ */
938
+ '@typescript-eslint/no-use-before-define'?: Linter.RuleEntry<TypescriptEslintNoUseBeforeDefine>
939
+ /**
940
+ * Disallow unnecessary constructors
941
+ * @see https://typescript-eslint.io/rules/no-useless-constructor
942
+ */
943
+ '@typescript-eslint/no-useless-constructor'?: Linter.RuleEntry<[]>
944
+ /**
945
+ * Disallow empty exports that don't change anything in a module file
946
+ * @see https://typescript-eslint.io/rules/no-useless-empty-export
947
+ */
948
+ '@typescript-eslint/no-useless-empty-export'?: Linter.RuleEntry<[]>
949
+ /**
950
+ * Disallow `require` statements except in import statements
951
+ * @see https://typescript-eslint.io/rules/no-var-requires
952
+ * @deprecated
953
+ */
954
+ '@typescript-eslint/no-var-requires'?: Linter.RuleEntry<TypescriptEslintNoVarRequires>
955
+ /**
956
+ * Disallow using confusing built-in primitive class wrappers
957
+ * @see https://typescript-eslint.io/rules/no-wrapper-object-types
958
+ */
959
+ '@typescript-eslint/no-wrapper-object-types'?: Linter.RuleEntry<[]>
960
+ /**
961
+ * Enforce non-null assertions over explicit type assertions
962
+ * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
963
+ */
964
+ '@typescript-eslint/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>
965
+ /**
966
+ * Disallow throwing non-`Error` values as exceptions
967
+ * @see https://typescript-eslint.io/rules/only-throw-error
968
+ */
969
+ '@typescript-eslint/only-throw-error'?: Linter.RuleEntry<TypescriptEslintOnlyThrowError>
970
+ /**
971
+ * Require or disallow parameter properties in class constructors
972
+ * @see https://typescript-eslint.io/rules/parameter-properties
973
+ */
974
+ '@typescript-eslint/parameter-properties'?: Linter.RuleEntry<TypescriptEslintParameterProperties>
975
+ /**
976
+ * Enforce the use of `as const` over literal type
977
+ * @see https://typescript-eslint.io/rules/prefer-as-const
978
+ */
979
+ '@typescript-eslint/prefer-as-const'?: Linter.RuleEntry<[]>
980
+ /**
981
+ * Require destructuring from arrays and/or objects
982
+ * @see https://typescript-eslint.io/rules/prefer-destructuring
983
+ */
984
+ '@typescript-eslint/prefer-destructuring'?: Linter.RuleEntry<TypescriptEslintPreferDestructuring>
985
+ /**
986
+ * Require each enum member value to be explicitly initialized
987
+ * @see https://typescript-eslint.io/rules/prefer-enum-initializers
988
+ */
989
+ '@typescript-eslint/prefer-enum-initializers'?: Linter.RuleEntry<[]>
990
+ /**
991
+ * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
992
+ * @see https://typescript-eslint.io/rules/prefer-find
993
+ */
994
+ '@typescript-eslint/prefer-find'?: Linter.RuleEntry<[]>
995
+ /**
996
+ * Enforce the use of `for-of` loop over the standard `for` loop where possible
997
+ * @see https://typescript-eslint.io/rules/prefer-for-of
998
+ */
999
+ '@typescript-eslint/prefer-for-of'?: Linter.RuleEntry<[]>
1000
+ /**
1001
+ * Enforce using function types instead of interfaces with call signatures
1002
+ * @see https://typescript-eslint.io/rules/prefer-function-type
1003
+ */
1004
+ '@typescript-eslint/prefer-function-type'?: Linter.RuleEntry<[]>
1005
+ /**
1006
+ * Enforce `includes` method over `indexOf` method
1007
+ * @see https://typescript-eslint.io/rules/prefer-includes
1008
+ */
1009
+ '@typescript-eslint/prefer-includes'?: Linter.RuleEntry<[]>
1010
+ /**
1011
+ * Require all enum members to be literal values
1012
+ * @see https://typescript-eslint.io/rules/prefer-literal-enum-member
1013
+ */
1014
+ '@typescript-eslint/prefer-literal-enum-member'?: Linter.RuleEntry<TypescriptEslintPreferLiteralEnumMember>
1015
+ /**
1016
+ * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
1017
+ * @see https://typescript-eslint.io/rules/prefer-namespace-keyword
1018
+ */
1019
+ '@typescript-eslint/prefer-namespace-keyword'?: Linter.RuleEntry<[]>
1020
+ /**
1021
+ * Enforce using the nullish coalescing operator instead of logical assignments or chaining
1022
+ * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
1023
+ */
1024
+ '@typescript-eslint/prefer-nullish-coalescing'?: Linter.RuleEntry<TypescriptEslintPreferNullishCoalescing>
1025
+ /**
1026
+ * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
1027
+ * @see https://typescript-eslint.io/rules/prefer-optional-chain
1028
+ */
1029
+ '@typescript-eslint/prefer-optional-chain'?: Linter.RuleEntry<TypescriptEslintPreferOptionalChain>
1030
+ /**
1031
+ * Require using Error objects as Promise rejection reasons
1032
+ * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
1033
+ */
1034
+ '@typescript-eslint/prefer-promise-reject-errors'?: Linter.RuleEntry<TypescriptEslintPreferPromiseRejectErrors>
1035
+ /**
1036
+ * Require private members to be marked as `readonly` if they're never modified outside of the constructor
1037
+ * @see https://typescript-eslint.io/rules/prefer-readonly
1038
+ */
1039
+ '@typescript-eslint/prefer-readonly'?: Linter.RuleEntry<TypescriptEslintPreferReadonly>
1040
+ /**
1041
+ * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
1042
+ * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
1043
+ */
1044
+ '@typescript-eslint/prefer-readonly-parameter-types'?: Linter.RuleEntry<TypescriptEslintPreferReadonlyParameterTypes>
1045
+ /**
1046
+ * Enforce using type parameter when calling `Array#reduce` instead of using a type assertion
1047
+ * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
1048
+ */
1049
+ '@typescript-eslint/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>
1050
+ /**
1051
+ * Enforce `RegExp#exec` over `String#match` if no global flag is provided
1052
+ * @see https://typescript-eslint.io/rules/prefer-regexp-exec
1053
+ */
1054
+ '@typescript-eslint/prefer-regexp-exec'?: Linter.RuleEntry<[]>
1055
+ /**
1056
+ * Enforce that `this` is used when only `this` type is returned
1057
+ * @see https://typescript-eslint.io/rules/prefer-return-this-type
1058
+ */
1059
+ '@typescript-eslint/prefer-return-this-type'?: Linter.RuleEntry<[]>
1060
+ /**
1061
+ * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
1062
+ * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
1063
+ */
1064
+ '@typescript-eslint/prefer-string-starts-ends-with'?: Linter.RuleEntry<TypescriptEslintPreferStringStartsEndsWith>
1065
+ /**
1066
+ * Enforce using `@ts-expect-error` over `@ts-ignore`
1067
+ * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
1068
+ * @deprecated
1069
+ */
1070
+ '@typescript-eslint/prefer-ts-expect-error'?: Linter.RuleEntry<[]>
1071
+ /**
1072
+ * Require any function or method that returns a Promise to be marked async
1073
+ * @see https://typescript-eslint.io/rules/promise-function-async
1074
+ */
1075
+ '@typescript-eslint/promise-function-async'?: Linter.RuleEntry<TypescriptEslintPromiseFunctionAsync>
1076
+ /**
1077
+ * Enforce that `get()` types should be assignable to their equivalent `set()` type
1078
+ * @see https://typescript-eslint.io/rules/related-getter-setter-pairs
1079
+ */
1080
+ '@typescript-eslint/related-getter-setter-pairs'?: Linter.RuleEntry<[]>
1081
+ /**
1082
+ * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
1083
+ * @see https://typescript-eslint.io/rules/require-array-sort-compare
1084
+ */
1085
+ '@typescript-eslint/require-array-sort-compare'?: Linter.RuleEntry<TypescriptEslintRequireArraySortCompare>
1086
+ /**
1087
+ * Disallow async functions which do not return promises and have no `await` expression
1088
+ * @see https://typescript-eslint.io/rules/require-await
1089
+ */
1090
+ '@typescript-eslint/require-await'?: Linter.RuleEntry<[]>
1091
+ /**
1092
+ * Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
1093
+ * @see https://typescript-eslint.io/rules/restrict-plus-operands
1094
+ */
1095
+ '@typescript-eslint/restrict-plus-operands'?: Linter.RuleEntry<TypescriptEslintRestrictPlusOperands>
1096
+ /**
1097
+ * Enforce template literal expressions to be of `string` type
1098
+ * @see https://typescript-eslint.io/rules/restrict-template-expressions
1099
+ */
1100
+ '@typescript-eslint/restrict-template-expressions'?: Linter.RuleEntry<TypescriptEslintRestrictTemplateExpressions>
1101
+ /**
1102
+ * Enforce consistent awaiting of returned promises
1103
+ * @see https://typescript-eslint.io/rules/return-await
1104
+ */
1105
+ '@typescript-eslint/return-await'?: Linter.RuleEntry<TypescriptEslintReturnAwait>
1106
+ /**
1107
+ * Enforce constituents of a type union/intersection to be sorted alphabetically
1108
+ * @see https://typescript-eslint.io/rules/sort-type-constituents
1109
+ * @deprecated
1110
+ */
1111
+ '@typescript-eslint/sort-type-constituents'?: Linter.RuleEntry<TypescriptEslintSortTypeConstituents>
1112
+ /**
1113
+ * Disallow certain types in boolean expressions
1114
+ * @see https://typescript-eslint.io/rules/strict-boolean-expressions
1115
+ */
1116
+ '@typescript-eslint/strict-boolean-expressions'?: Linter.RuleEntry<TypescriptEslintStrictBooleanExpressions>
1117
+ /**
1118
+ * Require switch-case statements to be exhaustive
1119
+ * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
1120
+ */
1121
+ '@typescript-eslint/switch-exhaustiveness-check'?: Linter.RuleEntry<TypescriptEslintSwitchExhaustivenessCheck>
1122
+ /**
1123
+ * Disallow certain triple slash directives in favor of ES6-style import declarations
1124
+ * @see https://typescript-eslint.io/rules/triple-slash-reference
1125
+ */
1126
+ '@typescript-eslint/triple-slash-reference'?: Linter.RuleEntry<TypescriptEslintTripleSlashReference>
1127
+ /**
1128
+ * Require type annotations in certain places
1129
+ * @see https://typescript-eslint.io/rules/typedef
1130
+ * @deprecated
1131
+ */
1132
+ '@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>
1133
+ /**
1134
+ * Enforce unbound methods are called with their expected scope
1135
+ * @see https://typescript-eslint.io/rules/unbound-method
1136
+ */
1137
+ '@typescript-eslint/unbound-method'?: Linter.RuleEntry<TypescriptEslintUnboundMethod>
1138
+ /**
1139
+ * Disallow two overloads that could be unified into one with a union or an optional/rest parameter
1140
+ * @see https://typescript-eslint.io/rules/unified-signatures
1141
+ */
1142
+ '@typescript-eslint/unified-signatures'?: Linter.RuleEntry<TypescriptEslintUnifiedSignatures>
1143
+ /**
1144
+ * Enforce typing arguments in Promise rejection callbacks as `unknown`
1145
+ * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
1146
+ */
1147
+ '@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
1148
+ /**
1149
+ * Enforce or ban the use of inline type-only markers for named imports.
1150
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md
1151
+ */
1152
+ 'imports/consistent-type-specifier-style'?: Linter.RuleEntry<ImportsConsistentTypeSpecifierStyle>
1153
+ /**
1154
+ * Ensure a default export is present, given a default import.
1155
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/default.md
1156
+ */
1157
+ 'imports/default'?: Linter.RuleEntry<[]>
1158
+ /**
1159
+ * Enforce a leading comment with the webpackChunkName for dynamic imports.
1160
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/dynamic-import-chunkname.md
1161
+ */
1162
+ 'imports/dynamic-import-chunkname'?: Linter.RuleEntry<ImportsDynamicImportChunkname>
1163
+ /**
1164
+ * Enforce either using, or omitting, the `node:` protocol when importing Node.js builtin modules.
1165
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/enforce-node-protocol-usage.md
1166
+ */
1167
+ 'imports/enforce-node-protocol-usage'?: Linter.RuleEntry<ImportsEnforceNodeProtocolUsage>
1168
+ /**
1169
+ * Forbid any invalid exports, i.e. re-export of the same name.
1170
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/export.md
1171
+ */
1172
+ 'imports/export'?: Linter.RuleEntry<[]>
1173
+ /**
1174
+ * Ensure all exports appear after other statements.
1175
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/exports-last.md
1176
+ */
1177
+ 'imports/exports-last'?: Linter.RuleEntry<[]>
1178
+ /**
1179
+ * Ensure consistent use of file extension within the import path.
1180
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/extensions.md
1181
+ */
1182
+ 'imports/extensions'?: Linter.RuleEntry<ImportsExtensions>
1183
+ /**
1184
+ * Ensure all imports appear before other statements.
1185
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/first.md
1186
+ */
1187
+ 'imports/first'?: Linter.RuleEntry<ImportsFirst>
1188
+ /**
1189
+ * Prefer named exports to be grouped together in a single export declaration
1190
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/group-exports.md
1191
+ */
1192
+ 'imports/group-exports'?: Linter.RuleEntry<[]>
1193
+ /**
1194
+ * Replaced by `import/first`.
1195
+ * @see https://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md
1196
+ * @deprecated
1197
+ */
1198
+ 'imports/imports-first'?: Linter.RuleEntry<ImportsImportsFirst>
1199
+ /**
1200
+ * Enforce the maximum number of dependencies a module can have.
1201
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/max-dependencies.md
1202
+ */
1203
+ 'imports/max-dependencies'?: Linter.RuleEntry<ImportsMaxDependencies>
1204
+ /**
1205
+ * Ensure named imports correspond to a named export in the remote file.
1206
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/named.md
1207
+ */
1208
+ 'imports/named'?: Linter.RuleEntry<ImportsNamed>
1209
+ /**
1210
+ * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
1211
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/namespace.md
1212
+ */
1213
+ 'imports/namespace'?: Linter.RuleEntry<ImportsNamespace>
1214
+ /**
1215
+ * Enforce a newline after import statements.
1216
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/newline-after-import.md
1217
+ */
1218
+ 'imports/newline-after-import'?: Linter.RuleEntry<ImportsNewlineAfterImport>
1219
+ /**
1220
+ * Forbid import of modules using absolute paths.
1221
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-absolute-path.md
1222
+ */
1223
+ 'imports/no-absolute-path'?: Linter.RuleEntry<ImportsNoAbsolutePath>
1224
+ /**
1225
+ * Forbid AMD `require` and `define` calls.
1226
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-amd.md
1227
+ */
1228
+ 'imports/no-amd'?: Linter.RuleEntry<[]>
1229
+ /**
1230
+ * Forbid anonymous values as default exports.
1231
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-anonymous-default-export.md
1232
+ */
1233
+ 'imports/no-anonymous-default-export'?: Linter.RuleEntry<ImportsNoAnonymousDefaultExport>
1234
+ /**
1235
+ * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
1236
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-commonjs.md
1237
+ */
1238
+ 'imports/no-commonjs'?: Linter.RuleEntry<ImportsNoCommonjs>
1239
+ /**
1240
+ * Forbid a module from importing a module with a dependency path back to itself.
1241
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-cycle.md
1242
+ */
1243
+ 'imports/no-cycle'?: Linter.RuleEntry<ImportsNoCycle>
1244
+ /**
1245
+ * Forbid default exports.
1246
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-default-export.md
1247
+ */
1248
+ 'imports/no-default-export'?: Linter.RuleEntry<[]>
1249
+ /**
1250
+ * Forbid imported names marked with `@deprecated` documentation tag.
1251
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-deprecated.md
1252
+ */
1253
+ 'imports/no-deprecated'?: Linter.RuleEntry<[]>
1254
+ /**
1255
+ * Forbid repeated import of the same module in multiple places.
1256
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-duplicates.md
1257
+ */
1258
+ 'imports/no-duplicates'?: Linter.RuleEntry<ImportsNoDuplicates>
1259
+ /**
1260
+ * Forbid `require()` calls with expressions.
1261
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-dynamic-require.md
1262
+ */
1263
+ 'imports/no-dynamic-require'?: Linter.RuleEntry<ImportsNoDynamicRequire>
1264
+ /**
1265
+ * Forbid empty named import blocks.
1266
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-empty-named-blocks.md
1267
+ */
1268
+ 'imports/no-empty-named-blocks'?: Linter.RuleEntry<[]>
1269
+ /**
1270
+ * Forbid the use of extraneous packages.
1271
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-extraneous-dependencies.md
1272
+ */
1273
+ 'imports/no-extraneous-dependencies'?: Linter.RuleEntry<ImportsNoExtraneousDependencies>
1274
+ /**
1275
+ * Forbid import statements with CommonJS module.exports.
1276
+ */
1277
+ 'imports/no-import-module-exports'?: Linter.RuleEntry<ImportsNoImportModuleExports>
1278
+ /**
1279
+ * Forbid importing the submodules of other modules.
1280
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-internal-modules.md
1281
+ */
1282
+ 'imports/no-internal-modules'?: Linter.RuleEntry<ImportsNoInternalModules>
1283
+ /**
1284
+ * Forbid the use of mutable exports with `var` or `let`.
1285
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-mutable-exports.md
1286
+ */
1287
+ 'imports/no-mutable-exports'?: Linter.RuleEntry<[]>
1288
+ /**
1289
+ * Forbid use of exported name as identifier of default export.
1290
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default.md
1291
+ */
1292
+ 'imports/no-named-as-default'?: Linter.RuleEntry<[]>
1293
+ /**
1294
+ * Forbid use of exported name as property of default export.
1295
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default-member.md
1296
+ */
1297
+ 'imports/no-named-as-default-member'?: Linter.RuleEntry<[]>
1298
+ /**
1299
+ * Forbid named default exports.
1300
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-default.md
1301
+ */
1302
+ 'imports/no-named-default'?: Linter.RuleEntry<[]>
1303
+ /**
1304
+ * Forbid named exports.
1305
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-export.md
1306
+ */
1307
+ 'imports/no-named-export'?: Linter.RuleEntry<[]>
1308
+ /**
1309
+ * Forbid namespace (a.k.a. "wildcard" `*`) imports.
1310
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-namespace.md
1311
+ */
1312
+ 'imports/no-namespace'?: Linter.RuleEntry<ImportsNoNamespace>
1313
+ /**
1314
+ * Forbid Node.js builtin modules.
1315
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-nodejs-modules.md
1316
+ */
1317
+ 'imports/no-nodejs-modules'?: Linter.RuleEntry<ImportsNoNodejsModules>
1318
+ /**
1319
+ * Forbid importing packages through relative paths.
1320
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-packages.md
1321
+ */
1322
+ 'imports/no-relative-packages'?: Linter.RuleEntry<ImportsNoRelativePackages>
1323
+ /**
1324
+ * Forbid importing modules from parent directories.
1325
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-parent-imports.md
1326
+ */
1327
+ 'imports/no-relative-parent-imports'?: Linter.RuleEntry<ImportsNoRelativeParentImports>
1328
+ /**
1329
+ * Enforce which files can be imported in a given folder.
1330
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-restricted-paths.md
1331
+ */
1332
+ 'imports/no-restricted-paths'?: Linter.RuleEntry<ImportsNoRestrictedPaths>
1333
+ /**
1334
+ * Forbid a module from importing itself.
1335
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-self-import.md
1336
+ */
1337
+ 'imports/no-self-import'?: Linter.RuleEntry<[]>
1338
+ /**
1339
+ * Forbid unassigned imports
1340
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unassigned-import.md
1341
+ */
1342
+ 'imports/no-unassigned-import'?: Linter.RuleEntry<ImportsNoUnassignedImport>
1343
+ /**
1344
+ * Ensure imports point to a file/module that can be resolved.
1345
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unresolved.md
1346
+ */
1347
+ 'imports/no-unresolved'?: Linter.RuleEntry<ImportsNoUnresolved>
1348
+ /**
1349
+ * Forbid modules without exports, or exports without matching import in another module.
1350
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unused-modules.md
1351
+ */
1352
+ 'imports/no-unused-modules'?: Linter.RuleEntry<ImportsNoUnusedModules>
1353
+ /**
1354
+ * Forbid unnecessary path segments in import and require statements.
1355
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-useless-path-segments.md
1356
+ */
1357
+ 'imports/no-useless-path-segments'?: Linter.RuleEntry<ImportsNoUselessPathSegments>
1358
+ /**
1359
+ * Forbid webpack loader syntax in imports.
1360
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-webpack-loader-syntax.md
1361
+ */
1362
+ 'imports/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
1363
+ /**
1364
+ * Enforce a convention in module import order.
1365
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/order.md
1366
+ */
1367
+ 'imports/order'?: Linter.RuleEntry<ImportsOrder>
1368
+ /**
1369
+ * Prefer a default export if module exports a single name or multiple names.
1370
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/prefer-default-export.md
1371
+ */
1372
+ 'imports/prefer-default-export'?: Linter.RuleEntry<ImportsPreferDefaultExport>
1373
+ /**
1374
+ * Forbid potentially ambiguous parse goal (`script` vs. `module`).
1375
+ * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/unambiguous.md
1376
+ */
1377
+ 'imports/unambiguous'?: Linter.RuleEntry<[]>
1378
+ /**
1379
+ * enforce line breaks after opening and before closing array brackets
1380
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
1381
+ */
1382
+ 'jsonc/array-bracket-newline'?: Linter.RuleEntry<JsoncArrayBracketNewline>
1383
+ /**
1384
+ * disallow or enforce spaces inside of brackets
1385
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-spacing.html
1386
+ */
1387
+ 'jsonc/array-bracket-spacing'?: Linter.RuleEntry<JsoncArrayBracketSpacing>
1388
+ /**
1389
+ * enforce line breaks between array elements
1390
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-element-newline.html
1391
+ */
1392
+ 'jsonc/array-element-newline'?: Linter.RuleEntry<JsoncArrayElementNewline>
1393
+ /**
1394
+ * apply jsonc rules similar to your configured ESLint core rules
1395
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/auto.html
1396
+ */
1397
+ 'jsonc/auto'?: Linter.RuleEntry<[]>
1398
+ /**
1399
+ * require or disallow trailing commas
1400
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-dangle.html
1401
+ */
1402
+ 'jsonc/comma-dangle'?: Linter.RuleEntry<JsoncCommaDangle>
1403
+ /**
1404
+ * enforce consistent comma style
1405
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-style.html
1406
+ */
1407
+ 'jsonc/comma-style'?: Linter.RuleEntry<JsoncCommaStyle>
1408
+ /**
1409
+ * enforce consistent indentation
1410
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/indent.html
1411
+ */
1412
+ 'jsonc/indent'?: Linter.RuleEntry<JsoncIndent>
1413
+ /**
1414
+ * enforce naming convention to property key names
1415
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-name-casing.html
1416
+ */
1417
+ 'jsonc/key-name-casing'?: Linter.RuleEntry<JsoncKeyNameCasing>
1418
+ /**
1419
+ * enforce consistent spacing between keys and values in object literal properties
1420
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-spacing.html
1421
+ */
1422
+ 'jsonc/key-spacing'?: Linter.RuleEntry<JsoncKeySpacing>
1423
+ /**
1424
+ * disallow BigInt literals
1425
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-bigint-literals.html
1426
+ */
1427
+ 'jsonc/no-bigint-literals'?: Linter.RuleEntry<[]>
1428
+ /**
1429
+ * disallow binary expression
1430
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-expression.html
1431
+ */
1432
+ 'jsonc/no-binary-expression'?: Linter.RuleEntry<[]>
1433
+ /**
1434
+ * disallow binary numeric literals
1435
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-numeric-literals.html
1436
+ */
1437
+ 'jsonc/no-binary-numeric-literals'?: Linter.RuleEntry<[]>
1438
+ /**
1439
+ * disallow comments
1440
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-comments.html
1441
+ */
1442
+ 'jsonc/no-comments'?: Linter.RuleEntry<[]>
1443
+ /**
1444
+ * disallow duplicate keys in object literals
1445
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-dupe-keys.html
1446
+ */
1447
+ 'jsonc/no-dupe-keys'?: Linter.RuleEntry<[]>
1448
+ /**
1449
+ * disallow escape sequences in identifiers.
1450
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-escape-sequence-in-identifier.html
1451
+ */
1452
+ 'jsonc/no-escape-sequence-in-identifier'?: Linter.RuleEntry<[]>
1453
+ /**
1454
+ * disallow leading or trailing decimal points in numeric literals
1455
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-floating-decimal.html
1456
+ */
1457
+ 'jsonc/no-floating-decimal'?: Linter.RuleEntry<[]>
1458
+ /**
1459
+ * disallow hexadecimal numeric literals
1460
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-hexadecimal-numeric-literals.html
1461
+ */
1462
+ 'jsonc/no-hexadecimal-numeric-literals'?: Linter.RuleEntry<[]>
1463
+ /**
1464
+ * disallow Infinity
1465
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-infinity.html
1466
+ */
1467
+ 'jsonc/no-infinity'?: Linter.RuleEntry<[]>
1468
+ /**
1469
+ * disallow irregular whitespace
1470
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
1471
+ */
1472
+ 'jsonc/no-irregular-whitespace'?: Linter.RuleEntry<JsoncNoIrregularWhitespace>
1473
+ /**
1474
+ * disallow multiline strings
1475
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-multi-str.html
1476
+ */
1477
+ 'jsonc/no-multi-str'?: Linter.RuleEntry<[]>
1478
+ /**
1479
+ * disallow NaN
1480
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-nan.html
1481
+ */
1482
+ 'jsonc/no-nan'?: Linter.RuleEntry<[]>
1483
+ /**
1484
+ * disallow number property keys
1485
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-number-props.html
1486
+ */
1487
+ 'jsonc/no-number-props'?: Linter.RuleEntry<[]>
1488
+ /**
1489
+ * disallow numeric separators
1490
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-numeric-separators.html
1491
+ */
1492
+ 'jsonc/no-numeric-separators'?: Linter.RuleEntry<[]>
1493
+ /**
1494
+ * disallow legacy octal literals
1495
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal.html
1496
+ */
1497
+ 'jsonc/no-octal'?: Linter.RuleEntry<[]>
1498
+ /**
1499
+ * disallow octal escape sequences in string literals
1500
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-escape.html
1501
+ */
1502
+ 'jsonc/no-octal-escape'?: Linter.RuleEntry<[]>
1503
+ /**
1504
+ * disallow octal numeric literals
1505
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-numeric-literals.html
1506
+ */
1507
+ 'jsonc/no-octal-numeric-literals'?: Linter.RuleEntry<[]>
1508
+ /**
1509
+ * disallow parentheses around the expression
1510
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-parenthesized.html
1511
+ */
1512
+ 'jsonc/no-parenthesized'?: Linter.RuleEntry<[]>
1513
+ /**
1514
+ * disallow plus sign
1515
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-plus-sign.html
1516
+ */
1517
+ 'jsonc/no-plus-sign'?: Linter.RuleEntry<[]>
1518
+ /**
1519
+ * disallow RegExp literals
1520
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-regexp-literals.html
1521
+ */
1522
+ 'jsonc/no-regexp-literals'?: Linter.RuleEntry<[]>
1523
+ /**
1524
+ * disallow sparse arrays
1525
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-sparse-arrays.html
1526
+ */
1527
+ 'jsonc/no-sparse-arrays'?: Linter.RuleEntry<[]>
1528
+ /**
1529
+ * disallow template literals
1530
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-template-literals.html
1531
+ */
1532
+ 'jsonc/no-template-literals'?: Linter.RuleEntry<[]>
1533
+ /**
1534
+ * disallow `undefined`
1535
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-undefined-value.html
1536
+ */
1537
+ 'jsonc/no-undefined-value'?: Linter.RuleEntry<[]>
1538
+ /**
1539
+ * disallow Unicode code point escape sequences.
1540
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-unicode-codepoint-escapes.html
1541
+ */
1542
+ 'jsonc/no-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>
1543
+ /**
1544
+ * disallow unnecessary escape usage
1545
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
1546
+ */
1547
+ 'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>
1548
+ /**
1549
+ * enforce consistent line breaks inside braces
1550
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
1551
+ */
1552
+ 'jsonc/object-curly-newline'?: Linter.RuleEntry<JsoncObjectCurlyNewline>
1553
+ /**
1554
+ * enforce consistent spacing inside braces
1555
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-spacing.html
1556
+ */
1557
+ 'jsonc/object-curly-spacing'?: Linter.RuleEntry<JsoncObjectCurlySpacing>
1558
+ /**
1559
+ * enforce placing object properties on separate lines
1560
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-property-newline.html
1561
+ */
1562
+ 'jsonc/object-property-newline'?: Linter.RuleEntry<JsoncObjectPropertyNewline>
1563
+ /**
1564
+ * require quotes around object literal property names
1565
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quote-props.html
1566
+ */
1567
+ 'jsonc/quote-props'?: Linter.RuleEntry<JsoncQuoteProps>
1568
+ /**
1569
+ * enforce use of double or single quotes
1570
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quotes.html
1571
+ */
1572
+ 'jsonc/quotes'?: Linter.RuleEntry<JsoncQuotes>
1573
+ /**
1574
+ * require array values to be sorted
1575
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-array-values.html
1576
+ */
1577
+ 'jsonc/sort-array-values'?: Linter.RuleEntry<JsoncSortArrayValues>
1578
+ /**
1579
+ * require object keys to be sorted
1580
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html
1581
+ */
1582
+ 'jsonc/sort-keys'?: Linter.RuleEntry<JsoncSortKeys>
1583
+ /**
1584
+ * disallow spaces after unary operators
1585
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/space-unary-ops.html
1586
+ */
1587
+ 'jsonc/space-unary-ops'?: Linter.RuleEntry<JsoncSpaceUnaryOps>
1588
+ /**
1589
+ * disallow invalid number for JSON
1590
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/valid-json-number.html
1591
+ */
1592
+ 'jsonc/valid-json-number'?: Linter.RuleEntry<[]>
1593
+ /**
1594
+ * disallow parsing errors in Vue custom blocks
1595
+ * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
1596
+ */
1597
+ 'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
1598
+ }
1599
+
1600
+ /* ======= Declarations ======= */
1601
+ // ----- @stylistic/array-bracket-newline -----
1602
+ type StylisticArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
1603
+ multiline?: boolean
1604
+ minItems?: (number | null)
1605
+ })]
1606
+ // ----- @stylistic/array-bracket-spacing -----
1607
+ type StylisticArrayBracketSpacing = []|[("always" | "never")]|[("always" | "never"), {
1608
+ singleValue?: boolean
1609
+ objectsInArrays?: boolean
1610
+ arraysInArrays?: boolean
1611
+ }]
1612
+ // ----- @stylistic/array-element-newline -----
1613
+ type StylisticArrayElementNewline = []|[(_StylisticArrayElementNewlineBasicConfig | {
1614
+ ArrayExpression?: _StylisticArrayElementNewlineBasicConfig
1615
+ ArrayPattern?: _StylisticArrayElementNewlineBasicConfig
1616
+ })]
1617
+ type _StylisticArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
1618
+ consistent?: boolean
1619
+ multiline?: boolean
1620
+ minItems?: (number | null)
1621
+ })
1622
+ // ----- @stylistic/arrow-parens -----
1623
+ type StylisticArrowParens = []|[("always" | "as-needed")]|[("always" | "as-needed"), {
1624
+ requireForBlockBody?: boolean
1625
+ }]
1626
+ // ----- @stylistic/arrow-spacing -----
1627
+ type StylisticArrowSpacing = []|[{
1628
+ before?: boolean
1629
+ after?: boolean
1630
+ }]
1631
+ // ----- @stylistic/block-spacing -----
1632
+ type StylisticBlockSpacing = []|[("always" | "never")]
1633
+ // ----- @stylistic/brace-style -----
1634
+ type StylisticBraceStyle = []|[("1tbs" | "stroustrup" | "allman")]|[("1tbs" | "stroustrup" | "allman"), {
1635
+ allowSingleLine?: boolean
1636
+ }]
1637
+ // ----- @stylistic/comma-dangle -----
1638
+ type StylisticCommaDangle = []|[(_StylisticCommaDangleValue | {
1639
+ arrays?: _StylisticCommaDangleValueWithIgnore
1640
+ objects?: _StylisticCommaDangleValueWithIgnore
1641
+ imports?: _StylisticCommaDangleValueWithIgnore
1642
+ exports?: _StylisticCommaDangleValueWithIgnore
1643
+ functions?: _StylisticCommaDangleValueWithIgnore
1644
+ importAttributes?: _StylisticCommaDangleValueWithIgnore
1645
+ dynamicImports?: _StylisticCommaDangleValueWithIgnore
1646
+ enums?: _StylisticCommaDangleValueWithIgnore
1647
+ generics?: _StylisticCommaDangleValueWithIgnore
1648
+ tuples?: _StylisticCommaDangleValueWithIgnore
1649
+ })]
1650
+ type _StylisticCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
1651
+ type _StylisticCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore")
1652
+ // ----- @stylistic/comma-spacing -----
1653
+ type StylisticCommaSpacing = []|[{
1654
+ before?: boolean
1655
+ after?: boolean
1656
+ }]
1657
+ // ----- @stylistic/comma-style -----
1658
+ type StylisticCommaStyle = []|[("first" | "last")]|[("first" | "last"), {
1659
+ exceptions?: {
1660
+ [k: string]: boolean | undefined
1661
+ }
1662
+ }]
1663
+ // ----- @stylistic/computed-property-spacing -----
1664
+ type StylisticComputedPropertySpacing = []|[("always" | "never")]|[("always" | "never"), {
1665
+ enforceForClassMembers?: boolean
1666
+ }]
1667
+ // ----- @stylistic/curly-newline -----
1668
+ type StylisticCurlyNewline = []|[(("always" | "never") | {
1669
+ IfStatementConsequent?: (("always" | "never") | {
1670
+ multiline?: boolean
1671
+ minElements?: number
1672
+ consistent?: boolean
1673
+ })
1674
+ IfStatementAlternative?: (("always" | "never") | {
1675
+ multiline?: boolean
1676
+ minElements?: number
1677
+ consistent?: boolean
1678
+ })
1679
+ DoWhileStatement?: (("always" | "never") | {
1680
+ multiline?: boolean
1681
+ minElements?: number
1682
+ consistent?: boolean
1683
+ })
1684
+ ForInStatement?: (("always" | "never") | {
1685
+ multiline?: boolean
1686
+ minElements?: number
1687
+ consistent?: boolean
1688
+ })
1689
+ ForOfStatement?: (("always" | "never") | {
1690
+ multiline?: boolean
1691
+ minElements?: number
1692
+ consistent?: boolean
1693
+ })
1694
+ ForStatement?: (("always" | "never") | {
1695
+ multiline?: boolean
1696
+ minElements?: number
1697
+ consistent?: boolean
1698
+ })
1699
+ WhileStatement?: (("always" | "never") | {
1700
+ multiline?: boolean
1701
+ minElements?: number
1702
+ consistent?: boolean
1703
+ })
1704
+ SwitchStatement?: (("always" | "never") | {
1705
+ multiline?: boolean
1706
+ minElements?: number
1707
+ consistent?: boolean
1708
+ })
1709
+ SwitchCase?: (("always" | "never") | {
1710
+ multiline?: boolean
1711
+ minElements?: number
1712
+ consistent?: boolean
1713
+ })
1714
+ TryStatementBlock?: (("always" | "never") | {
1715
+ multiline?: boolean
1716
+ minElements?: number
1717
+ consistent?: boolean
1718
+ })
1719
+ TryStatementHandler?: (("always" | "never") | {
1720
+ multiline?: boolean
1721
+ minElements?: number
1722
+ consistent?: boolean
1723
+ })
1724
+ TryStatementFinalizer?: (("always" | "never") | {
1725
+ multiline?: boolean
1726
+ minElements?: number
1727
+ consistent?: boolean
1728
+ })
1729
+ BlockStatement?: (("always" | "never") | {
1730
+ multiline?: boolean
1731
+ minElements?: number
1732
+ consistent?: boolean
1733
+ })
1734
+ ArrowFunctionExpression?: (("always" | "never") | {
1735
+ multiline?: boolean
1736
+ minElements?: number
1737
+ consistent?: boolean
1738
+ })
1739
+ FunctionDeclaration?: (("always" | "never") | {
1740
+ multiline?: boolean
1741
+ minElements?: number
1742
+ consistent?: boolean
1743
+ })
1744
+ FunctionExpression?: (("always" | "never") | {
1745
+ multiline?: boolean
1746
+ minElements?: number
1747
+ consistent?: boolean
1748
+ })
1749
+ Property?: (("always" | "never") | {
1750
+ multiline?: boolean
1751
+ minElements?: number
1752
+ consistent?: boolean
1753
+ })
1754
+ ClassBody?: (("always" | "never") | {
1755
+ multiline?: boolean
1756
+ minElements?: number
1757
+ consistent?: boolean
1758
+ })
1759
+ StaticBlock?: (("always" | "never") | {
1760
+ multiline?: boolean
1761
+ minElements?: number
1762
+ consistent?: boolean
1763
+ })
1764
+ WithStatement?: (("always" | "never") | {
1765
+ multiline?: boolean
1766
+ minElements?: number
1767
+ consistent?: boolean
1768
+ })
1769
+ TSModuleBlock?: (("always" | "never") | {
1770
+ multiline?: boolean
1771
+ minElements?: number
1772
+ consistent?: boolean
1773
+ })
1774
+ multiline?: boolean
1775
+ minElements?: number
1776
+ consistent?: boolean
1777
+ })]
1778
+ // ----- @stylistic/dot-location -----
1779
+ type StylisticDotLocation = []|[("object" | "property")]
1780
+ // ----- @stylistic/eol-last -----
1781
+ type StylisticEolLast = []|[("always" | "never" | "unix" | "windows")]
1782
+ // ----- @stylistic/function-call-argument-newline -----
1783
+ type StylisticFunctionCallArgumentNewline = []|[("always" | "never" | "consistent")]
1784
+ // ----- @stylistic/function-call-spacing -----
1785
+ type StylisticFunctionCallSpacing = ([]|["never"] | []|["always"]|["always", {
1786
+ allowNewlines?: boolean
1787
+ optionalChain?: {
1788
+ before?: boolean
1789
+ after?: boolean
1790
+ }
1791
+ }])
1792
+ // ----- @stylistic/function-paren-newline -----
1793
+ type StylisticFunctionParenNewline = []|[(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
1794
+ minItems?: number
1795
+ })]
1796
+ // ----- @stylistic/generator-star-spacing -----
1797
+ type StylisticGeneratorStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
1798
+ before?: boolean
1799
+ after?: boolean
1800
+ named?: (("before" | "after" | "both" | "neither") | {
1801
+ before?: boolean
1802
+ after?: boolean
1803
+ })
1804
+ anonymous?: (("before" | "after" | "both" | "neither") | {
1805
+ before?: boolean
1806
+ after?: boolean
1807
+ })
1808
+ method?: (("before" | "after" | "both" | "neither") | {
1809
+ before?: boolean
1810
+ after?: boolean
1811
+ })
1812
+ })]
1813
+ // ----- @stylistic/implicit-arrow-linebreak -----
1814
+ type StylisticImplicitArrowLinebreak = []|[("beside" | "below")]
1815
+ // ----- @stylistic/indent -----
1816
+ type StylisticIndent = []|[("tab" | number)]|[("tab" | number), {
1817
+ SwitchCase?: number
1818
+ VariableDeclarator?: ((number | ("first" | "off")) | {
1819
+ var?: (number | ("first" | "off"))
1820
+ let?: (number | ("first" | "off"))
1821
+ const?: (number | ("first" | "off"))
1822
+ using?: (number | ("first" | "off"))
1823
+ })
1824
+ outerIIFEBody?: (number | "off")
1825
+ MemberExpression?: (number | "off")
1826
+ FunctionDeclaration?: {
1827
+ parameters?: (number | ("first" | "off"))
1828
+ body?: number
1829
+ returnType?: number
1830
+ }
1831
+ FunctionExpression?: {
1832
+ parameters?: (number | ("first" | "off"))
1833
+ body?: number
1834
+ returnType?: number
1835
+ }
1836
+ StaticBlock?: {
1837
+ body?: number
1838
+ }
1839
+ CallExpression?: {
1840
+ arguments?: (number | ("first" | "off"))
1841
+ }
1842
+ ArrayExpression?: (number | ("first" | "off"))
1843
+ ObjectExpression?: (number | ("first" | "off"))
1844
+ ImportDeclaration?: (number | ("first" | "off"))
1845
+ flatTernaryExpressions?: boolean
1846
+ offsetTernaryExpressions?: boolean
1847
+ offsetTernaryExpressionsOffsetCallExpressions?: boolean
1848
+ ignoredNodes?: string[]
1849
+ ignoreComments?: boolean
1850
+ tabLength?: number
1851
+ }]
1852
+ // ----- @stylistic/indent-binary-ops -----
1853
+ type StylisticIndentBinaryOps = []|[(number | "tab")]
1854
+ // ----- @stylistic/jsx-closing-bracket-location -----
1855
+ type StylisticJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
1856
+ location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned")
1857
+ } | {
1858
+ nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false)
1859
+ selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false)
1860
+ })]
1861
+ // ----- @stylistic/jsx-closing-tag-location -----
1862
+ type StylisticJsxClosingTagLocation = []|[("tag-aligned" | "line-aligned")]
1863
+ // ----- @stylistic/jsx-curly-brace-presence -----
1864
+ type StylisticJsxCurlyBracePresence = []|[({
1865
+ props?: ("always" | "never" | "ignore")
1866
+ children?: ("always" | "never" | "ignore")
1867
+ propElementValues?: ("always" | "never" | "ignore")
1868
+ } | ("always" | "never" | "ignore"))]
1869
+ // ----- @stylistic/jsx-curly-newline -----
1870
+ type StylisticJsxCurlyNewline = []|[(("consistent" | "never") | {
1871
+ singleline?: ("consistent" | "require" | "forbid")
1872
+ multiline?: ("consistent" | "require" | "forbid")
1873
+ })]
1874
+ // ----- @stylistic/jsx-curly-spacing -----
1875
+ type StylisticJsxCurlySpacing = []|[({
1876
+ when?: ("always" | "never")
1877
+ allowMultiline?: boolean
1878
+ spacing?: {
1879
+ objectLiterals?: ("always" | "never")
1880
+ }
1881
+ attributes?: ({
1882
+ when?: ("always" | "never")
1883
+ allowMultiline?: boolean
1884
+ spacing?: {
1885
+ objectLiterals?: ("always" | "never")
1886
+ }
1887
+ } | boolean)
1888
+ children?: ({
1889
+ when?: ("always" | "never")
1890
+ allowMultiline?: boolean
1891
+ spacing?: {
1892
+ objectLiterals?: ("always" | "never")
1893
+ }
1894
+ } | boolean)
1895
+ } | ("always" | "never"))]|[({
1896
+ when?: ("always" | "never")
1897
+ allowMultiline?: boolean
1898
+ spacing?: {
1899
+ objectLiterals?: ("always" | "never")
1900
+ }
1901
+ attributes?: ({
1902
+ when?: ("always" | "never")
1903
+ allowMultiline?: boolean
1904
+ spacing?: {
1905
+ objectLiterals?: ("always" | "never")
1906
+ }
1907
+ } | boolean)
1908
+ children?: ({
1909
+ when?: ("always" | "never")
1910
+ allowMultiline?: boolean
1911
+ spacing?: {
1912
+ objectLiterals?: ("always" | "never")
1913
+ }
1914
+ } | boolean)
1915
+ } | ("always" | "never")), {
1916
+ allowMultiline?: boolean
1917
+ spacing?: {
1918
+ objectLiterals?: ("always" | "never")
1919
+ }
1920
+ }]
1921
+ // ----- @stylistic/jsx-equals-spacing -----
1922
+ type StylisticJsxEqualsSpacing = []|[("always" | "never")]
1923
+ // ----- @stylistic/jsx-first-prop-new-line -----
1924
+ type StylisticJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
1925
+ // ----- @stylistic/jsx-function-call-newline -----
1926
+ type StylisticJsxFunctionCallNewline = []|[("always" | "multiline")]
1927
+ // ----- @stylistic/jsx-indent -----
1928
+ type StylisticJsxIndent = []|[("tab" | number)]|[("tab" | number), {
1929
+ checkAttributes?: boolean
1930
+ indentLogicalExpressions?: boolean
1931
+ }]
1932
+ // ----- @stylistic/jsx-indent-props -----
1933
+ type StylisticJsxIndentProps = []|[(("tab" | "first") | number | {
1934
+ indentMode?: (("tab" | "first") | number)
1935
+ ignoreTernaryOperator?: boolean
1936
+ })]
1937
+ // ----- @stylistic/jsx-max-props-per-line -----
1938
+ type StylisticJsxMaxPropsPerLine = []|[({
1939
+ maximum?: {
1940
+ single?: number
1941
+ multi?: number
1942
+ }
1943
+ } | {
1944
+ maximum?: number
1945
+ when?: ("always" | "multiline")
1946
+ })]
1947
+ // ----- @stylistic/jsx-newline -----
1948
+ type StylisticJsxNewline = []|[{
1949
+ prevent?: boolean
1950
+ allowMultilines?: boolean
1951
+ }]
1952
+ // ----- @stylistic/jsx-one-expression-per-line -----
1953
+ type StylisticJsxOneExpressionPerLine = []|[{
1954
+ allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx")
1955
+ }]
1956
+ // ----- @stylistic/jsx-pascal-case -----
1957
+ type StylisticJsxPascalCase = []|[{
1958
+ allowAllCaps?: boolean
1959
+ allowLeadingUnderscore?: boolean
1960
+ allowNamespace?: boolean
1961
+ ignore?: string[]
1962
+ }]
1963
+ // ----- @stylistic/jsx-quotes -----
1964
+ type StylisticJsxQuotes = []|[("prefer-single" | "prefer-double")]
1965
+ // ----- @stylistic/jsx-self-closing-comp -----
1966
+ type StylisticJsxSelfClosingComp = []|[{
1967
+ component?: boolean
1968
+ html?: boolean
1969
+ }]
1970
+ // ----- @stylistic/jsx-sort-props -----
1971
+ type StylisticJsxSortProps = []|[{
1972
+ callbacksLast?: boolean
1973
+ shorthandFirst?: boolean
1974
+ shorthandLast?: boolean
1975
+ multiline?: ("ignore" | "first" | "last")
1976
+ ignoreCase?: boolean
1977
+ noSortAlphabetically?: boolean
1978
+ reservedFirst?: (string[] | boolean)
1979
+ reservedLast?: string[]
1980
+ locale?: string
1981
+ }]
1982
+ // ----- @stylistic/jsx-tag-spacing -----
1983
+ type StylisticJsxTagSpacing = []|[{
1984
+ closingSlash?: ("always" | "never" | "allow")
1985
+ beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow")
1986
+ afterOpening?: ("always" | "allow-multiline" | "never" | "allow")
1987
+ beforeClosing?: ("always" | "proportional-always" | "never" | "allow")
1988
+ }]
1989
+ // ----- @stylistic/jsx-wrap-multilines -----
1990
+ type StylisticJsxWrapMultilines = []|[{
1991
+ declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1992
+ assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1993
+ return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1994
+ arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1995
+ condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1996
+ logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1997
+ prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1998
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
1999
+ }]
2000
+ // ----- @stylistic/key-spacing -----
2001
+ type StylisticKeySpacing = []|[({
2002
+ align?: (("colon" | "value") | {
2003
+ mode?: ("strict" | "minimum")
2004
+ on?: ("colon" | "value")
2005
+ beforeColon?: boolean
2006
+ afterColon?: boolean
2007
+ })
2008
+ mode?: ("strict" | "minimum")
2009
+ beforeColon?: boolean
2010
+ afterColon?: boolean
2011
+ ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[]
2012
+ } | {
2013
+ singleLine?: {
2014
+ mode?: ("strict" | "minimum")
2015
+ beforeColon?: boolean
2016
+ afterColon?: boolean
2017
+ }
2018
+ multiLine?: {
2019
+ align?: (("colon" | "value") | {
2020
+ mode?: ("strict" | "minimum")
2021
+ on?: ("colon" | "value")
2022
+ beforeColon?: boolean
2023
+ afterColon?: boolean
2024
+ })
2025
+ mode?: ("strict" | "minimum")
2026
+ beforeColon?: boolean
2027
+ afterColon?: boolean
2028
+ }
2029
+ } | {
2030
+ singleLine?: {
2031
+ mode?: ("strict" | "minimum")
2032
+ beforeColon?: boolean
2033
+ afterColon?: boolean
2034
+ }
2035
+ multiLine?: {
2036
+ mode?: ("strict" | "minimum")
2037
+ beforeColon?: boolean
2038
+ afterColon?: boolean
2039
+ }
2040
+ align?: {
2041
+ mode?: ("strict" | "minimum")
2042
+ on?: ("colon" | "value")
2043
+ beforeColon?: boolean
2044
+ afterColon?: boolean
2045
+ }
2046
+ })]
2047
+ // ----- @stylistic/keyword-spacing -----
2048
+ type StylisticKeywordSpacing = []|[{
2049
+ before?: boolean
2050
+ after?: boolean
2051
+ overrides?: {
2052
+ abstract?: {
2053
+ before?: boolean
2054
+ after?: boolean
2055
+ }
2056
+ boolean?: {
2057
+ before?: boolean
2058
+ after?: boolean
2059
+ }
2060
+ break?: {
2061
+ before?: boolean
2062
+ after?: boolean
2063
+ }
2064
+ byte?: {
2065
+ before?: boolean
2066
+ after?: boolean
2067
+ }
2068
+ case?: {
2069
+ before?: boolean
2070
+ after?: boolean
2071
+ }
2072
+ catch?: {
2073
+ before?: boolean
2074
+ after?: boolean
2075
+ }
2076
+ char?: {
2077
+ before?: boolean
2078
+ after?: boolean
2079
+ }
2080
+ class?: {
2081
+ before?: boolean
2082
+ after?: boolean
2083
+ }
2084
+ const?: {
2085
+ before?: boolean
2086
+ after?: boolean
2087
+ }
2088
+ continue?: {
2089
+ before?: boolean
2090
+ after?: boolean
2091
+ }
2092
+ debugger?: {
2093
+ before?: boolean
2094
+ after?: boolean
2095
+ }
2096
+ default?: {
2097
+ before?: boolean
2098
+ after?: boolean
2099
+ }
2100
+ delete?: {
2101
+ before?: boolean
2102
+ after?: boolean
2103
+ }
2104
+ do?: {
2105
+ before?: boolean
2106
+ after?: boolean
2107
+ }
2108
+ double?: {
2109
+ before?: boolean
2110
+ after?: boolean
2111
+ }
2112
+ else?: {
2113
+ before?: boolean
2114
+ after?: boolean
2115
+ }
2116
+ enum?: {
2117
+ before?: boolean
2118
+ after?: boolean
2119
+ }
2120
+ export?: {
2121
+ before?: boolean
2122
+ after?: boolean
2123
+ }
2124
+ extends?: {
2125
+ before?: boolean
2126
+ after?: boolean
2127
+ }
2128
+ false?: {
2129
+ before?: boolean
2130
+ after?: boolean
2131
+ }
2132
+ final?: {
2133
+ before?: boolean
2134
+ after?: boolean
2135
+ }
2136
+ finally?: {
2137
+ before?: boolean
2138
+ after?: boolean
2139
+ }
2140
+ float?: {
2141
+ before?: boolean
2142
+ after?: boolean
2143
+ }
2144
+ for?: {
2145
+ before?: boolean
2146
+ after?: boolean
2147
+ }
2148
+ function?: {
2149
+ before?: boolean
2150
+ after?: boolean
2151
+ }
2152
+ goto?: {
2153
+ before?: boolean
2154
+ after?: boolean
2155
+ }
2156
+ if?: {
2157
+ before?: boolean
2158
+ after?: boolean
2159
+ }
2160
+ implements?: {
2161
+ before?: boolean
2162
+ after?: boolean
2163
+ }
2164
+ import?: {
2165
+ before?: boolean
2166
+ after?: boolean
2167
+ }
2168
+ in?: {
2169
+ before?: boolean
2170
+ after?: boolean
2171
+ }
2172
+ instanceof?: {
2173
+ before?: boolean
2174
+ after?: boolean
2175
+ }
2176
+ int?: {
2177
+ before?: boolean
2178
+ after?: boolean
2179
+ }
2180
+ interface?: {
2181
+ before?: boolean
2182
+ after?: boolean
2183
+ }
2184
+ long?: {
2185
+ before?: boolean
2186
+ after?: boolean
2187
+ }
2188
+ native?: {
2189
+ before?: boolean
2190
+ after?: boolean
2191
+ }
2192
+ new?: {
2193
+ before?: boolean
2194
+ after?: boolean
2195
+ }
2196
+ null?: {
2197
+ before?: boolean
2198
+ after?: boolean
2199
+ }
2200
+ package?: {
2201
+ before?: boolean
2202
+ after?: boolean
2203
+ }
2204
+ private?: {
2205
+ before?: boolean
2206
+ after?: boolean
2207
+ }
2208
+ protected?: {
2209
+ before?: boolean
2210
+ after?: boolean
2211
+ }
2212
+ public?: {
2213
+ before?: boolean
2214
+ after?: boolean
2215
+ }
2216
+ return?: {
2217
+ before?: boolean
2218
+ after?: boolean
2219
+ }
2220
+ short?: {
2221
+ before?: boolean
2222
+ after?: boolean
2223
+ }
2224
+ static?: {
2225
+ before?: boolean
2226
+ after?: boolean
2227
+ }
2228
+ super?: {
2229
+ before?: boolean
2230
+ after?: boolean
2231
+ }
2232
+ switch?: {
2233
+ before?: boolean
2234
+ after?: boolean
2235
+ }
2236
+ synchronized?: {
2237
+ before?: boolean
2238
+ after?: boolean
2239
+ }
2240
+ this?: {
2241
+ before?: boolean
2242
+ after?: boolean
2243
+ }
2244
+ throw?: {
2245
+ before?: boolean
2246
+ after?: boolean
2247
+ }
2248
+ throws?: {
2249
+ before?: boolean
2250
+ after?: boolean
2251
+ }
2252
+ transient?: {
2253
+ before?: boolean
2254
+ after?: boolean
2255
+ }
2256
+ true?: {
2257
+ before?: boolean
2258
+ after?: boolean
2259
+ }
2260
+ try?: {
2261
+ before?: boolean
2262
+ after?: boolean
2263
+ }
2264
+ typeof?: {
2265
+ before?: boolean
2266
+ after?: boolean
2267
+ }
2268
+ var?: {
2269
+ before?: boolean
2270
+ after?: boolean
2271
+ }
2272
+ void?: {
2273
+ before?: boolean
2274
+ after?: boolean
2275
+ }
2276
+ volatile?: {
2277
+ before?: boolean
2278
+ after?: boolean
2279
+ }
2280
+ while?: {
2281
+ before?: boolean
2282
+ after?: boolean
2283
+ }
2284
+ with?: {
2285
+ before?: boolean
2286
+ after?: boolean
2287
+ }
2288
+ accessor?: {
2289
+ before?: boolean
2290
+ after?: boolean
2291
+ }
2292
+ as?: {
2293
+ before?: boolean
2294
+ after?: boolean
2295
+ }
2296
+ async?: {
2297
+ before?: boolean
2298
+ after?: boolean
2299
+ }
2300
+ await?: {
2301
+ before?: boolean
2302
+ after?: boolean
2303
+ }
2304
+ from?: {
2305
+ before?: boolean
2306
+ after?: boolean
2307
+ }
2308
+ get?: {
2309
+ before?: boolean
2310
+ after?: boolean
2311
+ }
2312
+ let?: {
2313
+ before?: boolean
2314
+ after?: boolean
2315
+ }
2316
+ of?: {
2317
+ before?: boolean
2318
+ after?: boolean
2319
+ }
2320
+ satisfies?: {
2321
+ before?: boolean
2322
+ after?: boolean
2323
+ }
2324
+ set?: {
2325
+ before?: boolean
2326
+ after?: boolean
2327
+ }
2328
+ using?: {
2329
+ before?: boolean
2330
+ after?: boolean
2331
+ }
2332
+ yield?: {
2333
+ before?: boolean
2334
+ after?: boolean
2335
+ }
2336
+ type?: {
2337
+ before?: boolean
2338
+ after?: boolean
2339
+ }
2340
+ }
2341
+ }]
2342
+ // ----- @stylistic/line-comment-position -----
2343
+ type StylisticLineCommentPosition = []|[(("above" | "beside") | {
2344
+ position?: ("above" | "beside")
2345
+ ignorePattern?: string
2346
+ applyDefaultPatterns?: boolean
2347
+ applyDefaultIgnorePatterns?: boolean
2348
+ })]
2349
+ // ----- @stylistic/linebreak-style -----
2350
+ type StylisticLinebreakStyle = []|[("unix" | "windows")]
2351
+ // ----- @stylistic/lines-around-comment -----
2352
+ type StylisticLinesAroundComment = []|[{
2353
+ beforeBlockComment?: boolean
2354
+ afterBlockComment?: boolean
2355
+ beforeLineComment?: boolean
2356
+ afterLineComment?: boolean
2357
+ allowBlockStart?: boolean
2358
+ allowBlockEnd?: boolean
2359
+ allowClassStart?: boolean
2360
+ allowClassEnd?: boolean
2361
+ allowObjectStart?: boolean
2362
+ allowObjectEnd?: boolean
2363
+ allowArrayStart?: boolean
2364
+ allowArrayEnd?: boolean
2365
+ allowInterfaceStart?: boolean
2366
+ allowInterfaceEnd?: boolean
2367
+ allowTypeStart?: boolean
2368
+ allowTypeEnd?: boolean
2369
+ allowEnumStart?: boolean
2370
+ allowEnumEnd?: boolean
2371
+ allowModuleStart?: boolean
2372
+ allowModuleEnd?: boolean
2373
+ ignorePattern?: string
2374
+ applyDefaultIgnorePatterns?: boolean
2375
+ afterHashbangComment?: boolean
2376
+ }]
2377
+ // ----- @stylistic/lines-between-class-members -----
2378
+ type StylisticLinesBetweenClassMembers = []|[({
2379
+
2380
+ enforce: [{
2381
+ blankLine: ("always" | "never")
2382
+ prev: ("method" | "field" | "*")
2383
+ next: ("method" | "field" | "*")
2384
+ }, ...({
2385
+ blankLine: ("always" | "never")
2386
+ prev: ("method" | "field" | "*")
2387
+ next: ("method" | "field" | "*")
2388
+ })[]]
2389
+ } | ("always" | "never"))]|[({
2390
+
2391
+ enforce: [{
2392
+ blankLine: ("always" | "never")
2393
+ prev: ("method" | "field" | "*")
2394
+ next: ("method" | "field" | "*")
2395
+ }, ...({
2396
+ blankLine: ("always" | "never")
2397
+ prev: ("method" | "field" | "*")
2398
+ next: ("method" | "field" | "*")
2399
+ })[]]
2400
+ } | ("always" | "never")), {
2401
+ exceptAfterSingleLine?: boolean
2402
+ exceptAfterOverload?: boolean
2403
+ }]
2404
+ // ----- @stylistic/max-len -----
2405
+ type StylisticMaxLen = []|[({
2406
+ code?: number
2407
+ comments?: number
2408
+ tabWidth?: number
2409
+ ignorePattern?: string
2410
+ ignoreComments?: boolean
2411
+ ignoreStrings?: boolean
2412
+ ignoreUrls?: boolean
2413
+ ignoreTemplateLiterals?: boolean
2414
+ ignoreRegExpLiterals?: boolean
2415
+ ignoreTrailingComments?: boolean
2416
+ } | number)]|[({
2417
+ code?: number
2418
+ comments?: number
2419
+ tabWidth?: number
2420
+ ignorePattern?: string
2421
+ ignoreComments?: boolean
2422
+ ignoreStrings?: boolean
2423
+ ignoreUrls?: boolean
2424
+ ignoreTemplateLiterals?: boolean
2425
+ ignoreRegExpLiterals?: boolean
2426
+ ignoreTrailingComments?: boolean
2427
+ } | number), ({
2428
+ code?: number
2429
+ comments?: number
2430
+ tabWidth?: number
2431
+ ignorePattern?: string
2432
+ ignoreComments?: boolean
2433
+ ignoreStrings?: boolean
2434
+ ignoreUrls?: boolean
2435
+ ignoreTemplateLiterals?: boolean
2436
+ ignoreRegExpLiterals?: boolean
2437
+ ignoreTrailingComments?: boolean
2438
+ } | number)]|[({
2439
+ code?: number
2440
+ comments?: number
2441
+ tabWidth?: number
2442
+ ignorePattern?: string
2443
+ ignoreComments?: boolean
2444
+ ignoreStrings?: boolean
2445
+ ignoreUrls?: boolean
2446
+ ignoreTemplateLiterals?: boolean
2447
+ ignoreRegExpLiterals?: boolean
2448
+ ignoreTrailingComments?: boolean
2449
+ } | number), ({
2450
+ code?: number
2451
+ comments?: number
2452
+ tabWidth?: number
2453
+ ignorePattern?: string
2454
+ ignoreComments?: boolean
2455
+ ignoreStrings?: boolean
2456
+ ignoreUrls?: boolean
2457
+ ignoreTemplateLiterals?: boolean
2458
+ ignoreRegExpLiterals?: boolean
2459
+ ignoreTrailingComments?: boolean
2460
+ } | number), {
2461
+ code?: number
2462
+ comments?: number
2463
+ tabWidth?: number
2464
+ ignorePattern?: string
2465
+ ignoreComments?: boolean
2466
+ ignoreStrings?: boolean
2467
+ ignoreUrls?: boolean
2468
+ ignoreTemplateLiterals?: boolean
2469
+ ignoreRegExpLiterals?: boolean
2470
+ ignoreTrailingComments?: boolean
2471
+ }]
2472
+ // ----- @stylistic/max-statements-per-line -----
2473
+ type StylisticMaxStatementsPerLine = []|[{
2474
+ max?: number
2475
+ ignoredNodes?: ("BreakStatement" | "ClassDeclaration" | "ContinueStatement" | "DebuggerStatement" | "DoWhileStatement" | "ExpressionStatement" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "IfStatement" | "ImportDeclaration" | "LabeledStatement" | "ReturnStatement" | "SwitchStatement" | "ThrowStatement" | "TryStatement" | "VariableDeclaration" | "WhileStatement" | "WithStatement" | "ExportNamedDeclaration" | "ExportDefaultDeclaration" | "ExportAllDeclaration")[]
2476
+ }]
2477
+ // ----- @stylistic/member-delimiter-style -----
2478
+ type StylisticMemberDelimiterStyle = []|[{
2479
+ multiline?: {
2480
+ delimiter?: ("none" | "semi" | "comma")
2481
+ requireLast?: boolean
2482
+ }
2483
+ singleline?: {
2484
+ delimiter?: ("semi" | "comma")
2485
+ requireLast?: boolean
2486
+ }
2487
+ overrides?: {
2488
+ interface?: _StylisticMemberDelimiterStyle_DelimiterConfig
2489
+ typeLiteral?: _StylisticMemberDelimiterStyle_DelimiterConfig
2490
+ }
2491
+ multilineDetection?: ("brackets" | "last-member")
2492
+ }]
2493
+ interface _StylisticMemberDelimiterStyle_DelimiterConfig {
2494
+ multiline?: {
2495
+ delimiter?: ("none" | "semi" | "comma")
2496
+ requireLast?: boolean
2497
+ }
2498
+ singleline?: {
2499
+ delimiter?: ("semi" | "comma")
2500
+ requireLast?: boolean
2501
+ }
2502
+ }
2503
+ // ----- @stylistic/multiline-comment-style -----
2504
+ type StylisticMultilineCommentStyle = ([]|[("starred-block" | "bare-block")] | []|["separate-lines"]|["separate-lines", {
2505
+ checkJSDoc?: boolean
2506
+ checkExclamation?: boolean
2507
+ }])
2508
+ // ----- @stylistic/multiline-ternary -----
2509
+ type StylisticMultilineTernary = []|[("always" | "always-multiline" | "never")]|[("always" | "always-multiline" | "never"), {
2510
+ ignoreJSX?: boolean
2511
+ }]
2512
+ // ----- @stylistic/new-parens -----
2513
+ type StylisticNewParens = []|[("always" | "never")]
2514
+ // ----- @stylistic/newline-per-chained-call -----
2515
+ type StylisticNewlinePerChainedCall = []|[{
2516
+ ignoreChainWithDepth?: number
2517
+ }]
2518
+ // ----- @stylistic/no-confusing-arrow -----
2519
+ type StylisticNoConfusingArrow = []|[{
2520
+ allowParens?: boolean
2521
+ onlyOneSimpleParam?: boolean
2522
+ }]
2523
+ // ----- @stylistic/no-extra-parens -----
2524
+ type StylisticNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
2525
+ conditionalAssign?: boolean
2526
+ ternaryOperandBinaryExpressions?: boolean
2527
+ nestedBinaryExpressions?: boolean
2528
+ returnAssign?: boolean
2529
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line")
2530
+ enforceForArrowConditionals?: boolean
2531
+ enforceForSequenceExpressions?: boolean
2532
+ enforceForNewInMemberExpressions?: boolean
2533
+ enforceForFunctionPrototypeMethods?: boolean
2534
+ allowParensAfterCommentPattern?: string
2535
+ nestedConditionalExpressions?: boolean
2536
+ allowNodesInSpreadElement?: {
2537
+ ConditionalExpression?: boolean
2538
+ LogicalExpression?: boolean
2539
+ AwaitExpression?: boolean
2540
+ }
2541
+ }])
2542
+ // ----- @stylistic/no-mixed-operators -----
2543
+ type StylisticNoMixedOperators = []|[{
2544
+ groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][]
2545
+ allowSamePrecedence?: boolean
2546
+ }]
2547
+ // ----- @stylistic/no-mixed-spaces-and-tabs -----
2548
+ type StylisticNoMixedSpacesAndTabs = []|[("smart-tabs" | boolean)]
2549
+ // ----- @stylistic/no-multi-spaces -----
2550
+ type StylisticNoMultiSpaces = []|[{
2551
+ exceptions?: {
2552
+ [k: string]: boolean
2553
+ }
2554
+ ignoreEOLComments?: boolean
2555
+ includeTabs?: boolean
2556
+ }]
2557
+ // ----- @stylistic/no-multiple-empty-lines -----
2558
+ type StylisticNoMultipleEmptyLines = []|[{
2559
+ max: number
2560
+ maxEOF?: number
2561
+ maxBOF?: number
2562
+ }]
2563
+ // ----- @stylistic/no-tabs -----
2564
+ type StylisticNoTabs = []|[{
2565
+ allowIndentationTabs?: boolean
2566
+ }]
2567
+ // ----- @stylistic/no-trailing-spaces -----
2568
+ type StylisticNoTrailingSpaces = []|[{
2569
+ skipBlankLines?: boolean
2570
+ ignoreComments?: boolean
2571
+ }]
2572
+ // ----- @stylistic/nonblock-statement-body-position -----
2573
+ type StylisticNonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), {
2574
+ overrides?: {
2575
+ if?: ("beside" | "below" | "any")
2576
+ else?: ("beside" | "below" | "any")
2577
+ while?: ("beside" | "below" | "any")
2578
+ do?: ("beside" | "below" | "any")
2579
+ for?: ("beside" | "below" | "any")
2580
+ }
2581
+ }]
2582
+ // ----- @stylistic/object-curly-newline -----
2583
+ type StylisticObjectCurlyNewline = []|[((("always" | "never") | {
2584
+ multiline?: boolean
2585
+ minProperties?: number
2586
+ consistent?: boolean
2587
+ }) | {
2588
+ ObjectExpression?: (("always" | "never") | {
2589
+ multiline?: boolean
2590
+ minProperties?: number
2591
+ consistent?: boolean
2592
+ })
2593
+ ObjectPattern?: (("always" | "never") | {
2594
+ multiline?: boolean
2595
+ minProperties?: number
2596
+ consistent?: boolean
2597
+ })
2598
+ ImportDeclaration?: (("always" | "never") | {
2599
+ multiline?: boolean
2600
+ minProperties?: number
2601
+ consistent?: boolean
2602
+ })
2603
+ ExportDeclaration?: (("always" | "never") | {
2604
+ multiline?: boolean
2605
+ minProperties?: number
2606
+ consistent?: boolean
2607
+ })
2608
+ TSTypeLiteral?: (("always" | "never") | {
2609
+ multiline?: boolean
2610
+ minProperties?: number
2611
+ consistent?: boolean
2612
+ })
2613
+ TSInterfaceBody?: (("always" | "never") | {
2614
+ multiline?: boolean
2615
+ minProperties?: number
2616
+ consistent?: boolean
2617
+ })
2618
+ TSEnumBody?: (("always" | "never") | {
2619
+ multiline?: boolean
2620
+ minProperties?: number
2621
+ consistent?: boolean
2622
+ })
2623
+ })]
2624
+ // ----- @stylistic/object-curly-spacing -----
2625
+ type StylisticObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
2626
+ arraysInObjects?: boolean
2627
+ objectsInObjects?: boolean
2628
+ }]
2629
+ // ----- @stylistic/object-property-newline -----
2630
+ type StylisticObjectPropertyNewline = []|[{
2631
+ allowAllPropertiesOnSameLine?: boolean
2632
+ }]
2633
+ // ----- @stylistic/one-var-declaration-per-line -----
2634
+ type StylisticOneVarDeclarationPerLine = []|[("always" | "initializations")]
2635
+ // ----- @stylistic/operator-linebreak -----
2636
+ type StylisticOperatorLinebreak = []|[(("after" | "before" | "none") | null)]|[(("after" | "before" | "none") | null), {
2637
+ overrides?: {
2638
+ [k: string]: ("after" | "before" | "none" | "ignore") | undefined
2639
+ }
2640
+ }]
2641
+ // ----- @stylistic/padded-blocks -----
2642
+ type StylisticPaddedBlocks = []|[(("always" | "never" | "start" | "end") | {
2643
+ blocks?: ("always" | "never" | "start" | "end")
2644
+ switches?: ("always" | "never" | "start" | "end")
2645
+ classes?: ("always" | "never" | "start" | "end")
2646
+ })]|[(("always" | "never" | "start" | "end") | {
2647
+ blocks?: ("always" | "never" | "start" | "end")
2648
+ switches?: ("always" | "never" | "start" | "end")
2649
+ classes?: ("always" | "never" | "start" | "end")
2650
+ }), {
2651
+ allowSingleLineBlocks?: boolean
2652
+ }]
2653
+ // ----- @stylistic/padding-line-between-statements -----
2654
+ type _StylisticPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
2655
+ type _StylisticPaddingLineBetweenStatementsStatementOption = (_StylisticPaddingLineBetweenStatementsStatementType | [_StylisticPaddingLineBetweenStatementsStatementType, ...(_StylisticPaddingLineBetweenStatementsStatementType)[]])
2656
+ type _StylisticPaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "return" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using")
2657
+ type StylisticPaddingLineBetweenStatements = {
2658
+ blankLine: _StylisticPaddingLineBetweenStatementsPaddingType
2659
+ prev: _StylisticPaddingLineBetweenStatementsStatementOption
2660
+ next: _StylisticPaddingLineBetweenStatementsStatementOption
2661
+ }[]
2662
+ // ----- @stylistic/quote-props -----
2663
+ type StylisticQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
2664
+ keywords?: boolean
2665
+ unnecessary?: boolean
2666
+ numbers?: boolean
2667
+ }])
2668
+ // ----- @stylistic/quotes -----
2669
+ type StylisticQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
2670
+ avoidEscape?: boolean
2671
+ allowTemplateLiterals?: (boolean | ("never" | "avoidEscape" | "always"))
2672
+ ignoreStringLiterals?: boolean
2673
+ })]
2674
+ // ----- @stylistic/rest-spread-spacing -----
2675
+ type StylisticRestSpreadSpacing = []|[("always" | "never")]
2676
+ // ----- @stylistic/semi -----
2677
+ type StylisticSemi = ([]|["never"]|["never", {
2678
+ beforeStatementContinuationChars?: ("always" | "any" | "never")
2679
+ }] | []|["always"]|["always", {
2680
+ omitLastInOneLineBlock?: boolean
2681
+ omitLastInOneLineClassBody?: boolean
2682
+ }])
2683
+ // ----- @stylistic/semi-spacing -----
2684
+ type StylisticSemiSpacing = []|[{
2685
+ before?: boolean
2686
+ after?: boolean
2687
+ }]
2688
+ // ----- @stylistic/semi-style -----
2689
+ type StylisticSemiStyle = []|[("last" | "first")]
2690
+ // ----- @stylistic/space-before-blocks -----
2691
+ type StylisticSpaceBeforeBlocks = []|[(("always" | "never") | {
2692
+ keywords?: ("always" | "never" | "off")
2693
+ functions?: ("always" | "never" | "off")
2694
+ classes?: ("always" | "never" | "off")
2695
+ modules?: ("always" | "never" | "off")
2696
+ })]
2697
+ // ----- @stylistic/space-before-function-paren -----
2698
+ type StylisticSpaceBeforeFunctionParen = []|[(("always" | "never") | {
2699
+ anonymous?: ("always" | "never" | "ignore")
2700
+ named?: ("always" | "never" | "ignore")
2701
+ asyncArrow?: ("always" | "never" | "ignore")
2702
+ catch?: ("always" | "never" | "ignore")
2703
+ })]
2704
+ // ----- @stylistic/space-in-parens -----
2705
+ type StylisticSpaceInParens = []|[("always" | "never")]|[("always" | "never"), {
2706
+ exceptions?: ("{}" | "[]" | "()" | "empty")[]
2707
+ }]
2708
+ // ----- @stylistic/space-infix-ops -----
2709
+ type StylisticSpaceInfixOps = []|[{
2710
+ int32Hint?: boolean
2711
+ ignoreTypes?: boolean
2712
+ }]
2713
+ // ----- @stylistic/space-unary-ops -----
2714
+ type StylisticSpaceUnaryOps = []|[{
2715
+ words?: boolean
2716
+ nonwords?: boolean
2717
+ overrides?: {
2718
+ [k: string]: boolean | undefined
2719
+ }
2720
+ }]
2721
+ // ----- @stylistic/spaced-comment -----
2722
+ type StylisticSpacedComment = []|[("always" | "never")]|[("always" | "never"), {
2723
+ exceptions?: string[]
2724
+ markers?: string[]
2725
+ line?: {
2726
+ exceptions?: string[]
2727
+ markers?: string[]
2728
+ }
2729
+ block?: {
2730
+ exceptions?: string[]
2731
+ markers?: string[]
2732
+ balanced?: boolean
2733
+ }
2734
+ }]
2735
+ // ----- @stylistic/switch-colon-spacing -----
2736
+ type StylisticSwitchColonSpacing = []|[{
2737
+ before?: boolean
2738
+ after?: boolean
2739
+ }]
2740
+ // ----- @stylistic/template-curly-spacing -----
2741
+ type StylisticTemplateCurlySpacing = []|[("always" | "never")]
2742
+ // ----- @stylistic/template-tag-spacing -----
2743
+ type StylisticTemplateTagSpacing = []|[("always" | "never")]
2744
+ // ----- @stylistic/type-annotation-spacing -----
2745
+ type StylisticTypeAnnotationSpacing = []|[{
2746
+ before?: boolean
2747
+ after?: boolean
2748
+ overrides?: {
2749
+ colon?: _StylisticTypeAnnotationSpacing_SpacingConfig
2750
+ arrow?: _StylisticTypeAnnotationSpacing_SpacingConfig
2751
+ variable?: _StylisticTypeAnnotationSpacing_SpacingConfig
2752
+ parameter?: _StylisticTypeAnnotationSpacing_SpacingConfig
2753
+ property?: _StylisticTypeAnnotationSpacing_SpacingConfig
2754
+ returnType?: _StylisticTypeAnnotationSpacing_SpacingConfig
2755
+ }
2756
+ }]
2757
+ interface _StylisticTypeAnnotationSpacing_SpacingConfig {
2758
+ before?: boolean
2759
+ after?: boolean
2760
+ }
2761
+ // ----- @stylistic/wrap-iife -----
2762
+ type StylisticWrapIife = []|[("outside" | "inside" | "any")]|[("outside" | "inside" | "any"), {
2763
+ functionPrototypeMethods?: boolean
2764
+ }]
2765
+ // ----- @stylistic/yield-star-spacing -----
2766
+ type StylisticYieldStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
2767
+ before?: boolean
2768
+ after?: boolean
2769
+ })]
2770
+ // ----- @typescript-eslint/array-type -----
2771
+ type TypescriptEslintArrayType = []|[{
2772
+
2773
+ default?: ("array" | "generic" | "array-simple")
2774
+
2775
+ readonly?: ("array" | "generic" | "array-simple")
2776
+ }]
2777
+ // ----- @typescript-eslint/ban-ts-comment -----
2778
+ type TypescriptEslintBanTsComment = []|[{
2779
+
2780
+ minimumDescriptionLength?: number
2781
+ "ts-check"?: (boolean | "allow-with-description" | {
2782
+ descriptionFormat?: string
2783
+ })
2784
+ "ts-expect-error"?: (boolean | "allow-with-description" | {
2785
+ descriptionFormat?: string
2786
+ })
2787
+ "ts-ignore"?: (boolean | "allow-with-description" | {
2788
+ descriptionFormat?: string
2789
+ })
2790
+ "ts-nocheck"?: (boolean | "allow-with-description" | {
2791
+ descriptionFormat?: string
2792
+ })
2793
+ }]
2794
+ // ----- @typescript-eslint/class-literal-property-style -----
2795
+ type TypescriptEslintClassLiteralPropertyStyle = []|[("fields" | "getters")]
2796
+ // ----- @typescript-eslint/class-methods-use-this -----
2797
+ type TypescriptEslintClassMethodsUseThis = []|[{
2798
+
2799
+ enforceForClassFields?: boolean
2800
+
2801
+ exceptMethods?: string[]
2802
+
2803
+ ignoreClassesThatImplementAnInterface?: (boolean | "public-fields")
2804
+
2805
+ ignoreOverrideMethods?: boolean
2806
+ }]
2807
+ // ----- @typescript-eslint/consistent-generic-constructors -----
2808
+ type TypescriptEslintConsistentGenericConstructors = []|[("type-annotation" | "constructor")]
2809
+ // ----- @typescript-eslint/consistent-indexed-object-style -----
2810
+ type TypescriptEslintConsistentIndexedObjectStyle = []|[("record" | "index-signature")]
2811
+ // ----- @typescript-eslint/consistent-return -----
2812
+ type TypescriptEslintConsistentReturn = []|[{
2813
+ treatUndefinedAsUnspecified?: boolean
2814
+ }]
2815
+ // ----- @typescript-eslint/consistent-type-assertions -----
2816
+ type TypescriptEslintConsistentTypeAssertions = []|[({
2817
+
2818
+ assertionStyle: "never"
2819
+ } | {
2820
+
2821
+ arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
2822
+
2823
+ assertionStyle?: ("as" | "angle-bracket")
2824
+
2825
+ objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
2826
+ })]
2827
+ // ----- @typescript-eslint/consistent-type-definitions -----
2828
+ type TypescriptEslintConsistentTypeDefinitions = []|[("interface" | "type")]
2829
+ // ----- @typescript-eslint/consistent-type-exports -----
2830
+ type TypescriptEslintConsistentTypeExports = []|[{
2831
+
2832
+ fixMixedExportsWithInlineTypeSpecifier?: boolean
2833
+ }]
2834
+ // ----- @typescript-eslint/consistent-type-imports -----
2835
+ type TypescriptEslintConsistentTypeImports = []|[{
2836
+
2837
+ disallowTypeAnnotations?: boolean
2838
+
2839
+ fixStyle?: ("separate-type-imports" | "inline-type-imports")
2840
+
2841
+ prefer?: ("type-imports" | "no-type-imports")
2842
+ }]
2843
+ // ----- @typescript-eslint/dot-notation -----
2844
+ type TypescriptEslintDotNotation = []|[{
2845
+
2846
+ allowIndexSignaturePropertyAccess?: boolean
2847
+
2848
+ allowKeywords?: boolean
2849
+
2850
+ allowPattern?: string
2851
+
2852
+ allowPrivateClassPropertyAccess?: boolean
2853
+
2854
+ allowProtectedClassPropertyAccess?: boolean
2855
+ }]
2856
+ // ----- @typescript-eslint/explicit-function-return-type -----
2857
+ type TypescriptEslintExplicitFunctionReturnType = []|[{
2858
+
2859
+ allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean
2860
+
2861
+ allowDirectConstAssertionInArrowFunctions?: boolean
2862
+
2863
+ allowedNames?: string[]
2864
+
2865
+ allowExpressions?: boolean
2866
+
2867
+ allowFunctionsWithoutTypeParameters?: boolean
2868
+
2869
+ allowHigherOrderFunctions?: boolean
2870
+
2871
+ allowIIFEs?: boolean
2872
+
2873
+ allowTypedFunctionExpressions?: boolean
2874
+ }]
2875
+ // ----- @typescript-eslint/explicit-member-accessibility -----
2876
+ type TypescriptEslintExplicitMemberAccessibility = []|[{
2877
+
2878
+ accessibility?: ("explicit" | "no-public" | "off")
2879
+
2880
+ ignoredMethodNames?: string[]
2881
+
2882
+ overrides?: {
2883
+ accessors?: ("explicit" | "no-public" | "off")
2884
+ constructors?: ("explicit" | "no-public" | "off")
2885
+ methods?: ("explicit" | "no-public" | "off")
2886
+ parameterProperties?: ("explicit" | "no-public" | "off")
2887
+ properties?: ("explicit" | "no-public" | "off")
2888
+ }
2889
+ }]
2890
+ // ----- @typescript-eslint/explicit-module-boundary-types -----
2891
+ type TypescriptEslintExplicitModuleBoundaryTypes = []|[{
2892
+
2893
+ allowArgumentsExplicitlyTypedAsAny?: boolean
2894
+
2895
+ allowDirectConstAssertionInArrowFunctions?: boolean
2896
+
2897
+ allowedNames?: string[]
2898
+
2899
+ allowHigherOrderFunctions?: boolean
2900
+
2901
+ allowOverloadFunctions?: boolean
2902
+
2903
+ allowTypedFunctionExpressions?: boolean
2904
+ }]
2905
+ // ----- @typescript-eslint/init-declarations -----
2906
+ type TypescriptEslintInitDeclarations = ([]|["always"] | []|["never"]|["never", {
2907
+ ignoreForLoopInit?: boolean
2908
+ }])
2909
+ // ----- @typescript-eslint/max-params -----
2910
+ type TypescriptEslintMaxParams = []|[{
2911
+
2912
+ countVoidThis?: boolean
2913
+
2914
+ max?: number
2915
+
2916
+ maximum?: number
2917
+ }]
2918
+ // ----- @typescript-eslint/member-ordering -----
2919
+ type TypescriptEslintMemberOrdering = []|[{
2920
+ 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")[])[] | {
2921
+ 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")
2922
+ optionalityOrder?: ("optional-first" | "required-first")
2923
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2924
+ })
2925
+ 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")[])[] | {
2926
+ 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")
2927
+ optionalityOrder?: ("optional-first" | "required-first")
2928
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2929
+ })
2930
+ 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")[])[] | {
2931
+ 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")
2932
+ optionalityOrder?: ("optional-first" | "required-first")
2933
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2934
+ })
2935
+ interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
2936
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
2937
+ optionalityOrder?: ("optional-first" | "required-first")
2938
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2939
+ })
2940
+ typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
2941
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
2942
+ optionalityOrder?: ("optional-first" | "required-first")
2943
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2944
+ })
2945
+ }]
2946
+ // ----- @typescript-eslint/method-signature-style -----
2947
+ type TypescriptEslintMethodSignatureStyle = []|[("property" | "method")]
2948
+ // ----- @typescript-eslint/naming-convention -----
2949
+ type _TypescriptEslintNamingConventionFormatOptionsConfig = (_TypescriptEslintNamingConventionPredefinedFormats[] | null)
2950
+ type _TypescriptEslintNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE")
2951
+ type _TypescriptEslintNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble")
2952
+ type _TypescriptEslintNamingConvention_PrefixSuffixConfig = string[]
2953
+ type _TypescriptEslintNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array")
2954
+ type TypescriptEslintNamingConvention = ({
2955
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2956
+ failureMessage?: string
2957
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2958
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2959
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2960
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2961
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2962
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2963
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
2964
+ 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")[]
2965
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2966
+ } | {
2967
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2968
+ failureMessage?: string
2969
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2970
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2971
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2972
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2973
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2974
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2975
+ selector: "default"
2976
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
2977
+ } | {
2978
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2979
+ failureMessage?: string
2980
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2981
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2982
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2983
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2984
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2985
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2986
+ selector: "variableLike"
2987
+ modifiers?: ("unused" | "async")[]
2988
+ } | {
2989
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2990
+ failureMessage?: string
2991
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2992
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2993
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2994
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2995
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2996
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2997
+ selector: "variable"
2998
+ modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[]
2999
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3000
+ } | {
3001
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3002
+ failureMessage?: string
3003
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3004
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3005
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3006
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3007
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3008
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3009
+ selector: "function"
3010
+ modifiers?: ("exported" | "global" | "unused" | "async")[]
3011
+ } | {
3012
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3013
+ failureMessage?: string
3014
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3015
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3016
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3017
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3018
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3019
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3020
+ selector: "parameter"
3021
+ modifiers?: ("destructured" | "unused")[]
3022
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3023
+ } | {
3024
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3025
+ failureMessage?: string
3026
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3027
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3028
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3029
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3030
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3031
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3032
+ selector: "memberLike"
3033
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
3034
+ } | {
3035
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3036
+ failureMessage?: string
3037
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3038
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3039
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3040
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3041
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3042
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3043
+ selector: "classProperty"
3044
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[]
3045
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3046
+ } | {
3047
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3048
+ failureMessage?: string
3049
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3050
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3051
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3052
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3053
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3054
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3055
+ selector: "objectLiteralProperty"
3056
+ modifiers?: ("public" | "requiresQuotes")[]
3057
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3058
+ } | {
3059
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3060
+ failureMessage?: string
3061
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3062
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3063
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3064
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3065
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3066
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3067
+ selector: "typeProperty"
3068
+ modifiers?: ("public" | "readonly" | "requiresQuotes")[]
3069
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3070
+ } | {
3071
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3072
+ failureMessage?: string
3073
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3074
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3075
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3076
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3077
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3078
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3079
+ selector: "parameterProperty"
3080
+ modifiers?: ("private" | "protected" | "public" | "readonly")[]
3081
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3082
+ } | {
3083
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3084
+ failureMessage?: string
3085
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3086
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3087
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3088
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3089
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3090
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3091
+ selector: "property"
3092
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
3093
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3094
+ } | {
3095
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3096
+ failureMessage?: string
3097
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3098
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3099
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3100
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3101
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3102
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3103
+ selector: "classMethod"
3104
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
3105
+ } | {
3106
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3107
+ failureMessage?: string
3108
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3109
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3110
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3111
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3112
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3113
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3114
+ selector: "objectLiteralMethod"
3115
+ modifiers?: ("public" | "requiresQuotes" | "async")[]
3116
+ } | {
3117
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3118
+ failureMessage?: string
3119
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3120
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3121
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3122
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3123
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3124
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3125
+ selector: "typeMethod"
3126
+ modifiers?: ("public" | "requiresQuotes")[]
3127
+ } | {
3128
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3129
+ failureMessage?: string
3130
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3131
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3132
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3133
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3134
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3135
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3136
+ selector: "method"
3137
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
3138
+ } | {
3139
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3140
+ failureMessage?: string
3141
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3142
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3143
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3144
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3145
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3146
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3147
+ selector: "classicAccessor"
3148
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
3149
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3150
+ } | {
3151
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3152
+ failureMessage?: string
3153
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3154
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3155
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3156
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3157
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3158
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3159
+ selector: "autoAccessor"
3160
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
3161
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3162
+ } | {
3163
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3164
+ failureMessage?: string
3165
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3166
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3167
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3168
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3169
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3170
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3171
+ selector: "accessor"
3172
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
3173
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
3174
+ } | {
3175
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3176
+ failureMessage?: string
3177
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3178
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3179
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3180
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3181
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3182
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3183
+ selector: "enumMember"
3184
+ modifiers?: ("requiresQuotes")[]
3185
+ } | {
3186
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3187
+ failureMessage?: string
3188
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3189
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3190
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3191
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3192
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3193
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3194
+ selector: "typeLike"
3195
+ modifiers?: ("abstract" | "exported" | "unused")[]
3196
+ } | {
3197
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3198
+ failureMessage?: string
3199
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3200
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3201
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3202
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3203
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3204
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3205
+ selector: "class"
3206
+ modifiers?: ("abstract" | "exported" | "unused")[]
3207
+ } | {
3208
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3209
+ failureMessage?: string
3210
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3211
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3212
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3213
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3214
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3215
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3216
+ selector: "interface"
3217
+ modifiers?: ("exported" | "unused")[]
3218
+ } | {
3219
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3220
+ failureMessage?: string
3221
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3222
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3223
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3224
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3225
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3226
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3227
+ selector: "typeAlias"
3228
+ modifiers?: ("exported" | "unused")[]
3229
+ } | {
3230
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3231
+ failureMessage?: string
3232
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3233
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3234
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3235
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3236
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3237
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3238
+ selector: "enum"
3239
+ modifiers?: ("exported" | "unused")[]
3240
+ } | {
3241
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3242
+ failureMessage?: string
3243
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3244
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3245
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3246
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3247
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3248
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3249
+ selector: "typeParameter"
3250
+ modifiers?: ("unused")[]
3251
+ } | {
3252
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
3253
+ failureMessage?: string
3254
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
3255
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3256
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3257
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
3258
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
3259
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
3260
+ selector: "import"
3261
+ modifiers?: ("default" | "namespace")[]
3262
+ })[]
3263
+ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
3264
+ match: boolean
3265
+ regex: string
3266
+ }
3267
+ // ----- @typescript-eslint/no-base-to-string -----
3268
+ type TypescriptEslintNoBaseToString = []|[{
3269
+
3270
+ checkUnknown?: boolean
3271
+
3272
+ ignoredTypeNames?: string[]
3273
+ }]
3274
+ // ----- @typescript-eslint/no-confusing-void-expression -----
3275
+ type TypescriptEslintNoConfusingVoidExpression = []|[{
3276
+
3277
+ ignoreArrowShorthand?: boolean
3278
+
3279
+ ignoreVoidOperator?: boolean
3280
+
3281
+ ignoreVoidReturningFunctions?: boolean
3282
+ }]
3283
+ // ----- @typescript-eslint/no-deprecated -----
3284
+ type TypescriptEslintNoDeprecated = []|[{
3285
+
3286
+ allow?: (string | {
3287
+ from: "file"
3288
+ name: (string | [string, ...(string)[]])
3289
+ path?: string
3290
+ } | {
3291
+ from: "lib"
3292
+ name: (string | [string, ...(string)[]])
3293
+ } | {
3294
+ from: "package"
3295
+ name: (string | [string, ...(string)[]])
3296
+ package: string
3297
+ })[]
3298
+ }]
3299
+ // ----- @typescript-eslint/no-duplicate-type-constituents -----
3300
+ type TypescriptEslintNoDuplicateTypeConstituents = []|[{
3301
+
3302
+ ignoreIntersections?: boolean
3303
+
3304
+ ignoreUnions?: boolean
3305
+ }]
3306
+ // ----- @typescript-eslint/no-empty-function -----
3307
+ type TypescriptEslintNoEmptyFunction = []|[{
3308
+
3309
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[]
3310
+ }]
3311
+ // ----- @typescript-eslint/no-empty-interface -----
3312
+ type TypescriptEslintNoEmptyInterface = []|[{
3313
+
3314
+ allowSingleExtends?: boolean
3315
+ }]
3316
+ // ----- @typescript-eslint/no-empty-object-type -----
3317
+ type TypescriptEslintNoEmptyObjectType = []|[{
3318
+
3319
+ allowInterfaces?: ("always" | "never" | "with-single-extends")
3320
+
3321
+ allowObjectTypes?: ("always" | "never")
3322
+
3323
+ allowWithName?: string
3324
+ }]
3325
+ // ----- @typescript-eslint/no-explicit-any -----
3326
+ type TypescriptEslintNoExplicitAny = []|[{
3327
+
3328
+ fixToUnknown?: boolean
3329
+
3330
+ ignoreRestArgs?: boolean
3331
+ }]
3332
+ // ----- @typescript-eslint/no-extraneous-class -----
3333
+ type TypescriptEslintNoExtraneousClass = []|[{
3334
+
3335
+ allowConstructorOnly?: boolean
3336
+
3337
+ allowEmpty?: boolean
3338
+
3339
+ allowStaticOnly?: boolean
3340
+
3341
+ allowWithDecorator?: boolean
3342
+ }]
3343
+ // ----- @typescript-eslint/no-floating-promises -----
3344
+ type TypescriptEslintNoFloatingPromises = []|[{
3345
+
3346
+ allowForKnownSafeCalls?: (string | {
3347
+ from: "file"
3348
+ name: (string | [string, ...(string)[]])
3349
+ path?: string
3350
+ } | {
3351
+ from: "lib"
3352
+ name: (string | [string, ...(string)[]])
3353
+ } | {
3354
+ from: "package"
3355
+ name: (string | [string, ...(string)[]])
3356
+ package: string
3357
+ })[]
3358
+
3359
+ allowForKnownSafePromises?: (string | {
3360
+ from: "file"
3361
+ name: (string | [string, ...(string)[]])
3362
+ path?: string
3363
+ } | {
3364
+ from: "lib"
3365
+ name: (string | [string, ...(string)[]])
3366
+ } | {
3367
+ from: "package"
3368
+ name: (string | [string, ...(string)[]])
3369
+ package: string
3370
+ })[]
3371
+
3372
+ checkThenables?: boolean
3373
+
3374
+ ignoreIIFE?: boolean
3375
+
3376
+ ignoreVoid?: boolean
3377
+ }]
3378
+ // ----- @typescript-eslint/no-inferrable-types -----
3379
+ type TypescriptEslintNoInferrableTypes = []|[{
3380
+
3381
+ ignoreParameters?: boolean
3382
+
3383
+ ignoreProperties?: boolean
3384
+ }]
3385
+ // ----- @typescript-eslint/no-invalid-this -----
3386
+ type TypescriptEslintNoInvalidThis = []|[{
3387
+ capIsConstructor?: boolean
3388
+ }]
3389
+ // ----- @typescript-eslint/no-invalid-void-type -----
3390
+ type TypescriptEslintNoInvalidVoidType = []|[{
3391
+
3392
+ allowAsThisParameter?: boolean
3393
+
3394
+ allowInGenericTypeArguments?: (boolean | [string, ...(string)[]])
3395
+ }]
3396
+ // ----- @typescript-eslint/no-magic-numbers -----
3397
+ type TypescriptEslintNoMagicNumbers = []|[{
3398
+ detectObjects?: boolean
3399
+ enforceConst?: boolean
3400
+ ignore?: (number | string)[]
3401
+ ignoreArrayIndexes?: boolean
3402
+ ignoreDefaultValues?: boolean
3403
+ ignoreClassFieldInitialValues?: boolean
3404
+
3405
+ ignoreEnums?: boolean
3406
+
3407
+ ignoreNumericLiteralTypes?: boolean
3408
+
3409
+ ignoreReadonlyClassProperties?: boolean
3410
+
3411
+ ignoreTypeIndexes?: boolean
3412
+ }]
3413
+ // ----- @typescript-eslint/no-meaningless-void-operator -----
3414
+ type TypescriptEslintNoMeaninglessVoidOperator = []|[{
3415
+
3416
+ checkNever?: boolean
3417
+ }]
3418
+ // ----- @typescript-eslint/no-misused-promises -----
3419
+ type TypescriptEslintNoMisusedPromises = []|[{
3420
+
3421
+ checksConditionals?: boolean
3422
+
3423
+ checksSpreads?: boolean
3424
+
3425
+ checksVoidReturn?: (boolean | {
3426
+
3427
+ arguments?: boolean
3428
+
3429
+ attributes?: boolean
3430
+
3431
+ inheritedMethods?: boolean
3432
+
3433
+ properties?: boolean
3434
+
3435
+ returns?: boolean
3436
+
3437
+ variables?: boolean
3438
+ })
3439
+ }]
3440
+ // ----- @typescript-eslint/no-misused-spread -----
3441
+ type TypescriptEslintNoMisusedSpread = []|[{
3442
+
3443
+ allow?: (string | {
3444
+ from: "file"
3445
+ name: (string | [string, ...(string)[]])
3446
+ path?: string
3447
+ } | {
3448
+ from: "lib"
3449
+ name: (string | [string, ...(string)[]])
3450
+ } | {
3451
+ from: "package"
3452
+ name: (string | [string, ...(string)[]])
3453
+ package: string
3454
+ })[]
3455
+ }]
3456
+ // ----- @typescript-eslint/no-namespace -----
3457
+ type TypescriptEslintNoNamespace = []|[{
3458
+
3459
+ allowDeclarations?: boolean
3460
+
3461
+ allowDefinitionFiles?: boolean
3462
+ }]
3463
+ // ----- @typescript-eslint/no-redeclare -----
3464
+ type TypescriptEslintNoRedeclare = []|[{
3465
+
3466
+ builtinGlobals?: boolean
3467
+
3468
+ ignoreDeclarationMerge?: boolean
3469
+ }]
3470
+ // ----- @typescript-eslint/no-require-imports -----
3471
+ type TypescriptEslintNoRequireImports = []|[{
3472
+
3473
+ allow?: string[]
3474
+
3475
+ allowAsImport?: boolean
3476
+ }]
3477
+ // ----- @typescript-eslint/no-restricted-imports -----
3478
+ type TypescriptEslintNoRestrictedImports = ((string | {
3479
+ name: string
3480
+ message?: string
3481
+ importNames?: string[]
3482
+ allowImportNames?: string[]
3483
+
3484
+ allowTypeImports?: boolean
3485
+ })[] | []|[{
3486
+ paths?: (string | {
3487
+ name: string
3488
+ message?: string
3489
+ importNames?: string[]
3490
+ allowImportNames?: string[]
3491
+
3492
+ allowTypeImports?: boolean
3493
+ })[]
3494
+ patterns?: (string[] | {
3495
+
3496
+ importNames?: [string, ...(string)[]]
3497
+
3498
+ allowImportNames?: [string, ...(string)[]]
3499
+
3500
+ group?: [string, ...(string)[]]
3501
+ regex?: string
3502
+ importNamePattern?: string
3503
+ allowImportNamePattern?: string
3504
+ message?: string
3505
+ caseSensitive?: boolean
3506
+
3507
+ allowTypeImports?: boolean
3508
+ }[])
3509
+ }])
3510
+ // ----- @typescript-eslint/no-restricted-types -----
3511
+ type TypescriptEslintNoRestrictedTypes = []|[{
3512
+
3513
+ types?: {
3514
+ [k: string]: (true | string | {
3515
+
3516
+ fixWith?: string
3517
+
3518
+ message?: string
3519
+
3520
+ suggest?: string[]
3521
+ }) | undefined
3522
+ }
3523
+ }]
3524
+ // ----- @typescript-eslint/no-shadow -----
3525
+ type TypescriptEslintNoShadow = []|[{
3526
+
3527
+ allow?: string[]
3528
+
3529
+ builtinGlobals?: boolean
3530
+
3531
+ hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types")
3532
+
3533
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
3534
+
3535
+ ignoreOnInitialization?: boolean
3536
+
3537
+ ignoreTypeValueShadow?: boolean
3538
+ }]
3539
+ // ----- @typescript-eslint/no-this-alias -----
3540
+ type TypescriptEslintNoThisAlias = []|[{
3541
+
3542
+ allowDestructuring?: boolean
3543
+
3544
+ allowedNames?: string[]
3545
+ }]
3546
+ // ----- @typescript-eslint/no-type-alias -----
3547
+ type TypescriptEslintNoTypeAlias = []|[{
3548
+
3549
+ allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
3550
+
3551
+ allowCallbacks?: ("always" | "never")
3552
+
3553
+ allowConditionalTypes?: ("always" | "never")
3554
+
3555
+ allowConstructors?: ("always" | "never")
3556
+
3557
+ allowGenerics?: ("always" | "never")
3558
+
3559
+ allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
3560
+
3561
+ allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
3562
+
3563
+ allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
3564
+ }]
3565
+ // ----- @typescript-eslint/no-unnecessary-boolean-literal-compare -----
3566
+ type TypescriptEslintNoUnnecessaryBooleanLiteralCompare = []|[{
3567
+
3568
+ allowComparingNullableBooleansToFalse?: boolean
3569
+
3570
+ allowComparingNullableBooleansToTrue?: boolean
3571
+
3572
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3573
+ }]
3574
+ // ----- @typescript-eslint/no-unnecessary-condition -----
3575
+ type TypescriptEslintNoUnnecessaryCondition = []|[{
3576
+
3577
+ allowConstantLoopConditions?: (boolean | ("always" | "never" | "only-allowed-literals"))
3578
+
3579
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3580
+
3581
+ checkTypePredicates?: boolean
3582
+ }]
3583
+ // ----- @typescript-eslint/no-unnecessary-type-assertion -----
3584
+ type TypescriptEslintNoUnnecessaryTypeAssertion = []|[{
3585
+
3586
+ checkLiteralConstAssertions?: boolean
3587
+
3588
+ typesToIgnore?: string[]
3589
+ }]
3590
+ // ----- @typescript-eslint/no-unused-expressions -----
3591
+ type TypescriptEslintNoUnusedExpressions = []|[{
3592
+ allowShortCircuit?: boolean
3593
+ allowTernary?: boolean
3594
+ allowTaggedTemplates?: boolean
3595
+ enforceForJSX?: boolean
3596
+ ignoreDirectives?: boolean
3597
+ }]
3598
+ // ----- @typescript-eslint/no-unused-vars -----
3599
+ type TypescriptEslintNoUnusedVars = []|[(("all" | "local") | {
3600
+
3601
+ args?: ("all" | "after-used" | "none")
3602
+
3603
+ argsIgnorePattern?: string
3604
+
3605
+ caughtErrors?: ("all" | "none")
3606
+
3607
+ caughtErrorsIgnorePattern?: string
3608
+
3609
+ destructuredArrayIgnorePattern?: string
3610
+
3611
+ ignoreClassWithStaticInitBlock?: boolean
3612
+
3613
+ ignoreRestSiblings?: boolean
3614
+
3615
+ reportUsedIgnorePattern?: boolean
3616
+
3617
+ vars?: ("all" | "local")
3618
+
3619
+ varsIgnorePattern?: string
3620
+ })]
3621
+ // ----- @typescript-eslint/no-use-before-define -----
3622
+ type TypescriptEslintNoUseBeforeDefine = []|[("nofunc" | {
3623
+
3624
+ allowNamedExports?: boolean
3625
+
3626
+ classes?: boolean
3627
+
3628
+ enums?: boolean
3629
+
3630
+ functions?: boolean
3631
+
3632
+ ignoreTypeReferences?: boolean
3633
+
3634
+ typedefs?: boolean
3635
+
3636
+ variables?: boolean
3637
+ })]
3638
+ // ----- @typescript-eslint/no-var-requires -----
3639
+ type TypescriptEslintNoVarRequires = []|[{
3640
+
3641
+ allow?: string[]
3642
+ }]
3643
+ // ----- @typescript-eslint/only-throw-error -----
3644
+ type TypescriptEslintOnlyThrowError = []|[{
3645
+
3646
+ allow?: (string | {
3647
+ from: "file"
3648
+ name: (string | [string, ...(string)[]])
3649
+ path?: string
3650
+ } | {
3651
+ from: "lib"
3652
+ name: (string | [string, ...(string)[]])
3653
+ } | {
3654
+ from: "package"
3655
+ name: (string | [string, ...(string)[]])
3656
+ package: string
3657
+ })[]
3658
+
3659
+ allowRethrowing?: boolean
3660
+
3661
+ allowThrowingAny?: boolean
3662
+
3663
+ allowThrowingUnknown?: boolean
3664
+ }]
3665
+ // ----- @typescript-eslint/parameter-properties -----
3666
+ type TypescriptEslintParameterProperties = []|[{
3667
+
3668
+ allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[]
3669
+
3670
+ prefer?: ("class-property" | "parameter-property")
3671
+ }]
3672
+ // ----- @typescript-eslint/prefer-destructuring -----
3673
+ type TypescriptEslintPreferDestructuring = []|[({
3674
+ AssignmentExpression?: {
3675
+ array?: boolean
3676
+ object?: boolean
3677
+ }
3678
+ VariableDeclarator?: {
3679
+ array?: boolean
3680
+ object?: boolean
3681
+ }
3682
+ } | {
3683
+ array?: boolean
3684
+ object?: boolean
3685
+ })]|[({
3686
+ AssignmentExpression?: {
3687
+ array?: boolean
3688
+ object?: boolean
3689
+ }
3690
+ VariableDeclarator?: {
3691
+ array?: boolean
3692
+ object?: boolean
3693
+ }
3694
+ } | {
3695
+ array?: boolean
3696
+ object?: boolean
3697
+ }), {
3698
+
3699
+ enforceForDeclarationWithTypeAnnotation?: boolean
3700
+
3701
+ enforceForRenamedProperties?: boolean
3702
+ }]
3703
+ // ----- @typescript-eslint/prefer-literal-enum-member -----
3704
+ type TypescriptEslintPreferLiteralEnumMember = []|[{
3705
+
3706
+ allowBitwiseExpressions?: boolean
3707
+ }]
3708
+ // ----- @typescript-eslint/prefer-nullish-coalescing -----
3709
+ type TypescriptEslintPreferNullishCoalescing = []|[{
3710
+
3711
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3712
+
3713
+ ignoreBooleanCoercion?: boolean
3714
+
3715
+ ignoreConditionalTests?: boolean
3716
+
3717
+ ignoreIfStatements?: boolean
3718
+
3719
+ ignoreMixedLogicalExpressions?: boolean
3720
+
3721
+ ignorePrimitives?: ({
3722
+
3723
+ bigint?: boolean
3724
+
3725
+ boolean?: boolean
3726
+
3727
+ number?: boolean
3728
+
3729
+ string?: boolean
3730
+ } | true)
3731
+
3732
+ ignoreTernaryTests?: boolean
3733
+ }]
3734
+ // ----- @typescript-eslint/prefer-optional-chain -----
3735
+ type TypescriptEslintPreferOptionalChain = []|[{
3736
+
3737
+ allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean
3738
+
3739
+ checkAny?: boolean
3740
+
3741
+ checkBigInt?: boolean
3742
+
3743
+ checkBoolean?: boolean
3744
+
3745
+ checkNumber?: boolean
3746
+
3747
+ checkString?: boolean
3748
+
3749
+ checkUnknown?: boolean
3750
+
3751
+ requireNullish?: boolean
3752
+ }]
3753
+ // ----- @typescript-eslint/prefer-promise-reject-errors -----
3754
+ type TypescriptEslintPreferPromiseRejectErrors = []|[{
3755
+
3756
+ allowEmptyReject?: boolean
3757
+
3758
+ allowThrowingAny?: boolean
3759
+
3760
+ allowThrowingUnknown?: boolean
3761
+ }]
3762
+ // ----- @typescript-eslint/prefer-readonly -----
3763
+ type TypescriptEslintPreferReadonly = []|[{
3764
+
3765
+ onlyInlineLambdas?: boolean
3766
+ }]
3767
+ // ----- @typescript-eslint/prefer-readonly-parameter-types -----
3768
+ type TypescriptEslintPreferReadonlyParameterTypes = []|[{
3769
+
3770
+ allow?: (string | {
3771
+ from: "file"
3772
+ name: (string | [string, ...(string)[]])
3773
+ path?: string
3774
+ } | {
3775
+ from: "lib"
3776
+ name: (string | [string, ...(string)[]])
3777
+ } | {
3778
+ from: "package"
3779
+ name: (string | [string, ...(string)[]])
3780
+ package: string
3781
+ })[]
3782
+
3783
+ checkParameterProperties?: boolean
3784
+
3785
+ ignoreInferredTypes?: boolean
3786
+
3787
+ treatMethodsAsReadonly?: boolean
3788
+ }]
3789
+ // ----- @typescript-eslint/prefer-string-starts-ends-with -----
3790
+ type TypescriptEslintPreferStringStartsEndsWith = []|[{
3791
+
3792
+ allowSingleElementEquality?: ("always" | "never")
3793
+ }]
3794
+ // ----- @typescript-eslint/promise-function-async -----
3795
+ type TypescriptEslintPromiseFunctionAsync = []|[{
3796
+
3797
+ allowAny?: boolean
3798
+
3799
+ allowedPromiseNames?: string[]
3800
+
3801
+ checkArrowFunctions?: boolean
3802
+
3803
+ checkFunctionDeclarations?: boolean
3804
+
3805
+ checkFunctionExpressions?: boolean
3806
+
3807
+ checkMethodDeclarations?: boolean
3808
+ }]
3809
+ // ----- @typescript-eslint/require-array-sort-compare -----
3810
+ type TypescriptEslintRequireArraySortCompare = []|[{
3811
+
3812
+ ignoreStringArrays?: boolean
3813
+ }]
3814
+ // ----- @typescript-eslint/restrict-plus-operands -----
3815
+ type TypescriptEslintRestrictPlusOperands = []|[{
3816
+
3817
+ allowAny?: boolean
3818
+
3819
+ allowBoolean?: boolean
3820
+
3821
+ allowNullish?: boolean
3822
+
3823
+ allowNumberAndString?: boolean
3824
+
3825
+ allowRegExp?: boolean
3826
+
3827
+ skipCompoundAssignments?: boolean
3828
+ }]
3829
+ // ----- @typescript-eslint/restrict-template-expressions -----
3830
+ type TypescriptEslintRestrictTemplateExpressions = []|[{
3831
+
3832
+ allowAny?: boolean
3833
+
3834
+ allowArray?: boolean
3835
+
3836
+ allowBoolean?: boolean
3837
+
3838
+ allowNullish?: boolean
3839
+
3840
+ allowNumber?: boolean
3841
+
3842
+ allowRegExp?: boolean
3843
+
3844
+ allowNever?: boolean
3845
+
3846
+ allow?: (string | {
3847
+ from: "file"
3848
+ name: (string | [string, ...(string)[]])
3849
+ path?: string
3850
+ } | {
3851
+ from: "lib"
3852
+ name: (string | [string, ...(string)[]])
3853
+ } | {
3854
+ from: "package"
3855
+ name: (string | [string, ...(string)[]])
3856
+ package: string
3857
+ })[]
3858
+ }]
3859
+ // ----- @typescript-eslint/return-await -----
3860
+ type TypescriptEslintReturnAwait = []|[(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)]
3861
+ // ----- @typescript-eslint/sort-type-constituents -----
3862
+ type TypescriptEslintSortTypeConstituents = []|[{
3863
+
3864
+ caseSensitive?: boolean
3865
+
3866
+ checkIntersections?: boolean
3867
+
3868
+ checkUnions?: boolean
3869
+
3870
+ groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[]
3871
+ }]
3872
+ // ----- @typescript-eslint/strict-boolean-expressions -----
3873
+ type TypescriptEslintStrictBooleanExpressions = []|[{
3874
+
3875
+ allowAny?: boolean
3876
+
3877
+ allowNullableBoolean?: boolean
3878
+
3879
+ allowNullableEnum?: boolean
3880
+
3881
+ allowNullableNumber?: boolean
3882
+
3883
+ allowNullableObject?: boolean
3884
+
3885
+ allowNullableString?: boolean
3886
+
3887
+ allowNumber?: boolean
3888
+
3889
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3890
+
3891
+ allowString?: boolean
3892
+ }]
3893
+ // ----- @typescript-eslint/switch-exhaustiveness-check -----
3894
+ type TypescriptEslintSwitchExhaustivenessCheck = []|[{
3895
+
3896
+ allowDefaultCaseForExhaustiveSwitch?: boolean
3897
+
3898
+ considerDefaultExhaustiveForUnions?: boolean
3899
+
3900
+ defaultCaseCommentPattern?: string
3901
+
3902
+ requireDefaultForNonUnion?: boolean
3903
+ }]
3904
+ // ----- @typescript-eslint/triple-slash-reference -----
3905
+ type TypescriptEslintTripleSlashReference = []|[{
3906
+
3907
+ lib?: ("always" | "never")
3908
+
3909
+ path?: ("always" | "never")
3910
+
3911
+ types?: ("always" | "never" | "prefer-import")
3912
+ }]
3913
+ // ----- @typescript-eslint/typedef -----
3914
+ type TypescriptEslintTypedef = []|[{
3915
+
3916
+ arrayDestructuring?: boolean
3917
+
3918
+ arrowParameter?: boolean
3919
+
3920
+ memberVariableDeclaration?: boolean
3921
+
3922
+ objectDestructuring?: boolean
3923
+
3924
+ parameter?: boolean
3925
+
3926
+ propertyDeclaration?: boolean
3927
+
3928
+ variableDeclaration?: boolean
3929
+
3930
+ variableDeclarationIgnoreFunction?: boolean
3931
+ }]
3932
+ // ----- @typescript-eslint/unbound-method -----
3933
+ type TypescriptEslintUnboundMethod = []|[{
3934
+
3935
+ ignoreStatic?: boolean
3936
+ }]
3937
+ // ----- @typescript-eslint/unified-signatures -----
3938
+ type TypescriptEslintUnifiedSignatures = []|[{
3939
+
3940
+ ignoreDifferentlyNamedParameters?: boolean
3941
+
3942
+ ignoreOverloadsWithDifferentJSDoc?: boolean
3943
+ }]
3944
+ // ----- imports/consistent-type-specifier-style -----
3945
+ type ImportsConsistentTypeSpecifierStyle = []|[("prefer-inline" | "prefer-top-level")]
3946
+ // ----- imports/dynamic-import-chunkname -----
3947
+ type ImportsDynamicImportChunkname = []|[{
3948
+ importFunctions?: string[]
3949
+ allowEmpty?: boolean
3950
+ webpackChunknameFormat?: string
3951
+ [k: string]: unknown | undefined
3952
+ }]
3953
+ // ----- imports/enforce-node-protocol-usage -----
3954
+ type ImportsEnforceNodeProtocolUsage = [("always" | "never")]
3955
+ // ----- imports/extensions -----
3956
+ type ImportsExtensions = ([]|[("always" | "ignorePackages" | "never")] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
3957
+ pattern?: {
3958
+ [k: string]: ("always" | "ignorePackages" | "never")
3959
+ }
3960
+ checkTypeImports?: boolean
3961
+ ignorePackages?: boolean
3962
+ pathGroupOverrides?: {
3963
+ pattern: string
3964
+ patternOptions?: {
3965
+ [k: string]: unknown | undefined
3966
+ }
3967
+ action: ("enforce" | "ignore")
3968
+ }[]
3969
+ [k: string]: unknown | undefined
3970
+ }] | []|[{
3971
+ pattern?: {
3972
+ [k: string]: ("always" | "ignorePackages" | "never")
3973
+ }
3974
+ checkTypeImports?: boolean
3975
+ ignorePackages?: boolean
3976
+ pathGroupOverrides?: {
3977
+ pattern: string
3978
+ patternOptions?: {
3979
+ [k: string]: unknown | undefined
3980
+ }
3981
+ action: ("enforce" | "ignore")
3982
+ }[]
3983
+ [k: string]: unknown | undefined
3984
+ }] | []|[{
3985
+ [k: string]: ("always" | "ignorePackages" | "never")
3986
+ }] | []|[("always" | "ignorePackages" | "never")]|[("always" | "ignorePackages" | "never"), {
3987
+ [k: string]: ("always" | "ignorePackages" | "never")
3988
+ }])
3989
+ // ----- imports/first -----
3990
+ type ImportsFirst = []|[("absolute-first" | "disable-absolute-first")]
3991
+ // ----- imports/imports-first -----
3992
+ type ImportsImportsFirst = []|[("absolute-first" | "disable-absolute-first")]
3993
+ // ----- imports/max-dependencies -----
3994
+ type ImportsMaxDependencies = []|[{
3995
+ max?: number
3996
+ ignoreTypeImports?: boolean
3997
+ }]
3998
+ // ----- imports/named -----
3999
+ type ImportsNamed = []|[{
4000
+ commonjs?: boolean
4001
+ }]
4002
+ // ----- imports/namespace -----
4003
+ type ImportsNamespace = []|[{
4004
+
4005
+ allowComputed?: boolean
4006
+ }]
4007
+ // ----- imports/newline-after-import -----
4008
+ type ImportsNewlineAfterImport = []|[{
4009
+ count?: number
4010
+ exactCount?: boolean
4011
+ considerComments?: boolean
4012
+ }]
4013
+ // ----- imports/no-absolute-path -----
4014
+ type ImportsNoAbsolutePath = []|[{
4015
+ commonjs?: boolean
4016
+ amd?: boolean
4017
+ esmodule?: boolean
4018
+
4019
+ ignore?: [string, ...(string)[]]
4020
+ }]
4021
+ // ----- imports/no-anonymous-default-export -----
4022
+ type ImportsNoAnonymousDefaultExport = []|[{
4023
+
4024
+ allowArray?: boolean
4025
+
4026
+ allowArrowFunction?: boolean
4027
+
4028
+ allowCallExpression?: boolean
4029
+
4030
+ allowAnonymousClass?: boolean
4031
+
4032
+ allowAnonymousFunction?: boolean
4033
+
4034
+ allowLiteral?: boolean
4035
+
4036
+ allowObject?: boolean
4037
+
4038
+ allowNew?: boolean
4039
+ }]
4040
+ // ----- imports/no-commonjs -----
4041
+ type ImportsNoCommonjs = ([]|["allow-primitive-modules"] | []|[{
4042
+ allowPrimitiveModules?: boolean
4043
+ allowRequire?: boolean
4044
+ allowConditionalRequire?: boolean
4045
+ }])
4046
+ // ----- imports/no-cycle -----
4047
+ type ImportsNoCycle = []|[{
4048
+ commonjs?: boolean
4049
+ amd?: boolean
4050
+ esmodule?: boolean
4051
+
4052
+ ignore?: [string, ...(string)[]]
4053
+ maxDepth?: (number | "∞")
4054
+
4055
+ ignoreExternal?: boolean
4056
+
4057
+ allowUnsafeDynamicCyclicDependency?: boolean
4058
+
4059
+ disableScc?: boolean
4060
+ }]
4061
+ // ----- imports/no-duplicates -----
4062
+ type ImportsNoDuplicates = []|[{
4063
+ considerQueryString?: boolean
4064
+ "prefer-inline"?: boolean
4065
+ }]
4066
+ // ----- imports/no-dynamic-require -----
4067
+ type ImportsNoDynamicRequire = []|[{
4068
+ esmodule?: boolean
4069
+ }]
4070
+ // ----- imports/no-extraneous-dependencies -----
4071
+ type ImportsNoExtraneousDependencies = []|[{
4072
+ devDependencies?: (boolean | unknown[])
4073
+ optionalDependencies?: (boolean | unknown[])
4074
+ peerDependencies?: (boolean | unknown[])
4075
+ bundledDependencies?: (boolean | unknown[])
4076
+ packageDir?: (string | unknown[])
4077
+ includeInternal?: boolean
4078
+ includeTypes?: boolean
4079
+ }]
4080
+ // ----- imports/no-import-module-exports -----
4081
+ type ImportsNoImportModuleExports = []|[{
4082
+ exceptions?: unknown[]
4083
+ }]
4084
+ // ----- imports/no-internal-modules -----
4085
+ type ImportsNoInternalModules = []|[({
4086
+ allow?: string[]
4087
+ } | {
4088
+ forbid?: string[]
4089
+ })]
4090
+ // ----- imports/no-namespace -----
4091
+ type ImportsNoNamespace = []|[{
4092
+ ignore?: string[]
4093
+ [k: string]: unknown | undefined
4094
+ }]
4095
+ // ----- imports/no-nodejs-modules -----
4096
+ type ImportsNoNodejsModules = []|[{
4097
+ allow?: string[]
4098
+ }]
4099
+ // ----- imports/no-relative-packages -----
4100
+ type ImportsNoRelativePackages = []|[{
4101
+ commonjs?: boolean
4102
+ amd?: boolean
4103
+ esmodule?: boolean
4104
+
4105
+ ignore?: [string, ...(string)[]]
4106
+ }]
4107
+ // ----- imports/no-relative-parent-imports -----
4108
+ type ImportsNoRelativeParentImports = []|[{
4109
+ commonjs?: boolean
4110
+ amd?: boolean
4111
+ esmodule?: boolean
4112
+
4113
+ ignore?: [string, ...(string)[]]
4114
+ }]
4115
+ // ----- imports/no-restricted-paths -----
4116
+ type ImportsNoRestrictedPaths = []|[{
4117
+
4118
+ zones?: [{
4119
+ target?: (string | string[])
4120
+ from?: (string | string[])
4121
+ except?: string[]
4122
+ message?: string
4123
+ }, ...({
4124
+ target?: (string | string[])
4125
+ from?: (string | string[])
4126
+ except?: string[]
4127
+ message?: string
4128
+ })[]]
4129
+ basePath?: string
4130
+ }]
4131
+ // ----- imports/no-unassigned-import -----
4132
+ type ImportsNoUnassignedImport = []|[{
4133
+ devDependencies?: (boolean | unknown[])
4134
+ optionalDependencies?: (boolean | unknown[])
4135
+ peerDependencies?: (boolean | unknown[])
4136
+ allow?: string[]
4137
+ }]
4138
+ // ----- imports/no-unresolved -----
4139
+ type ImportsNoUnresolved = []|[{
4140
+ commonjs?: boolean
4141
+ amd?: boolean
4142
+ esmodule?: boolean
4143
+
4144
+ ignore?: [string, ...(string)[]]
4145
+ caseSensitive?: boolean
4146
+ caseSensitiveStrict?: boolean
4147
+ }]
4148
+ // ----- imports/no-unused-modules -----
4149
+ type ImportsNoUnusedModules = []|[({
4150
+ unusedExports: true
4151
+ src?: {
4152
+ [k: string]: unknown | undefined
4153
+ }
4154
+ [k: string]: unknown | undefined
4155
+ } | {
4156
+ missingExports: true
4157
+ [k: string]: unknown | undefined
4158
+ })]
4159
+ // ----- imports/no-useless-path-segments -----
4160
+ type ImportsNoUselessPathSegments = []|[{
4161
+ commonjs?: boolean
4162
+ noUselessIndex?: boolean
4163
+ }]
4164
+ // ----- imports/order -----
4165
+ type ImportsOrder = []|[{
4166
+ groups?: (("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type") | ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")[])[]
4167
+ pathGroupsExcludedImportTypes?: unknown[]
4168
+ distinctGroup?: boolean
4169
+ pathGroups?: {
4170
+ pattern: string
4171
+ patternOptions?: {
4172
+ [k: string]: unknown | undefined
4173
+ }
4174
+ group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")
4175
+ position?: ("after" | "before")
4176
+ }[]
4177
+ "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
4178
+ "newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never")
4179
+ consolidateIslands?: ("inside-groups" | "never")
4180
+ sortTypesGroup?: boolean
4181
+ named?: (boolean | {
4182
+ enabled?: boolean
4183
+ import?: boolean
4184
+ export?: boolean
4185
+ require?: boolean
4186
+ cjsExports?: boolean
4187
+ types?: ("mixed" | "types-first" | "types-last")
4188
+ })
4189
+ alphabetize?: {
4190
+ caseInsensitive?: boolean
4191
+ order?: ("ignore" | "asc" | "desc")
4192
+ orderImportKind?: ("ignore" | "asc" | "desc")
4193
+ }
4194
+ warnOnUnassignedImports?: boolean
4195
+ }]
4196
+ // ----- imports/prefer-default-export -----
4197
+ type ImportsPreferDefaultExport = []|[{
4198
+ target?: ("single" | "any")
4199
+ }]
4200
+ // ----- jsonc/array-bracket-newline -----
4201
+ type JsoncArrayBracketNewline = []|[(("always" | "never" | "consistent") | {
4202
+ multiline?: boolean
4203
+ minItems?: (number | null)
4204
+ })]
4205
+ // ----- jsonc/array-bracket-spacing -----
4206
+ type JsoncArrayBracketSpacing = []|[("always" | "never")]|[("always" | "never"), {
4207
+ singleValue?: boolean
4208
+ objectsInArrays?: boolean
4209
+ arraysInArrays?: boolean
4210
+ }]
4211
+ // ----- jsonc/array-element-newline -----
4212
+ type JsoncArrayElementNewline = []|[(_JsoncArrayElementNewlineBasicConfig | {
4213
+ ArrayExpression?: _JsoncArrayElementNewlineBasicConfig
4214
+ JSONArrayExpression?: _JsoncArrayElementNewlineBasicConfig
4215
+ ArrayPattern?: _JsoncArrayElementNewlineBasicConfig
4216
+ })]
4217
+ type _JsoncArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
4218
+ multiline?: boolean
4219
+ minItems?: (number | null)
4220
+ })
4221
+ // ----- jsonc/comma-dangle -----
4222
+ type JsoncCommaDangle = []|[(_JsoncCommaDangleValue | {
4223
+ arrays?: _JsoncCommaDangleValueWithIgnore
4224
+ objects?: _JsoncCommaDangleValueWithIgnore
4225
+ imports?: _JsoncCommaDangleValueWithIgnore
4226
+ exports?: _JsoncCommaDangleValueWithIgnore
4227
+ functions?: _JsoncCommaDangleValueWithIgnore
4228
+ })]
4229
+ type _JsoncCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
4230
+ type _JsoncCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline")
4231
+ // ----- jsonc/comma-style -----
4232
+ type JsoncCommaStyle = []|[("first" | "last")]|[("first" | "last"), {
4233
+ exceptions?: {
4234
+ [k: string]: boolean | undefined
4235
+ }
4236
+ }]
4237
+ // ----- jsonc/indent -----
4238
+ type JsoncIndent = []|[("tab" | number)]|[("tab" | number), {
4239
+ SwitchCase?: number
4240
+ VariableDeclarator?: ((number | ("first" | "off")) | {
4241
+ var?: (number | ("first" | "off"))
4242
+ let?: (number | ("first" | "off"))
4243
+ const?: (number | ("first" | "off"))
4244
+ })
4245
+ outerIIFEBody?: (number | "off")
4246
+ MemberExpression?: (number | "off")
4247
+ FunctionDeclaration?: {
4248
+ parameters?: (number | ("first" | "off"))
4249
+ body?: number
4250
+ }
4251
+ FunctionExpression?: {
4252
+ parameters?: (number | ("first" | "off"))
4253
+ body?: number
4254
+ }
4255
+ StaticBlock?: {
4256
+ body?: number
4257
+ }
4258
+ CallExpression?: {
4259
+ arguments?: (number | ("first" | "off"))
4260
+ }
4261
+ ArrayExpression?: (number | ("first" | "off"))
4262
+ ObjectExpression?: (number | ("first" | "off"))
4263
+ ImportDeclaration?: (number | ("first" | "off"))
4264
+ flatTernaryExpressions?: boolean
4265
+ offsetTernaryExpressions?: boolean
4266
+ ignoredNodes?: string[]
4267
+ ignoreComments?: boolean
4268
+ }]
4269
+ // ----- jsonc/key-name-casing -----
4270
+ type JsoncKeyNameCasing = []|[{
4271
+ camelCase?: boolean
4272
+ PascalCase?: boolean
4273
+ SCREAMING_SNAKE_CASE?: boolean
4274
+ "kebab-case"?: boolean
4275
+ snake_case?: boolean
4276
+ ignores?: string[]
4277
+ }]
4278
+ // ----- jsonc/key-spacing -----
4279
+ type JsoncKeySpacing = []|[({
4280
+ align?: (("colon" | "value") | {
4281
+ mode?: ("strict" | "minimum")
4282
+ on?: ("colon" | "value")
4283
+ beforeColon?: boolean
4284
+ afterColon?: boolean
4285
+ })
4286
+ mode?: ("strict" | "minimum")
4287
+ beforeColon?: boolean
4288
+ afterColon?: boolean
4289
+ } | {
4290
+ singleLine?: {
4291
+ mode?: ("strict" | "minimum")
4292
+ beforeColon?: boolean
4293
+ afterColon?: boolean
4294
+ }
4295
+ multiLine?: {
4296
+ align?: (("colon" | "value") | {
4297
+ mode?: ("strict" | "minimum")
4298
+ on?: ("colon" | "value")
4299
+ beforeColon?: boolean
4300
+ afterColon?: boolean
4301
+ })
4302
+ mode?: ("strict" | "minimum")
4303
+ beforeColon?: boolean
4304
+ afterColon?: boolean
4305
+ }
4306
+ } | {
4307
+ singleLine?: {
4308
+ mode?: ("strict" | "minimum")
4309
+ beforeColon?: boolean
4310
+ afterColon?: boolean
4311
+ }
4312
+ multiLine?: {
4313
+ mode?: ("strict" | "minimum")
4314
+ beforeColon?: boolean
4315
+ afterColon?: boolean
4316
+ }
4317
+ align?: {
4318
+ mode?: ("strict" | "minimum")
4319
+ on?: ("colon" | "value")
4320
+ beforeColon?: boolean
4321
+ afterColon?: boolean
4322
+ }
4323
+ })]
4324
+ // ----- jsonc/no-irregular-whitespace -----
4325
+ type JsoncNoIrregularWhitespace = []|[{
4326
+ skipComments?: boolean
4327
+ skipStrings?: boolean
4328
+ skipTemplates?: boolean
4329
+ skipRegExps?: boolean
4330
+ skipJSXText?: boolean
4331
+ }]
4332
+ // ----- jsonc/no-useless-escape -----
4333
+ type JsoncNoUselessEscape = []|[{
4334
+ allowRegexCharacters?: string[]
4335
+ }]
4336
+ // ----- jsonc/object-curly-newline -----
4337
+ type JsoncObjectCurlyNewline = []|[((("always" | "never") | {
4338
+ multiline?: boolean
4339
+ minProperties?: number
4340
+ consistent?: boolean
4341
+ }) | {
4342
+ ObjectExpression?: (("always" | "never") | {
4343
+ multiline?: boolean
4344
+ minProperties?: number
4345
+ consistent?: boolean
4346
+ })
4347
+ ObjectPattern?: (("always" | "never") | {
4348
+ multiline?: boolean
4349
+ minProperties?: number
4350
+ consistent?: boolean
4351
+ })
4352
+ ImportDeclaration?: (("always" | "never") | {
4353
+ multiline?: boolean
4354
+ minProperties?: number
4355
+ consistent?: boolean
4356
+ })
4357
+ ExportDeclaration?: (("always" | "never") | {
4358
+ multiline?: boolean
4359
+ minProperties?: number
4360
+ consistent?: boolean
4361
+ })
4362
+ })]
4363
+ // ----- jsonc/object-curly-spacing -----
4364
+ type JsoncObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
4365
+ arraysInObjects?: boolean
4366
+ objectsInObjects?: boolean
4367
+ }]
4368
+ // ----- jsonc/object-property-newline -----
4369
+ type JsoncObjectPropertyNewline = []|[{
4370
+ allowAllPropertiesOnSameLine?: boolean
4371
+ allowMultiplePropertiesPerLine?: boolean
4372
+ }]
4373
+ // ----- jsonc/quote-props -----
4374
+ type JsoncQuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
4375
+ keywords?: boolean
4376
+ unnecessary?: boolean
4377
+ numbers?: boolean
4378
+ }])
4379
+ // ----- jsonc/quotes -----
4380
+ type JsoncQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
4381
+ avoidEscape?: boolean
4382
+ allowTemplateLiterals?: boolean
4383
+ })]
4384
+ // ----- jsonc/sort-array-values -----
4385
+ type JsoncSortArrayValues = [{
4386
+ pathPattern: string
4387
+ order: ((string | {
4388
+ valuePattern?: string
4389
+ order?: {
4390
+ type?: ("asc" | "desc")
4391
+ caseSensitive?: boolean
4392
+ natural?: boolean
4393
+ }
4394
+ })[] | {
4395
+ type?: ("asc" | "desc")
4396
+ caseSensitive?: boolean
4397
+ natural?: boolean
4398
+ })
4399
+ minValues?: number
4400
+ }, ...({
4401
+ pathPattern: string
4402
+ order: ((string | {
4403
+ valuePattern?: string
4404
+ order?: {
4405
+ type?: ("asc" | "desc")
4406
+ caseSensitive?: boolean
4407
+ natural?: boolean
4408
+ }
4409
+ })[] | {
4410
+ type?: ("asc" | "desc")
4411
+ caseSensitive?: boolean
4412
+ natural?: boolean
4413
+ })
4414
+ minValues?: number
4415
+ })[]]
4416
+ // ----- jsonc/sort-keys -----
4417
+ type JsoncSortKeys = ([{
4418
+ pathPattern: string
4419
+ hasProperties?: string[]
4420
+ order: ((string | {
4421
+ keyPattern?: string
4422
+ order?: {
4423
+ type?: ("asc" | "desc")
4424
+ caseSensitive?: boolean
4425
+ natural?: boolean
4426
+ }
4427
+ })[] | {
4428
+ type?: ("asc" | "desc")
4429
+ caseSensitive?: boolean
4430
+ natural?: boolean
4431
+ })
4432
+ minKeys?: number
4433
+ allowLineSeparatedGroups?: boolean
4434
+ }, ...({
4435
+ pathPattern: string
4436
+ hasProperties?: string[]
4437
+ order: ((string | {
4438
+ keyPattern?: string
4439
+ order?: {
4440
+ type?: ("asc" | "desc")
4441
+ caseSensitive?: boolean
4442
+ natural?: boolean
4443
+ }
4444
+ })[] | {
4445
+ type?: ("asc" | "desc")
4446
+ caseSensitive?: boolean
4447
+ natural?: boolean
4448
+ })
4449
+ minKeys?: number
4450
+ allowLineSeparatedGroups?: boolean
4451
+ })[]] | []|[("asc" | "desc")]|[("asc" | "desc"), {
4452
+ caseSensitive?: boolean
4453
+ natural?: boolean
4454
+ minKeys?: number
4455
+ allowLineSeparatedGroups?: boolean
4456
+ }])
4457
+ // ----- jsonc/space-unary-ops -----
4458
+ type JsoncSpaceUnaryOps = []|[{
4459
+ words?: boolean
4460
+ nonwords?: boolean
4461
+ overrides?: {
4462
+ [k: string]: boolean | undefined
4463
+ }
4464
+ }]
4465
+
4466
+ type Rules = Record<string, Linter.RuleEntry | undefined> & RuleOptions;
4467
+ interface LinterConfig extends Omit<Linter.Config, 'rules'> {
4468
+ rules?: Rules;
4469
+ }
4470
+ interface SharedOptions {
4471
+ /**
4472
+ * Each configuration automatically lints all corresponding files, this option is used to override
4473
+ */
4474
+ files?: Linter.Config['files'];
4475
+ /**
4476
+ * Rewrite rules
4477
+ */
4478
+ overrides?: LinterConfig['rules'];
4479
+ }
4480
+ interface JsOptions extends SharedOptions {
4481
+ globals?: (keyof typeof globals)[];
4482
+ }
4483
+ type TsOptions = SharedOptions;
4484
+ type StylisticOptions = SharedOptions;
4485
+ type JsoncOptions = SharedOptions;
4486
+ interface WaltzOptions {
4487
+ /**
4488
+ * Treat the .gitignore file as a global ignore
4489
+ *
4490
+ * @default false
4491
+ * @see https://github.com/antfu/eslint-config-flat-gitignore
4492
+ */
4493
+ gitignore?: boolean | FlatGitignoreOptions;
4494
+ /**
4495
+ * Set lint configs and default to the recommended configuration of `@eslint/js`
4496
+ *
4497
+ * @default {}
4498
+ * @see https://github.com/eslint/eslint.git
4499
+ */
4500
+ js?: JsOptions;
4501
+ /**
4502
+ * Enable TypeScript support and default to the recommended configuration of `typescript-eslint`
4503
+ *
4504
+ * @default false
4505
+ * @see https://typescript-eslint.io/linting/configs/#recommended-config
4506
+ */
4507
+ ts?: boolean | TsOptions;
4508
+ /**
4509
+ * Set lint configs
4510
+ *
4511
+ * @default {}
4512
+ */
4513
+ stylistic?: StylisticOptions;
4514
+ /**
4515
+ *
4516
+ */
4517
+ json?: boolean | JsoncOptions;
4518
+ /**
4519
+ *
4520
+ */
4521
+ imports?: boolean;
4522
+ }
4523
+
4524
+ declare function waltz(options?: WaltzOptions, ...orders: LinterConfig[]): Promise<LinterConfig[]>;
4525
+
4526
+ export { waltz as default };