@w5s/eslint-config 2.4.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/index.cjs +4199 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +8054 -0
  4. package/dist/index.d.ts +8054 -3
  5. package/dist/index.js +4171 -22
  6. package/dist/index.js.map +1 -0
  7. package/package.json +26 -17
  8. package/src/config/createRules.ts +5 -0
  9. package/src/config/es.ts +58 -0
  10. package/src/config/ignores.ts +84 -0
  11. package/src/config/imports.ts +32 -0
  12. package/src/config/jsdoc.ts +53 -0
  13. package/src/config/jsonc.ts +237 -0
  14. package/src/config/node.ts +42 -0
  15. package/src/config/stylistic.ts +50 -0
  16. package/src/config/test.ts +44 -0
  17. package/src/config/ts.ts +97 -0
  18. package/src/config/unicorn.ts +68 -0
  19. package/src/config/yml.ts +70 -0
  20. package/src/config.ts +11 -0
  21. package/src/defineConfig.ts +62 -0
  22. package/src/index.ts +3 -31
  23. package/src/type/Config.ts +5 -0
  24. package/src/type/PluginOptionsBase.ts +14 -0
  25. package/src/type/StylisticConfig.ts +39 -0
  26. package/src/type.ts +3 -0
  27. package/src/typegen/.keep +0 -0
  28. package/src/typegen/import.d.ts +501 -0
  29. package/src/typegen/jsdoc.d.ts +1155 -0
  30. package/src/typegen/jsonc.d.ts +500 -0
  31. package/src/typegen/node.d.ts +529 -0
  32. package/src/typegen/style.d.ts +1637 -0
  33. package/src/typegen/test.d.ts +430 -0
  34. package/src/typegen/ts.d.ts +1872 -0
  35. package/src/typegen/unicorn.d.ts +913 -0
  36. package/src/typegen/yml.d.ts +363 -0
  37. package/dist/es.d.ts +0 -3
  38. package/dist/es.js +0 -10
  39. package/dist/jest.d.ts +0 -3
  40. package/dist/jest.js +0 -20
  41. package/dist/json.d.ts +0 -3
  42. package/dist/json.js +0 -14
  43. package/dist/rules/es/base.d.ts +0 -4
  44. package/dist/rules/es/base.js +0 -71
  45. package/dist/rules/es/import.d.ts +0 -3
  46. package/dist/rules/es/import.js +0 -74
  47. package/dist/rules/es/jsdoc.d.ts +0 -3
  48. package/dist/rules/es/jsdoc.js +0 -21
  49. package/dist/rules/es/node.d.ts +0 -3
  50. package/dist/rules/es/node.js +0 -20
  51. package/dist/rules/es/promise.d.ts +0 -3
  52. package/dist/rules/es/promise.js +0 -11
  53. package/dist/rules/es/unicorn.d.ts +0 -3
  54. package/dist/rules/es/unicorn.js +0 -72
  55. package/dist/rules/es.d.ts +0 -3
  56. package/dist/rules/es.js +0 -14
  57. package/dist/rules/ignore.d.ts +0 -3
  58. package/dist/rules/ignore.js +0 -54
  59. package/dist/rules/jest.d.ts +0 -3
  60. package/dist/rules/jest.js +0 -64
  61. package/dist/rules/jsonc.d.ts +0 -3
  62. package/dist/rules/jsonc.js +0 -183
  63. package/dist/rules/prettier.d.ts +0 -3
  64. package/dist/rules/prettier.js +0 -13
  65. package/dist/rules/typescript.d.ts +0 -3
  66. package/dist/rules/typescript.js +0 -249
  67. package/dist/rules/yml.d.ts +0 -3
  68. package/dist/rules/yml.js +0 -21
  69. package/dist/tsconfig.build.tsbuildinfo +0 -1
  70. package/dist/typescript.d.ts +0 -3
  71. package/dist/typescript.js +0 -21
  72. package/dist/yml.d.ts +0 -3
  73. package/dist/yml.js +0 -19
  74. package/src/es.ts +0 -12
  75. package/src/jest.ts +0 -18
  76. package/src/json.ts +0 -12
  77. package/src/rules/es/base.ts +0 -83
  78. package/src/rules/es/import.ts +0 -81
  79. package/src/rules/es/jsdoc.ts +0 -23
  80. package/src/rules/es/node.ts +0 -21
  81. package/src/rules/es/promise.ts +0 -12
  82. package/src/rules/es/unicorn.ts +0 -74
  83. package/src/rules/es.ts +0 -21
  84. package/src/rules/ignore.ts +0 -54
  85. package/src/rules/jest.ts +0 -68
  86. package/src/rules/jsonc.ts +0 -187
  87. package/src/rules/prettier.ts +0 -11
  88. package/src/rules/typescript.ts +0 -255
  89. package/src/rules/yml.ts +0 -22
  90. package/src/typescript.ts +0 -24
  91. package/src/yml.ts +0 -18
@@ -0,0 +1,1872 @@
1
+ /* eslint-disable unicorn/no-abusive-eslint-disable */
2
+ /* eslint-disable */
3
+ /* prettier-ignore */
4
+ import type { Linter } from 'eslint'
5
+
6
+ declare module 'eslint' {
7
+ namespace Linter {
8
+ interface RulesRecord extends RuleOptions {}
9
+ }
10
+ }
11
+
12
+ export interface RuleOptions {
13
+ /**
14
+ * Require that function overload signatures be consecutive
15
+ * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
16
+ */
17
+ 'ts/adjacent-overload-signatures'?: Linter.RuleEntry<[]>
18
+ /**
19
+ * Require consistently using either `T[]` or `Array<T>` for arrays
20
+ * @see https://typescript-eslint.io/rules/array-type
21
+ */
22
+ 'ts/array-type'?: Linter.RuleEntry<TsArrayType>
23
+ /**
24
+ * Disallow awaiting a value that is not a Thenable
25
+ * @see https://typescript-eslint.io/rules/await-thenable
26
+ */
27
+ 'ts/await-thenable'?: Linter.RuleEntry<[]>
28
+ /**
29
+ * Disallow `@ts-<directive>` comments or require descriptions after directives
30
+ * @see https://typescript-eslint.io/rules/ban-ts-comment
31
+ */
32
+ 'ts/ban-ts-comment'?: Linter.RuleEntry<TsBanTsComment>
33
+ /**
34
+ * Disallow `// tslint:<rule-flag>` comments
35
+ * @see https://typescript-eslint.io/rules/ban-tslint-comment
36
+ */
37
+ 'ts/ban-tslint-comment'?: Linter.RuleEntry<[]>
38
+ /**
39
+ * Enforce that literals on classes are exposed in a consistent style
40
+ * @see https://typescript-eslint.io/rules/class-literal-property-style
41
+ */
42
+ 'ts/class-literal-property-style'?: Linter.RuleEntry<TsClassLiteralPropertyStyle>
43
+ /**
44
+ * Enforce that class methods utilize `this`
45
+ * @see https://typescript-eslint.io/rules/class-methods-use-this
46
+ */
47
+ 'ts/class-methods-use-this'?: Linter.RuleEntry<TsClassMethodsUseThis>
48
+ /**
49
+ * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
50
+ * @see https://typescript-eslint.io/rules/consistent-generic-constructors
51
+ */
52
+ 'ts/consistent-generic-constructors'?: Linter.RuleEntry<TsConsistentGenericConstructors>
53
+ /**
54
+ * Require or disallow the `Record` type
55
+ * @see https://typescript-eslint.io/rules/consistent-indexed-object-style
56
+ */
57
+ 'ts/consistent-indexed-object-style'?: Linter.RuleEntry<TsConsistentIndexedObjectStyle>
58
+ /**
59
+ * Require `return` statements to either always or never specify values
60
+ * @see https://typescript-eslint.io/rules/consistent-return
61
+ */
62
+ 'ts/consistent-return'?: Linter.RuleEntry<TsConsistentReturn>
63
+ /**
64
+ * Enforce consistent usage of type assertions
65
+ * @see https://typescript-eslint.io/rules/consistent-type-assertions
66
+ */
67
+ 'ts/consistent-type-assertions'?: Linter.RuleEntry<TsConsistentTypeAssertions>
68
+ /**
69
+ * Enforce type definitions to consistently use either `interface` or `type`
70
+ * @see https://typescript-eslint.io/rules/consistent-type-definitions
71
+ */
72
+ 'ts/consistent-type-definitions'?: Linter.RuleEntry<TsConsistentTypeDefinitions>
73
+ /**
74
+ * Enforce consistent usage of type exports
75
+ * @see https://typescript-eslint.io/rules/consistent-type-exports
76
+ */
77
+ 'ts/consistent-type-exports'?: Linter.RuleEntry<TsConsistentTypeExports>
78
+ /**
79
+ * Enforce consistent usage of type imports
80
+ * @see https://typescript-eslint.io/rules/consistent-type-imports
81
+ */
82
+ 'ts/consistent-type-imports'?: Linter.RuleEntry<TsConsistentTypeImports>
83
+ /**
84
+ * Enforce default parameters to be last
85
+ * @see https://typescript-eslint.io/rules/default-param-last
86
+ */
87
+ 'ts/default-param-last'?: Linter.RuleEntry<[]>
88
+ /**
89
+ * Enforce dot notation whenever possible
90
+ * @see https://typescript-eslint.io/rules/dot-notation
91
+ */
92
+ 'ts/dot-notation'?: Linter.RuleEntry<TsDotNotation>
93
+ /**
94
+ * Require explicit return types on functions and class methods
95
+ * @see https://typescript-eslint.io/rules/explicit-function-return-type
96
+ */
97
+ 'ts/explicit-function-return-type'?: Linter.RuleEntry<TsExplicitFunctionReturnType>
98
+ /**
99
+ * Require explicit accessibility modifiers on class properties and methods
100
+ * @see https://typescript-eslint.io/rules/explicit-member-accessibility
101
+ */
102
+ 'ts/explicit-member-accessibility'?: Linter.RuleEntry<TsExplicitMemberAccessibility>
103
+ /**
104
+ * Require explicit return and argument types on exported functions' and classes' public class methods
105
+ * @see https://typescript-eslint.io/rules/explicit-module-boundary-types
106
+ */
107
+ 'ts/explicit-module-boundary-types'?: Linter.RuleEntry<TsExplicitModuleBoundaryTypes>
108
+ /**
109
+ * Require or disallow initialization in variable declarations
110
+ * @see https://typescript-eslint.io/rules/init-declarations
111
+ */
112
+ 'ts/init-declarations'?: Linter.RuleEntry<TsInitDeclarations>
113
+ /**
114
+ * Enforce a maximum number of parameters in function definitions
115
+ * @see https://typescript-eslint.io/rules/max-params
116
+ */
117
+ 'ts/max-params'?: Linter.RuleEntry<TsMaxParams>
118
+ /**
119
+ * Require a consistent member declaration order
120
+ * @see https://typescript-eslint.io/rules/member-ordering
121
+ */
122
+ 'ts/member-ordering'?: Linter.RuleEntry<TsMemberOrdering>
123
+ /**
124
+ * Enforce using a particular method signature syntax
125
+ * @see https://typescript-eslint.io/rules/method-signature-style
126
+ */
127
+ 'ts/method-signature-style'?: Linter.RuleEntry<TsMethodSignatureStyle>
128
+ /**
129
+ * Enforce naming conventions for everything across a codebase
130
+ * @see https://typescript-eslint.io/rules/naming-convention
131
+ */
132
+ 'ts/naming-convention'?: Linter.RuleEntry<TsNamingConvention>
133
+ /**
134
+ * Disallow generic `Array` constructors
135
+ * @see https://typescript-eslint.io/rules/no-array-constructor
136
+ */
137
+ 'ts/no-array-constructor'?: Linter.RuleEntry<[]>
138
+ /**
139
+ * Disallow using the `delete` operator on array values
140
+ * @see https://typescript-eslint.io/rules/no-array-delete
141
+ */
142
+ 'ts/no-array-delete'?: Linter.RuleEntry<[]>
143
+ /**
144
+ * Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified
145
+ * @see https://typescript-eslint.io/rules/no-base-to-string
146
+ */
147
+ 'ts/no-base-to-string'?: Linter.RuleEntry<TsNoBaseToString>
148
+ /**
149
+ * Disallow non-null assertion in locations that may be confusing
150
+ * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
151
+ */
152
+ 'ts/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]>
153
+ /**
154
+ * Require expressions of type void to appear in statement position
155
+ * @see https://typescript-eslint.io/rules/no-confusing-void-expression
156
+ */
157
+ 'ts/no-confusing-void-expression'?: Linter.RuleEntry<TsNoConfusingVoidExpression>
158
+ /**
159
+ * Disallow using code marked as `@deprecated`
160
+ * @see https://typescript-eslint.io/rules/no-deprecated
161
+ */
162
+ 'ts/no-deprecated'?: Linter.RuleEntry<TsNoDeprecated>
163
+ /**
164
+ * Disallow duplicate class members
165
+ * @see https://typescript-eslint.io/rules/no-dupe-class-members
166
+ */
167
+ 'ts/no-dupe-class-members'?: Linter.RuleEntry<[]>
168
+ /**
169
+ * Disallow duplicate enum member values
170
+ * @see https://typescript-eslint.io/rules/no-duplicate-enum-values
171
+ */
172
+ 'ts/no-duplicate-enum-values'?: Linter.RuleEntry<[]>
173
+ /**
174
+ * Disallow duplicate constituents of union or intersection types
175
+ * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
176
+ */
177
+ 'ts/no-duplicate-type-constituents'?: Linter.RuleEntry<TsNoDuplicateTypeConstituents>
178
+ /**
179
+ * Disallow using the `delete` operator on computed key expressions
180
+ * @see https://typescript-eslint.io/rules/no-dynamic-delete
181
+ */
182
+ 'ts/no-dynamic-delete'?: Linter.RuleEntry<[]>
183
+ /**
184
+ * Disallow empty functions
185
+ * @see https://typescript-eslint.io/rules/no-empty-function
186
+ */
187
+ 'ts/no-empty-function'?: Linter.RuleEntry<TsNoEmptyFunction>
188
+ /**
189
+ * Disallow the declaration of empty interfaces
190
+ * @see https://typescript-eslint.io/rules/no-empty-interface
191
+ * @deprecated
192
+ */
193
+ 'ts/no-empty-interface'?: Linter.RuleEntry<TsNoEmptyInterface>
194
+ /**
195
+ * Disallow accidentally using the "empty object" type
196
+ * @see https://typescript-eslint.io/rules/no-empty-object-type
197
+ */
198
+ 'ts/no-empty-object-type'?: Linter.RuleEntry<TsNoEmptyObjectType>
199
+ /**
200
+ * Disallow the `any` type
201
+ * @see https://typescript-eslint.io/rules/no-explicit-any
202
+ */
203
+ 'ts/no-explicit-any'?: Linter.RuleEntry<TsNoExplicitAny>
204
+ /**
205
+ * Disallow extra non-null assertions
206
+ * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
207
+ */
208
+ 'ts/no-extra-non-null-assertion'?: Linter.RuleEntry<[]>
209
+ /**
210
+ * Disallow classes used as namespaces
211
+ * @see https://typescript-eslint.io/rules/no-extraneous-class
212
+ */
213
+ 'ts/no-extraneous-class'?: Linter.RuleEntry<TsNoExtraneousClass>
214
+ /**
215
+ * Require Promise-like statements to be handled appropriately
216
+ * @see https://typescript-eslint.io/rules/no-floating-promises
217
+ */
218
+ 'ts/no-floating-promises'?: Linter.RuleEntry<TsNoFloatingPromises>
219
+ /**
220
+ * Disallow iterating over an array with a for-in loop
221
+ * @see https://typescript-eslint.io/rules/no-for-in-array
222
+ */
223
+ 'ts/no-for-in-array'?: Linter.RuleEntry<[]>
224
+ /**
225
+ * Disallow the use of `eval()`-like functions
226
+ * @see https://typescript-eslint.io/rules/no-implied-eval
227
+ */
228
+ 'ts/no-implied-eval'?: Linter.RuleEntry<[]>
229
+ /**
230
+ * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
231
+ * @see https://typescript-eslint.io/rules/no-import-type-side-effects
232
+ */
233
+ 'ts/no-import-type-side-effects'?: Linter.RuleEntry<[]>
234
+ /**
235
+ * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
236
+ * @see https://typescript-eslint.io/rules/no-inferrable-types
237
+ */
238
+ 'ts/no-inferrable-types'?: Linter.RuleEntry<TsNoInferrableTypes>
239
+ /**
240
+ * Disallow `this` keywords outside of classes or class-like objects
241
+ * @see https://typescript-eslint.io/rules/no-invalid-this
242
+ */
243
+ 'ts/no-invalid-this'?: Linter.RuleEntry<TsNoInvalidThis>
244
+ /**
245
+ * Disallow `void` type outside of generic or return types
246
+ * @see https://typescript-eslint.io/rules/no-invalid-void-type
247
+ */
248
+ 'ts/no-invalid-void-type'?: Linter.RuleEntry<TsNoInvalidVoidType>
249
+ /**
250
+ * Disallow function declarations that contain unsafe references inside loop statements
251
+ * @see https://typescript-eslint.io/rules/no-loop-func
252
+ */
253
+ 'ts/no-loop-func'?: Linter.RuleEntry<[]>
254
+ /**
255
+ * Disallow literal numbers that lose precision
256
+ * @see https://typescript-eslint.io/rules/no-loss-of-precision
257
+ * @deprecated
258
+ */
259
+ 'ts/no-loss-of-precision'?: Linter.RuleEntry<[]>
260
+ /**
261
+ * Disallow magic numbers
262
+ * @see https://typescript-eslint.io/rules/no-magic-numbers
263
+ */
264
+ 'ts/no-magic-numbers'?: Linter.RuleEntry<TsNoMagicNumbers>
265
+ /**
266
+ * Disallow the `void` operator except when used to discard a value
267
+ * @see https://typescript-eslint.io/rules/no-meaningless-void-operator
268
+ */
269
+ 'ts/no-meaningless-void-operator'?: Linter.RuleEntry<TsNoMeaninglessVoidOperator>
270
+ /**
271
+ * Enforce valid definition of `new` and `constructor`
272
+ * @see https://typescript-eslint.io/rules/no-misused-new
273
+ */
274
+ 'ts/no-misused-new'?: Linter.RuleEntry<[]>
275
+ /**
276
+ * Disallow Promises in places not designed to handle them
277
+ * @see https://typescript-eslint.io/rules/no-misused-promises
278
+ */
279
+ 'ts/no-misused-promises'?: Linter.RuleEntry<TsNoMisusedPromises>
280
+ /**
281
+ * Disallow using the spread operator when it might cause unexpected behavior
282
+ * @see https://typescript-eslint.io/rules/no-misused-spread
283
+ */
284
+ 'ts/no-misused-spread'?: Linter.RuleEntry<TsNoMisusedSpread>
285
+ /**
286
+ * Disallow enums from having both number and string members
287
+ * @see https://typescript-eslint.io/rules/no-mixed-enums
288
+ */
289
+ 'ts/no-mixed-enums'?: Linter.RuleEntry<[]>
290
+ /**
291
+ * Disallow TypeScript namespaces
292
+ * @see https://typescript-eslint.io/rules/no-namespace
293
+ */
294
+ 'ts/no-namespace'?: Linter.RuleEntry<TsNoNamespace>
295
+ /**
296
+ * Disallow non-null assertions in the left operand of a nullish coalescing operator
297
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
298
+ */
299
+ 'ts/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]>
300
+ /**
301
+ * Disallow non-null assertions after an optional chain expression
302
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
303
+ */
304
+ 'ts/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]>
305
+ /**
306
+ * Disallow non-null assertions using the `!` postfix operator
307
+ * @see https://typescript-eslint.io/rules/no-non-null-assertion
308
+ */
309
+ 'ts/no-non-null-assertion'?: Linter.RuleEntry<[]>
310
+ /**
311
+ * Disallow variable redeclaration
312
+ * @see https://typescript-eslint.io/rules/no-redeclare
313
+ */
314
+ 'ts/no-redeclare'?: Linter.RuleEntry<TsNoRedeclare>
315
+ /**
316
+ * Disallow members of unions and intersections that do nothing or override type information
317
+ * @see https://typescript-eslint.io/rules/no-redundant-type-constituents
318
+ */
319
+ 'ts/no-redundant-type-constituents'?: Linter.RuleEntry<[]>
320
+ /**
321
+ * Disallow invocation of `require()`
322
+ * @see https://typescript-eslint.io/rules/no-require-imports
323
+ */
324
+ 'ts/no-require-imports'?: Linter.RuleEntry<TsNoRequireImports>
325
+ /**
326
+ * Disallow specified modules when loaded by `import`
327
+ * @see https://typescript-eslint.io/rules/no-restricted-imports
328
+ */
329
+ 'ts/no-restricted-imports'?: Linter.RuleEntry<TsNoRestrictedImports>
330
+ /**
331
+ * Disallow certain types
332
+ * @see https://typescript-eslint.io/rules/no-restricted-types
333
+ */
334
+ 'ts/no-restricted-types'?: Linter.RuleEntry<TsNoRestrictedTypes>
335
+ /**
336
+ * Disallow variable declarations from shadowing variables declared in the outer scope
337
+ * @see https://typescript-eslint.io/rules/no-shadow
338
+ */
339
+ 'ts/no-shadow'?: Linter.RuleEntry<TsNoShadow>
340
+ /**
341
+ * Disallow aliasing `this`
342
+ * @see https://typescript-eslint.io/rules/no-this-alias
343
+ */
344
+ 'ts/no-this-alias'?: Linter.RuleEntry<TsNoThisAlias>
345
+ /**
346
+ * Disallow type aliases
347
+ * @see https://typescript-eslint.io/rules/no-type-alias
348
+ * @deprecated
349
+ */
350
+ 'ts/no-type-alias'?: Linter.RuleEntry<TsNoTypeAlias>
351
+ /**
352
+ * Disallow unnecessary equality comparisons against boolean literals
353
+ * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
354
+ */
355
+ 'ts/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry<TsNoUnnecessaryBooleanLiteralCompare>
356
+ /**
357
+ * Disallow conditionals where the type is always truthy or always falsy
358
+ * @see https://typescript-eslint.io/rules/no-unnecessary-condition
359
+ */
360
+ 'ts/no-unnecessary-condition'?: Linter.RuleEntry<TsNoUnnecessaryCondition>
361
+ /**
362
+ * Disallow unnecessary assignment of constructor property parameter
363
+ * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
364
+ */
365
+ 'ts/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]>
366
+ /**
367
+ * Disallow unnecessary namespace qualifiers
368
+ * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
369
+ */
370
+ 'ts/no-unnecessary-qualifier'?: Linter.RuleEntry<[]>
371
+ /**
372
+ * Disallow unnecessary template expressions
373
+ * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
374
+ */
375
+ 'ts/no-unnecessary-template-expression'?: Linter.RuleEntry<[]>
376
+ /**
377
+ * Disallow type arguments that are equal to the default
378
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
379
+ */
380
+ 'ts/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]>
381
+ /**
382
+ * Disallow type assertions that do not change the type of an expression
383
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
384
+ */
385
+ 'ts/no-unnecessary-type-assertion'?: Linter.RuleEntry<TsNoUnnecessaryTypeAssertion>
386
+ /**
387
+ * Disallow unnecessary constraints on generic types
388
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
389
+ */
390
+ 'ts/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
391
+ /**
392
+ * Disallow conversion idioms when they do not change the type or value of the expression
393
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-conversion
394
+ */
395
+ 'ts/no-unnecessary-type-conversion'?: Linter.RuleEntry<[]>
396
+ /**
397
+ * Disallow type parameters that aren't used multiple times
398
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
399
+ */
400
+ 'ts/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
401
+ /**
402
+ * Disallow calling a function with a value with type `any`
403
+ * @see https://typescript-eslint.io/rules/no-unsafe-argument
404
+ */
405
+ 'ts/no-unsafe-argument'?: Linter.RuleEntry<[]>
406
+ /**
407
+ * Disallow assigning a value with type `any` to variables and properties
408
+ * @see https://typescript-eslint.io/rules/no-unsafe-assignment
409
+ */
410
+ 'ts/no-unsafe-assignment'?: Linter.RuleEntry<[]>
411
+ /**
412
+ * Disallow calling a value with type `any`
413
+ * @see https://typescript-eslint.io/rules/no-unsafe-call
414
+ */
415
+ 'ts/no-unsafe-call'?: Linter.RuleEntry<[]>
416
+ /**
417
+ * Disallow unsafe declaration merging
418
+ * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
419
+ */
420
+ 'ts/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>
421
+ /**
422
+ * Disallow comparing an enum value with a non-enum value
423
+ * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
424
+ */
425
+ 'ts/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]>
426
+ /**
427
+ * Disallow using the unsafe built-in Function type
428
+ * @see https://typescript-eslint.io/rules/no-unsafe-function-type
429
+ */
430
+ 'ts/no-unsafe-function-type'?: Linter.RuleEntry<[]>
431
+ /**
432
+ * Disallow member access on a value with type `any`
433
+ * @see https://typescript-eslint.io/rules/no-unsafe-member-access
434
+ */
435
+ 'ts/no-unsafe-member-access'?: Linter.RuleEntry<TsNoUnsafeMemberAccess>
436
+ /**
437
+ * Disallow returning a value with type `any` from a function
438
+ * @see https://typescript-eslint.io/rules/no-unsafe-return
439
+ */
440
+ 'ts/no-unsafe-return'?: Linter.RuleEntry<[]>
441
+ /**
442
+ * Disallow type assertions that narrow a type
443
+ * @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
444
+ */
445
+ 'ts/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>
446
+ /**
447
+ * Require unary negation to take a number
448
+ * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
449
+ */
450
+ 'ts/no-unsafe-unary-minus'?: Linter.RuleEntry<[]>
451
+ /**
452
+ * Disallow unused expressions
453
+ * @see https://typescript-eslint.io/rules/no-unused-expressions
454
+ */
455
+ 'ts/no-unused-expressions'?: Linter.RuleEntry<TsNoUnusedExpressions>
456
+ /**
457
+ * Disallow unused variables
458
+ * @see https://typescript-eslint.io/rules/no-unused-vars
459
+ */
460
+ 'ts/no-unused-vars'?: Linter.RuleEntry<TsNoUnusedVars>
461
+ /**
462
+ * Disallow the use of variables before they are defined
463
+ * @see https://typescript-eslint.io/rules/no-use-before-define
464
+ */
465
+ 'ts/no-use-before-define'?: Linter.RuleEntry<TsNoUseBeforeDefine>
466
+ /**
467
+ * Disallow unnecessary constructors
468
+ * @see https://typescript-eslint.io/rules/no-useless-constructor
469
+ */
470
+ 'ts/no-useless-constructor'?: Linter.RuleEntry<[]>
471
+ /**
472
+ * Disallow empty exports that don't change anything in a module file
473
+ * @see https://typescript-eslint.io/rules/no-useless-empty-export
474
+ */
475
+ 'ts/no-useless-empty-export'?: Linter.RuleEntry<[]>
476
+ /**
477
+ * Disallow `require` statements except in import statements
478
+ * @see https://typescript-eslint.io/rules/no-var-requires
479
+ * @deprecated
480
+ */
481
+ 'ts/no-var-requires'?: Linter.RuleEntry<TsNoVarRequires>
482
+ /**
483
+ * Disallow using confusing built-in primitive class wrappers
484
+ * @see https://typescript-eslint.io/rules/no-wrapper-object-types
485
+ */
486
+ 'ts/no-wrapper-object-types'?: Linter.RuleEntry<[]>
487
+ /**
488
+ * Enforce non-null assertions over explicit type assertions
489
+ * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
490
+ */
491
+ 'ts/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>
492
+ /**
493
+ * Disallow throwing non-`Error` values as exceptions
494
+ * @see https://typescript-eslint.io/rules/only-throw-error
495
+ */
496
+ 'ts/only-throw-error'?: Linter.RuleEntry<TsOnlyThrowError>
497
+ /**
498
+ * Require or disallow parameter properties in class constructors
499
+ * @see https://typescript-eslint.io/rules/parameter-properties
500
+ */
501
+ 'ts/parameter-properties'?: Linter.RuleEntry<TsParameterProperties>
502
+ /**
503
+ * Enforce the use of `as const` over literal type
504
+ * @see https://typescript-eslint.io/rules/prefer-as-const
505
+ */
506
+ 'ts/prefer-as-const'?: Linter.RuleEntry<[]>
507
+ /**
508
+ * Require destructuring from arrays and/or objects
509
+ * @see https://typescript-eslint.io/rules/prefer-destructuring
510
+ */
511
+ 'ts/prefer-destructuring'?: Linter.RuleEntry<TsPreferDestructuring>
512
+ /**
513
+ * Require each enum member value to be explicitly initialized
514
+ * @see https://typescript-eslint.io/rules/prefer-enum-initializers
515
+ */
516
+ 'ts/prefer-enum-initializers'?: Linter.RuleEntry<[]>
517
+ /**
518
+ * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
519
+ * @see https://typescript-eslint.io/rules/prefer-find
520
+ */
521
+ 'ts/prefer-find'?: Linter.RuleEntry<[]>
522
+ /**
523
+ * Enforce the use of `for-of` loop over the standard `for` loop where possible
524
+ * @see https://typescript-eslint.io/rules/prefer-for-of
525
+ */
526
+ 'ts/prefer-for-of'?: Linter.RuleEntry<[]>
527
+ /**
528
+ * Enforce using function types instead of interfaces with call signatures
529
+ * @see https://typescript-eslint.io/rules/prefer-function-type
530
+ */
531
+ 'ts/prefer-function-type'?: Linter.RuleEntry<[]>
532
+ /**
533
+ * Enforce `includes` method over `indexOf` method
534
+ * @see https://typescript-eslint.io/rules/prefer-includes
535
+ */
536
+ 'ts/prefer-includes'?: Linter.RuleEntry<[]>
537
+ /**
538
+ * Require all enum members to be literal values
539
+ * @see https://typescript-eslint.io/rules/prefer-literal-enum-member
540
+ */
541
+ 'ts/prefer-literal-enum-member'?: Linter.RuleEntry<TsPreferLiteralEnumMember>
542
+ /**
543
+ * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
544
+ * @see https://typescript-eslint.io/rules/prefer-namespace-keyword
545
+ */
546
+ 'ts/prefer-namespace-keyword'?: Linter.RuleEntry<[]>
547
+ /**
548
+ * Enforce using the nullish coalescing operator instead of logical assignments or chaining
549
+ * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
550
+ */
551
+ 'ts/prefer-nullish-coalescing'?: Linter.RuleEntry<TsPreferNullishCoalescing>
552
+ /**
553
+ * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
554
+ * @see https://typescript-eslint.io/rules/prefer-optional-chain
555
+ */
556
+ 'ts/prefer-optional-chain'?: Linter.RuleEntry<TsPreferOptionalChain>
557
+ /**
558
+ * Require using Error objects as Promise rejection reasons
559
+ * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
560
+ */
561
+ 'ts/prefer-promise-reject-errors'?: Linter.RuleEntry<TsPreferPromiseRejectErrors>
562
+ /**
563
+ * Require private members to be marked as `readonly` if they're never modified outside of the constructor
564
+ * @see https://typescript-eslint.io/rules/prefer-readonly
565
+ */
566
+ 'ts/prefer-readonly'?: Linter.RuleEntry<TsPreferReadonly>
567
+ /**
568
+ * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
569
+ * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
570
+ */
571
+ 'ts/prefer-readonly-parameter-types'?: Linter.RuleEntry<TsPreferReadonlyParameterTypes>
572
+ /**
573
+ * Enforce using type parameter when calling `Array#reduce` instead of using a type assertion
574
+ * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
575
+ */
576
+ 'ts/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>
577
+ /**
578
+ * Enforce `RegExp#exec` over `String#match` if no global flag is provided
579
+ * @see https://typescript-eslint.io/rules/prefer-regexp-exec
580
+ */
581
+ 'ts/prefer-regexp-exec'?: Linter.RuleEntry<[]>
582
+ /**
583
+ * Enforce that `this` is used when only `this` type is returned
584
+ * @see https://typescript-eslint.io/rules/prefer-return-this-type
585
+ */
586
+ 'ts/prefer-return-this-type'?: Linter.RuleEntry<[]>
587
+ /**
588
+ * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
589
+ * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
590
+ */
591
+ 'ts/prefer-string-starts-ends-with'?: Linter.RuleEntry<TsPreferStringStartsEndsWith>
592
+ /**
593
+ * Enforce using `@ts-expect-error` over `@ts-ignore`
594
+ * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
595
+ * @deprecated
596
+ */
597
+ 'ts/prefer-ts-expect-error'?: Linter.RuleEntry<[]>
598
+ /**
599
+ * Require any function or method that returns a Promise to be marked async
600
+ * @see https://typescript-eslint.io/rules/promise-function-async
601
+ */
602
+ 'ts/promise-function-async'?: Linter.RuleEntry<TsPromiseFunctionAsync>
603
+ /**
604
+ * Enforce that `get()` types should be assignable to their equivalent `set()` type
605
+ * @see https://typescript-eslint.io/rules/related-getter-setter-pairs
606
+ */
607
+ 'ts/related-getter-setter-pairs'?: Linter.RuleEntry<[]>
608
+ /**
609
+ * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
610
+ * @see https://typescript-eslint.io/rules/require-array-sort-compare
611
+ */
612
+ 'ts/require-array-sort-compare'?: Linter.RuleEntry<TsRequireArraySortCompare>
613
+ /**
614
+ * Disallow async functions which do not return promises and have no `await` expression
615
+ * @see https://typescript-eslint.io/rules/require-await
616
+ */
617
+ 'ts/require-await'?: Linter.RuleEntry<[]>
618
+ /**
619
+ * Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
620
+ * @see https://typescript-eslint.io/rules/restrict-plus-operands
621
+ */
622
+ 'ts/restrict-plus-operands'?: Linter.RuleEntry<TsRestrictPlusOperands>
623
+ /**
624
+ * Enforce template literal expressions to be of `string` type
625
+ * @see https://typescript-eslint.io/rules/restrict-template-expressions
626
+ */
627
+ 'ts/restrict-template-expressions'?: Linter.RuleEntry<TsRestrictTemplateExpressions>
628
+ /**
629
+ * Enforce consistent awaiting of returned promises
630
+ * @see https://typescript-eslint.io/rules/return-await
631
+ */
632
+ 'ts/return-await'?: Linter.RuleEntry<TsReturnAwait>
633
+ /**
634
+ * Enforce constituents of a type union/intersection to be sorted alphabetically
635
+ * @see https://typescript-eslint.io/rules/sort-type-constituents
636
+ * @deprecated
637
+ */
638
+ 'ts/sort-type-constituents'?: Linter.RuleEntry<TsSortTypeConstituents>
639
+ /**
640
+ * Disallow certain types in boolean expressions
641
+ * @see https://typescript-eslint.io/rules/strict-boolean-expressions
642
+ */
643
+ 'ts/strict-boolean-expressions'?: Linter.RuleEntry<TsStrictBooleanExpressions>
644
+ /**
645
+ * Require switch-case statements to be exhaustive
646
+ * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
647
+ */
648
+ 'ts/switch-exhaustiveness-check'?: Linter.RuleEntry<TsSwitchExhaustivenessCheck>
649
+ /**
650
+ * Disallow certain triple slash directives in favor of ES6-style import declarations
651
+ * @see https://typescript-eslint.io/rules/triple-slash-reference
652
+ */
653
+ 'ts/triple-slash-reference'?: Linter.RuleEntry<TsTripleSlashReference>
654
+ /**
655
+ * Require type annotations in certain places
656
+ * @see https://typescript-eslint.io/rules/typedef
657
+ * @deprecated
658
+ */
659
+ 'ts/typedef'?: Linter.RuleEntry<TsTypedef>
660
+ /**
661
+ * Enforce unbound methods are called with their expected scope
662
+ * @see https://typescript-eslint.io/rules/unbound-method
663
+ */
664
+ 'ts/unbound-method'?: Linter.RuleEntry<TsUnboundMethod>
665
+ /**
666
+ * Disallow two overloads that could be unified into one with a union or an optional/rest parameter
667
+ * @see https://typescript-eslint.io/rules/unified-signatures
668
+ */
669
+ 'ts/unified-signatures'?: Linter.RuleEntry<TsUnifiedSignatures>
670
+ /**
671
+ * Enforce typing arguments in Promise rejection callbacks as `unknown`
672
+ * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
673
+ */
674
+ 'ts/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
675
+ }
676
+
677
+ /* ======= Declarations ======= */
678
+ // ----- ts/array-type -----
679
+ type TsArrayType = []|[{
680
+
681
+ default?: ("array" | "generic" | "array-simple")
682
+
683
+ readonly?: ("array" | "generic" | "array-simple")
684
+ }]
685
+ // ----- ts/ban-ts-comment -----
686
+ type TsBanTsComment = []|[{
687
+
688
+ minimumDescriptionLength?: number
689
+
690
+ "ts-check"?: (boolean | "allow-with-description" | {
691
+ descriptionFormat?: string
692
+ })
693
+
694
+ "ts-expect-error"?: (boolean | "allow-with-description" | {
695
+ descriptionFormat?: string
696
+ })
697
+
698
+ "ts-ignore"?: (boolean | "allow-with-description" | {
699
+ descriptionFormat?: string
700
+ })
701
+
702
+ "ts-nocheck"?: (boolean | "allow-with-description" | {
703
+ descriptionFormat?: string
704
+ })
705
+ }]
706
+ // ----- ts/class-literal-property-style -----
707
+ type TsClassLiteralPropertyStyle = []|[("fields" | "getters")]
708
+ // ----- ts/class-methods-use-this -----
709
+ type TsClassMethodsUseThis = []|[{
710
+
711
+ enforceForClassFields?: boolean
712
+
713
+ exceptMethods?: string[]
714
+
715
+ ignoreClassesThatImplementAnInterface?: (boolean | "public-fields")
716
+
717
+ ignoreOverrideMethods?: boolean
718
+ }]
719
+ // ----- ts/consistent-generic-constructors -----
720
+ type TsConsistentGenericConstructors = []|[("type-annotation" | "constructor")]
721
+ // ----- ts/consistent-indexed-object-style -----
722
+ type TsConsistentIndexedObjectStyle = []|[("record" | "index-signature")]
723
+ // ----- ts/consistent-return -----
724
+ type TsConsistentReturn = []|[{
725
+ treatUndefinedAsUnspecified?: boolean
726
+ }]
727
+ // ----- ts/consistent-type-assertions -----
728
+ type TsConsistentTypeAssertions = []|[({
729
+
730
+ assertionStyle: "never"
731
+ } | {
732
+
733
+ arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
734
+
735
+ assertionStyle?: ("as" | "angle-bracket")
736
+
737
+ objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
738
+ })]
739
+ // ----- ts/consistent-type-definitions -----
740
+ type TsConsistentTypeDefinitions = []|[("interface" | "type")]
741
+ // ----- ts/consistent-type-exports -----
742
+ type TsConsistentTypeExports = []|[{
743
+
744
+ fixMixedExportsWithInlineTypeSpecifier?: boolean
745
+ }]
746
+ // ----- ts/consistent-type-imports -----
747
+ type TsConsistentTypeImports = []|[{
748
+
749
+ disallowTypeAnnotations?: boolean
750
+
751
+ fixStyle?: ("separate-type-imports" | "inline-type-imports")
752
+
753
+ prefer?: ("type-imports" | "no-type-imports")
754
+ }]
755
+ // ----- ts/dot-notation -----
756
+ type TsDotNotation = []|[{
757
+
758
+ allowIndexSignaturePropertyAccess?: boolean
759
+
760
+ allowKeywords?: boolean
761
+
762
+ allowPattern?: string
763
+
764
+ allowPrivateClassPropertyAccess?: boolean
765
+
766
+ allowProtectedClassPropertyAccess?: boolean
767
+ }]
768
+ // ----- ts/explicit-function-return-type -----
769
+ type TsExplicitFunctionReturnType = []|[{
770
+
771
+ allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean
772
+
773
+ allowDirectConstAssertionInArrowFunctions?: boolean
774
+
775
+ allowedNames?: string[]
776
+
777
+ allowExpressions?: boolean
778
+
779
+ allowFunctionsWithoutTypeParameters?: boolean
780
+
781
+ allowHigherOrderFunctions?: boolean
782
+
783
+ allowIIFEs?: boolean
784
+
785
+ allowTypedFunctionExpressions?: boolean
786
+ }]
787
+ // ----- ts/explicit-member-accessibility -----
788
+ type TsExplicitMemberAccessibility = []|[{
789
+
790
+ accessibility?: ("explicit" | "no-public" | "off")
791
+
792
+ ignoredMethodNames?: string[]
793
+
794
+ overrides?: {
795
+
796
+ accessors?: ("explicit" | "no-public" | "off")
797
+
798
+ constructors?: ("explicit" | "no-public" | "off")
799
+
800
+ methods?: ("explicit" | "no-public" | "off")
801
+
802
+ parameterProperties?: ("explicit" | "no-public" | "off")
803
+
804
+ properties?: ("explicit" | "no-public" | "off")
805
+ }
806
+ }]
807
+ // ----- ts/explicit-module-boundary-types -----
808
+ type TsExplicitModuleBoundaryTypes = []|[{
809
+
810
+ allowArgumentsExplicitlyTypedAsAny?: boolean
811
+
812
+ allowDirectConstAssertionInArrowFunctions?: boolean
813
+
814
+ allowedNames?: string[]
815
+
816
+ allowHigherOrderFunctions?: boolean
817
+
818
+ allowOverloadFunctions?: boolean
819
+
820
+ allowTypedFunctionExpressions?: boolean
821
+ }]
822
+ // ----- ts/init-declarations -----
823
+ type TsInitDeclarations = ([]|["always"] | []|["never"]|["never", {
824
+ ignoreForLoopInit?: boolean
825
+ }])
826
+ // ----- ts/max-params -----
827
+ type TsMaxParams = []|[{
828
+
829
+ countVoidThis?: boolean
830
+
831
+ max?: number
832
+
833
+ maximum?: number
834
+ }]
835
+ // ----- ts/member-ordering -----
836
+ type TsMemberOrdering = []|[{
837
+
838
+ 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")[])[] | {
839
+ 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")
840
+ optionalityOrder?: ("optional-first" | "required-first")
841
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
842
+ })
843
+
844
+ 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")[])[] | {
845
+ 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")
846
+ optionalityOrder?: ("optional-first" | "required-first")
847
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
848
+ })
849
+
850
+ 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")[])[] | {
851
+ 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")
852
+ optionalityOrder?: ("optional-first" | "required-first")
853
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
854
+ })
855
+
856
+ interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
857
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
858
+ optionalityOrder?: ("optional-first" | "required-first")
859
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
860
+ })
861
+
862
+ typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
863
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
864
+ optionalityOrder?: ("optional-first" | "required-first")
865
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
866
+ })
867
+ }]
868
+ // ----- ts/method-signature-style -----
869
+ type TsMethodSignatureStyle = []|[("property" | "method")]
870
+ // ----- ts/naming-convention -----
871
+ type _TsNamingConventionFormatOptionsConfig = (_TsNamingConventionPredefinedFormats[] | null)
872
+ type _TsNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE")
873
+ type _TsNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble")
874
+ type _TsNamingConvention_PrefixSuffixConfig = string[]
875
+ type _TsNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array")
876
+ type TsNamingConvention = ({
877
+ custom?: _TsNamingConvention_MatchRegexConfig
878
+ failureMessage?: string
879
+ format: _TsNamingConventionFormatOptionsConfig
880
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
881
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
882
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
883
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
884
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
885
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
886
+ 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")[]
887
+ types?: _TsNamingConventionTypeModifiers[]
888
+ } | {
889
+ custom?: _TsNamingConvention_MatchRegexConfig
890
+ failureMessage?: string
891
+ format: _TsNamingConventionFormatOptionsConfig
892
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
893
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
894
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
895
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
896
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
897
+ selector: "default"
898
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
899
+ } | {
900
+ custom?: _TsNamingConvention_MatchRegexConfig
901
+ failureMessage?: string
902
+ format: _TsNamingConventionFormatOptionsConfig
903
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
904
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
905
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
906
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
907
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
908
+ selector: "variableLike"
909
+ modifiers?: ("unused" | "async")[]
910
+ } | {
911
+ custom?: _TsNamingConvention_MatchRegexConfig
912
+ failureMessage?: string
913
+ format: _TsNamingConventionFormatOptionsConfig
914
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
915
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
916
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
917
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
918
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
919
+ selector: "variable"
920
+ modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[]
921
+ types?: _TsNamingConventionTypeModifiers[]
922
+ } | {
923
+ custom?: _TsNamingConvention_MatchRegexConfig
924
+ failureMessage?: string
925
+ format: _TsNamingConventionFormatOptionsConfig
926
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
927
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
928
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
929
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
930
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
931
+ selector: "function"
932
+ modifiers?: ("exported" | "global" | "unused" | "async")[]
933
+ } | {
934
+ custom?: _TsNamingConvention_MatchRegexConfig
935
+ failureMessage?: string
936
+ format: _TsNamingConventionFormatOptionsConfig
937
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
938
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
939
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
940
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
941
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
942
+ selector: "parameter"
943
+ modifiers?: ("destructured" | "unused")[]
944
+ types?: _TsNamingConventionTypeModifiers[]
945
+ } | {
946
+ custom?: _TsNamingConvention_MatchRegexConfig
947
+ failureMessage?: string
948
+ format: _TsNamingConventionFormatOptionsConfig
949
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
950
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
951
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
952
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
953
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
954
+ selector: "memberLike"
955
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
956
+ } | {
957
+ custom?: _TsNamingConvention_MatchRegexConfig
958
+ failureMessage?: string
959
+ format: _TsNamingConventionFormatOptionsConfig
960
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
961
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
962
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
963
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
964
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
965
+ selector: "classProperty"
966
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[]
967
+ types?: _TsNamingConventionTypeModifiers[]
968
+ } | {
969
+ custom?: _TsNamingConvention_MatchRegexConfig
970
+ failureMessage?: string
971
+ format: _TsNamingConventionFormatOptionsConfig
972
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
973
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
974
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
975
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
976
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
977
+ selector: "objectLiteralProperty"
978
+ modifiers?: ("public" | "requiresQuotes")[]
979
+ types?: _TsNamingConventionTypeModifiers[]
980
+ } | {
981
+ custom?: _TsNamingConvention_MatchRegexConfig
982
+ failureMessage?: string
983
+ format: _TsNamingConventionFormatOptionsConfig
984
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
985
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
986
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
987
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
988
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
989
+ selector: "typeProperty"
990
+ modifiers?: ("public" | "readonly" | "requiresQuotes")[]
991
+ types?: _TsNamingConventionTypeModifiers[]
992
+ } | {
993
+ custom?: _TsNamingConvention_MatchRegexConfig
994
+ failureMessage?: string
995
+ format: _TsNamingConventionFormatOptionsConfig
996
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
997
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
998
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
999
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1000
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1001
+ selector: "parameterProperty"
1002
+ modifiers?: ("private" | "protected" | "public" | "readonly")[]
1003
+ types?: _TsNamingConventionTypeModifiers[]
1004
+ } | {
1005
+ custom?: _TsNamingConvention_MatchRegexConfig
1006
+ failureMessage?: string
1007
+ format: _TsNamingConventionFormatOptionsConfig
1008
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1009
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1010
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1011
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1012
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1013
+ selector: "property"
1014
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
1015
+ types?: _TsNamingConventionTypeModifiers[]
1016
+ } | {
1017
+ custom?: _TsNamingConvention_MatchRegexConfig
1018
+ failureMessage?: string
1019
+ format: _TsNamingConventionFormatOptionsConfig
1020
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1021
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1022
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1023
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1024
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1025
+ selector: "classMethod"
1026
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
1027
+ } | {
1028
+ custom?: _TsNamingConvention_MatchRegexConfig
1029
+ failureMessage?: string
1030
+ format: _TsNamingConventionFormatOptionsConfig
1031
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1032
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1033
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1034
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1035
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1036
+ selector: "objectLiteralMethod"
1037
+ modifiers?: ("public" | "requiresQuotes" | "async")[]
1038
+ } | {
1039
+ custom?: _TsNamingConvention_MatchRegexConfig
1040
+ failureMessage?: string
1041
+ format: _TsNamingConventionFormatOptionsConfig
1042
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1043
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1044
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1045
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1046
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1047
+ selector: "typeMethod"
1048
+ modifiers?: ("public" | "requiresQuotes")[]
1049
+ } | {
1050
+ custom?: _TsNamingConvention_MatchRegexConfig
1051
+ failureMessage?: string
1052
+ format: _TsNamingConventionFormatOptionsConfig
1053
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1054
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1055
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1056
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1057
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1058
+ selector: "method"
1059
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
1060
+ } | {
1061
+ custom?: _TsNamingConvention_MatchRegexConfig
1062
+ failureMessage?: string
1063
+ format: _TsNamingConventionFormatOptionsConfig
1064
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1065
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1066
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1067
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1068
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1069
+ selector: "classicAccessor"
1070
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
1071
+ types?: _TsNamingConventionTypeModifiers[]
1072
+ } | {
1073
+ custom?: _TsNamingConvention_MatchRegexConfig
1074
+ failureMessage?: string
1075
+ format: _TsNamingConventionFormatOptionsConfig
1076
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1077
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1078
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1079
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1080
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1081
+ selector: "autoAccessor"
1082
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
1083
+ types?: _TsNamingConventionTypeModifiers[]
1084
+ } | {
1085
+ custom?: _TsNamingConvention_MatchRegexConfig
1086
+ failureMessage?: string
1087
+ format: _TsNamingConventionFormatOptionsConfig
1088
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1089
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1090
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1091
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1092
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1093
+ selector: "accessor"
1094
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
1095
+ types?: _TsNamingConventionTypeModifiers[]
1096
+ } | {
1097
+ custom?: _TsNamingConvention_MatchRegexConfig
1098
+ failureMessage?: string
1099
+ format: _TsNamingConventionFormatOptionsConfig
1100
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1101
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1102
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1103
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1104
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1105
+ selector: "enumMember"
1106
+ modifiers?: ("requiresQuotes")[]
1107
+ } | {
1108
+ custom?: _TsNamingConvention_MatchRegexConfig
1109
+ failureMessage?: string
1110
+ format: _TsNamingConventionFormatOptionsConfig
1111
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1112
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1113
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1114
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1115
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1116
+ selector: "typeLike"
1117
+ modifiers?: ("abstract" | "exported" | "unused")[]
1118
+ } | {
1119
+ custom?: _TsNamingConvention_MatchRegexConfig
1120
+ failureMessage?: string
1121
+ format: _TsNamingConventionFormatOptionsConfig
1122
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1123
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1124
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1125
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1126
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1127
+ selector: "class"
1128
+ modifiers?: ("abstract" | "exported" | "unused")[]
1129
+ } | {
1130
+ custom?: _TsNamingConvention_MatchRegexConfig
1131
+ failureMessage?: string
1132
+ format: _TsNamingConventionFormatOptionsConfig
1133
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1134
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1135
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1136
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1137
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1138
+ selector: "interface"
1139
+ modifiers?: ("exported" | "unused")[]
1140
+ } | {
1141
+ custom?: _TsNamingConvention_MatchRegexConfig
1142
+ failureMessage?: string
1143
+ format: _TsNamingConventionFormatOptionsConfig
1144
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1145
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1146
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1147
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1148
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1149
+ selector: "typeAlias"
1150
+ modifiers?: ("exported" | "unused")[]
1151
+ } | {
1152
+ custom?: _TsNamingConvention_MatchRegexConfig
1153
+ failureMessage?: string
1154
+ format: _TsNamingConventionFormatOptionsConfig
1155
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1156
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1157
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1158
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1159
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1160
+ selector: "enum"
1161
+ modifiers?: ("exported" | "unused")[]
1162
+ } | {
1163
+ custom?: _TsNamingConvention_MatchRegexConfig
1164
+ failureMessage?: string
1165
+ format: _TsNamingConventionFormatOptionsConfig
1166
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1167
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1168
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1169
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1170
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1171
+ selector: "typeParameter"
1172
+ modifiers?: ("unused")[]
1173
+ } | {
1174
+ custom?: _TsNamingConvention_MatchRegexConfig
1175
+ failureMessage?: string
1176
+ format: _TsNamingConventionFormatOptionsConfig
1177
+ leadingUnderscore?: _TsNamingConventionUnderscoreOptions
1178
+ prefix?: _TsNamingConvention_PrefixSuffixConfig
1179
+ suffix?: _TsNamingConvention_PrefixSuffixConfig
1180
+ trailingUnderscore?: _TsNamingConventionUnderscoreOptions
1181
+ filter?: (string | _TsNamingConvention_MatchRegexConfig)
1182
+ selector: "import"
1183
+ modifiers?: ("default" | "namespace")[]
1184
+ })[]
1185
+ interface _TsNamingConvention_MatchRegexConfig {
1186
+ match: boolean
1187
+ regex: string
1188
+ }
1189
+ // ----- ts/no-base-to-string -----
1190
+ type TsNoBaseToString = []|[{
1191
+
1192
+ checkUnknown?: boolean
1193
+
1194
+ ignoredTypeNames?: string[]
1195
+ }]
1196
+ // ----- ts/no-confusing-void-expression -----
1197
+ type TsNoConfusingVoidExpression = []|[{
1198
+
1199
+ ignoreArrowShorthand?: boolean
1200
+
1201
+ ignoreVoidOperator?: boolean
1202
+
1203
+ ignoreVoidReturningFunctions?: boolean
1204
+ }]
1205
+ // ----- ts/no-deprecated -----
1206
+ type TsNoDeprecated = []|[{
1207
+
1208
+ allow?: (string | {
1209
+ from: "file"
1210
+ name: (string | [string, ...(string)[]])
1211
+ path?: string
1212
+ } | {
1213
+ from: "lib"
1214
+ name: (string | [string, ...(string)[]])
1215
+ } | {
1216
+ from: "package"
1217
+ name: (string | [string, ...(string)[]])
1218
+ package: string
1219
+ })[]
1220
+ }]
1221
+ // ----- ts/no-duplicate-type-constituents -----
1222
+ type TsNoDuplicateTypeConstituents = []|[{
1223
+
1224
+ ignoreIntersections?: boolean
1225
+
1226
+ ignoreUnions?: boolean
1227
+ }]
1228
+ // ----- ts/no-empty-function -----
1229
+ type TsNoEmptyFunction = []|[{
1230
+
1231
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[]
1232
+ }]
1233
+ // ----- ts/no-empty-interface -----
1234
+ type TsNoEmptyInterface = []|[{
1235
+
1236
+ allowSingleExtends?: boolean
1237
+ }]
1238
+ // ----- ts/no-empty-object-type -----
1239
+ type TsNoEmptyObjectType = []|[{
1240
+
1241
+ allowInterfaces?: ("always" | "never" | "with-single-extends")
1242
+
1243
+ allowObjectTypes?: ("always" | "never")
1244
+
1245
+ allowWithName?: string
1246
+ }]
1247
+ // ----- ts/no-explicit-any -----
1248
+ type TsNoExplicitAny = []|[{
1249
+
1250
+ fixToUnknown?: boolean
1251
+
1252
+ ignoreRestArgs?: boolean
1253
+ }]
1254
+ // ----- ts/no-extraneous-class -----
1255
+ type TsNoExtraneousClass = []|[{
1256
+
1257
+ allowConstructorOnly?: boolean
1258
+
1259
+ allowEmpty?: boolean
1260
+
1261
+ allowStaticOnly?: boolean
1262
+
1263
+ allowWithDecorator?: boolean
1264
+ }]
1265
+ // ----- ts/no-floating-promises -----
1266
+ type TsNoFloatingPromises = []|[{
1267
+
1268
+ allowForKnownSafeCalls?: (string | {
1269
+ from: "file"
1270
+ name: (string | [string, ...(string)[]])
1271
+ path?: string
1272
+ } | {
1273
+ from: "lib"
1274
+ name: (string | [string, ...(string)[]])
1275
+ } | {
1276
+ from: "package"
1277
+ name: (string | [string, ...(string)[]])
1278
+ package: string
1279
+ })[]
1280
+
1281
+ allowForKnownSafePromises?: (string | {
1282
+ from: "file"
1283
+ name: (string | [string, ...(string)[]])
1284
+ path?: string
1285
+ } | {
1286
+ from: "lib"
1287
+ name: (string | [string, ...(string)[]])
1288
+ } | {
1289
+ from: "package"
1290
+ name: (string | [string, ...(string)[]])
1291
+ package: string
1292
+ })[]
1293
+
1294
+ checkThenables?: boolean
1295
+
1296
+ ignoreIIFE?: boolean
1297
+
1298
+ ignoreVoid?: boolean
1299
+ }]
1300
+ // ----- ts/no-inferrable-types -----
1301
+ type TsNoInferrableTypes = []|[{
1302
+
1303
+ ignoreParameters?: boolean
1304
+
1305
+ ignoreProperties?: boolean
1306
+ }]
1307
+ // ----- ts/no-invalid-this -----
1308
+ type TsNoInvalidThis = []|[{
1309
+ capIsConstructor?: boolean
1310
+ }]
1311
+ // ----- ts/no-invalid-void-type -----
1312
+ type TsNoInvalidVoidType = []|[{
1313
+
1314
+ allowAsThisParameter?: boolean
1315
+
1316
+ allowInGenericTypeArguments?: (boolean | [string, ...(string)[]])
1317
+ }]
1318
+ // ----- ts/no-magic-numbers -----
1319
+ type TsNoMagicNumbers = []|[{
1320
+ detectObjects?: boolean
1321
+ enforceConst?: boolean
1322
+ ignore?: (number | string)[]
1323
+ ignoreArrayIndexes?: boolean
1324
+ ignoreDefaultValues?: boolean
1325
+ ignoreClassFieldInitialValues?: boolean
1326
+
1327
+ ignoreEnums?: boolean
1328
+
1329
+ ignoreNumericLiteralTypes?: boolean
1330
+
1331
+ ignoreReadonlyClassProperties?: boolean
1332
+
1333
+ ignoreTypeIndexes?: boolean
1334
+ }]
1335
+ // ----- ts/no-meaningless-void-operator -----
1336
+ type TsNoMeaninglessVoidOperator = []|[{
1337
+
1338
+ checkNever?: boolean
1339
+ }]
1340
+ // ----- ts/no-misused-promises -----
1341
+ type TsNoMisusedPromises = []|[{
1342
+
1343
+ checksConditionals?: boolean
1344
+
1345
+ checksSpreads?: boolean
1346
+
1347
+ checksVoidReturn?: (boolean | {
1348
+
1349
+ arguments?: boolean
1350
+
1351
+ attributes?: boolean
1352
+
1353
+ inheritedMethods?: boolean
1354
+
1355
+ properties?: boolean
1356
+
1357
+ returns?: boolean
1358
+
1359
+ variables?: boolean
1360
+ })
1361
+ }]
1362
+ // ----- ts/no-misused-spread -----
1363
+ type TsNoMisusedSpread = []|[{
1364
+
1365
+ allow?: (string | {
1366
+ from: "file"
1367
+ name: (string | [string, ...(string)[]])
1368
+ path?: string
1369
+ } | {
1370
+ from: "lib"
1371
+ name: (string | [string, ...(string)[]])
1372
+ } | {
1373
+ from: "package"
1374
+ name: (string | [string, ...(string)[]])
1375
+ package: string
1376
+ })[]
1377
+ }]
1378
+ // ----- ts/no-namespace -----
1379
+ type TsNoNamespace = []|[{
1380
+
1381
+ allowDeclarations?: boolean
1382
+
1383
+ allowDefinitionFiles?: boolean
1384
+ }]
1385
+ // ----- ts/no-redeclare -----
1386
+ type TsNoRedeclare = []|[{
1387
+
1388
+ builtinGlobals?: boolean
1389
+
1390
+ ignoreDeclarationMerge?: boolean
1391
+ }]
1392
+ // ----- ts/no-require-imports -----
1393
+ type TsNoRequireImports = []|[{
1394
+
1395
+ allow?: string[]
1396
+
1397
+ allowAsImport?: boolean
1398
+ }]
1399
+ // ----- ts/no-restricted-imports -----
1400
+ type TsNoRestrictedImports = ((string | {
1401
+ name: string
1402
+ message?: string
1403
+ importNames?: string[]
1404
+ allowImportNames?: string[]
1405
+
1406
+ allowTypeImports?: boolean
1407
+ })[] | []|[{
1408
+ paths?: (string | {
1409
+ name: string
1410
+ message?: string
1411
+ importNames?: string[]
1412
+ allowImportNames?: string[]
1413
+
1414
+ allowTypeImports?: boolean
1415
+ })[]
1416
+ patterns?: (string[] | {
1417
+
1418
+ importNames?: [string, ...(string)[]]
1419
+
1420
+ allowImportNames?: [string, ...(string)[]]
1421
+
1422
+ group?: [string, ...(string)[]]
1423
+ regex?: string
1424
+ importNamePattern?: string
1425
+ allowImportNamePattern?: string
1426
+ message?: string
1427
+ caseSensitive?: boolean
1428
+
1429
+ allowTypeImports?: boolean
1430
+ }[])
1431
+ }])
1432
+ // ----- ts/no-restricted-types -----
1433
+ type TsNoRestrictedTypes = []|[{
1434
+
1435
+ types?: {
1436
+ [k: string]: (true | string | {
1437
+
1438
+ fixWith?: string
1439
+
1440
+ message?: string
1441
+
1442
+ suggest?: string[]
1443
+ }) | undefined
1444
+ }
1445
+ }]
1446
+ // ----- ts/no-shadow -----
1447
+ type TsNoShadow = []|[{
1448
+
1449
+ allow?: string[]
1450
+
1451
+ builtinGlobals?: boolean
1452
+
1453
+ hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types")
1454
+
1455
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
1456
+
1457
+ ignoreOnInitialization?: boolean
1458
+
1459
+ ignoreTypeValueShadow?: boolean
1460
+ }]
1461
+ // ----- ts/no-this-alias -----
1462
+ type TsNoThisAlias = []|[{
1463
+
1464
+ allowDestructuring?: boolean
1465
+
1466
+ allowedNames?: string[]
1467
+ }]
1468
+ // ----- ts/no-type-alias -----
1469
+ type TsNoTypeAlias = []|[{
1470
+
1471
+ allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
1472
+
1473
+ allowCallbacks?: ("always" | "never")
1474
+
1475
+ allowConditionalTypes?: ("always" | "never")
1476
+
1477
+ allowConstructors?: ("always" | "never")
1478
+
1479
+ allowGenerics?: ("always" | "never")
1480
+
1481
+ allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
1482
+
1483
+ allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
1484
+
1485
+ allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
1486
+ }]
1487
+ // ----- ts/no-unnecessary-boolean-literal-compare -----
1488
+ type TsNoUnnecessaryBooleanLiteralCompare = []|[{
1489
+
1490
+ allowComparingNullableBooleansToFalse?: boolean
1491
+
1492
+ allowComparingNullableBooleansToTrue?: boolean
1493
+
1494
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
1495
+ }]
1496
+ // ----- ts/no-unnecessary-condition -----
1497
+ type TsNoUnnecessaryCondition = []|[{
1498
+
1499
+ allowConstantLoopConditions?: (boolean | ("always" | "never" | "only-allowed-literals"))
1500
+
1501
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
1502
+
1503
+ checkTypePredicates?: boolean
1504
+ }]
1505
+ // ----- ts/no-unnecessary-type-assertion -----
1506
+ type TsNoUnnecessaryTypeAssertion = []|[{
1507
+
1508
+ checkLiteralConstAssertions?: boolean
1509
+
1510
+ typesToIgnore?: string[]
1511
+ }]
1512
+ // ----- ts/no-unsafe-member-access -----
1513
+ type TsNoUnsafeMemberAccess = []|[{
1514
+
1515
+ allowOptionalChaining?: boolean
1516
+ }]
1517
+ // ----- ts/no-unused-expressions -----
1518
+ type TsNoUnusedExpressions = []|[{
1519
+ allowShortCircuit?: boolean
1520
+ allowTernary?: boolean
1521
+ allowTaggedTemplates?: boolean
1522
+ enforceForJSX?: boolean
1523
+ ignoreDirectives?: boolean
1524
+ }]
1525
+ // ----- ts/no-unused-vars -----
1526
+ type TsNoUnusedVars = []|[(("all" | "local") | {
1527
+
1528
+ args?: ("all" | "after-used" | "none")
1529
+
1530
+ argsIgnorePattern?: string
1531
+
1532
+ caughtErrors?: ("all" | "none")
1533
+
1534
+ caughtErrorsIgnorePattern?: string
1535
+
1536
+ destructuredArrayIgnorePattern?: string
1537
+
1538
+ ignoreClassWithStaticInitBlock?: boolean
1539
+
1540
+ ignoreRestSiblings?: boolean
1541
+
1542
+ ignoreUsingDeclarations?: boolean
1543
+
1544
+ reportUsedIgnorePattern?: boolean
1545
+
1546
+ vars?: ("all" | "local")
1547
+
1548
+ varsIgnorePattern?: string
1549
+ })]
1550
+ // ----- ts/no-use-before-define -----
1551
+ type TsNoUseBeforeDefine = []|[("nofunc" | {
1552
+
1553
+ allowNamedExports?: boolean
1554
+
1555
+ classes?: boolean
1556
+
1557
+ enums?: boolean
1558
+
1559
+ functions?: boolean
1560
+
1561
+ ignoreTypeReferences?: boolean
1562
+
1563
+ typedefs?: boolean
1564
+
1565
+ variables?: boolean
1566
+ })]
1567
+ // ----- ts/no-var-requires -----
1568
+ type TsNoVarRequires = []|[{
1569
+
1570
+ allow?: string[]
1571
+ }]
1572
+ // ----- ts/only-throw-error -----
1573
+ type TsOnlyThrowError = []|[{
1574
+
1575
+ allow?: (string | {
1576
+ from: "file"
1577
+ name: (string | [string, ...(string)[]])
1578
+ path?: string
1579
+ } | {
1580
+ from: "lib"
1581
+ name: (string | [string, ...(string)[]])
1582
+ } | {
1583
+ from: "package"
1584
+ name: (string | [string, ...(string)[]])
1585
+ package: string
1586
+ })[]
1587
+
1588
+ allowRethrowing?: boolean
1589
+
1590
+ allowThrowingAny?: boolean
1591
+
1592
+ allowThrowingUnknown?: boolean
1593
+ }]
1594
+ // ----- ts/parameter-properties -----
1595
+ type TsParameterProperties = []|[{
1596
+
1597
+ allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[]
1598
+
1599
+ prefer?: ("class-property" | "parameter-property")
1600
+ }]
1601
+ // ----- ts/prefer-destructuring -----
1602
+ type TsPreferDestructuring = []|[({
1603
+ AssignmentExpression?: {
1604
+ array?: boolean
1605
+ object?: boolean
1606
+ }
1607
+ VariableDeclarator?: {
1608
+ array?: boolean
1609
+ object?: boolean
1610
+ }
1611
+ } | {
1612
+ array?: boolean
1613
+ object?: boolean
1614
+ })]|[({
1615
+ AssignmentExpression?: {
1616
+ array?: boolean
1617
+ object?: boolean
1618
+ }
1619
+ VariableDeclarator?: {
1620
+ array?: boolean
1621
+ object?: boolean
1622
+ }
1623
+ } | {
1624
+ array?: boolean
1625
+ object?: boolean
1626
+ }), {
1627
+
1628
+ enforceForDeclarationWithTypeAnnotation?: boolean
1629
+
1630
+ enforceForRenamedProperties?: boolean
1631
+ }]
1632
+ // ----- ts/prefer-literal-enum-member -----
1633
+ type TsPreferLiteralEnumMember = []|[{
1634
+
1635
+ allowBitwiseExpressions?: boolean
1636
+ }]
1637
+ // ----- ts/prefer-nullish-coalescing -----
1638
+ type TsPreferNullishCoalescing = []|[{
1639
+
1640
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
1641
+
1642
+ ignoreBooleanCoercion?: boolean
1643
+
1644
+ ignoreConditionalTests?: boolean
1645
+
1646
+ ignoreIfStatements?: boolean
1647
+
1648
+ ignoreMixedLogicalExpressions?: boolean
1649
+
1650
+ ignorePrimitives?: ({
1651
+
1652
+ bigint?: boolean
1653
+
1654
+ boolean?: boolean
1655
+
1656
+ number?: boolean
1657
+
1658
+ string?: boolean
1659
+ } | true)
1660
+
1661
+ ignoreTernaryTests?: boolean
1662
+ }]
1663
+ // ----- ts/prefer-optional-chain -----
1664
+ type TsPreferOptionalChain = []|[{
1665
+
1666
+ allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean
1667
+
1668
+ checkAny?: boolean
1669
+
1670
+ checkBigInt?: boolean
1671
+
1672
+ checkBoolean?: boolean
1673
+
1674
+ checkNumber?: boolean
1675
+
1676
+ checkString?: boolean
1677
+
1678
+ checkUnknown?: boolean
1679
+
1680
+ requireNullish?: boolean
1681
+ }]
1682
+ // ----- ts/prefer-promise-reject-errors -----
1683
+ type TsPreferPromiseRejectErrors = []|[{
1684
+
1685
+ allowEmptyReject?: boolean
1686
+
1687
+ allowThrowingAny?: boolean
1688
+
1689
+ allowThrowingUnknown?: boolean
1690
+ }]
1691
+ // ----- ts/prefer-readonly -----
1692
+ type TsPreferReadonly = []|[{
1693
+
1694
+ onlyInlineLambdas?: boolean
1695
+ }]
1696
+ // ----- ts/prefer-readonly-parameter-types -----
1697
+ type TsPreferReadonlyParameterTypes = []|[{
1698
+
1699
+ allow?: (string | {
1700
+ from: "file"
1701
+ name: (string | [string, ...(string)[]])
1702
+ path?: string
1703
+ } | {
1704
+ from: "lib"
1705
+ name: (string | [string, ...(string)[]])
1706
+ } | {
1707
+ from: "package"
1708
+ name: (string | [string, ...(string)[]])
1709
+ package: string
1710
+ })[]
1711
+
1712
+ checkParameterProperties?: boolean
1713
+
1714
+ ignoreInferredTypes?: boolean
1715
+
1716
+ treatMethodsAsReadonly?: boolean
1717
+ }]
1718
+ // ----- ts/prefer-string-starts-ends-with -----
1719
+ type TsPreferStringStartsEndsWith = []|[{
1720
+
1721
+ allowSingleElementEquality?: ("always" | "never")
1722
+ }]
1723
+ // ----- ts/promise-function-async -----
1724
+ type TsPromiseFunctionAsync = []|[{
1725
+
1726
+ allowAny?: boolean
1727
+
1728
+ allowedPromiseNames?: string[]
1729
+
1730
+ checkArrowFunctions?: boolean
1731
+
1732
+ checkFunctionDeclarations?: boolean
1733
+
1734
+ checkFunctionExpressions?: boolean
1735
+
1736
+ checkMethodDeclarations?: boolean
1737
+ }]
1738
+ // ----- ts/require-array-sort-compare -----
1739
+ type TsRequireArraySortCompare = []|[{
1740
+
1741
+ ignoreStringArrays?: boolean
1742
+ }]
1743
+ // ----- ts/restrict-plus-operands -----
1744
+ type TsRestrictPlusOperands = []|[{
1745
+
1746
+ allowAny?: boolean
1747
+
1748
+ allowBoolean?: boolean
1749
+
1750
+ allowNullish?: boolean
1751
+
1752
+ allowNumberAndString?: boolean
1753
+
1754
+ allowRegExp?: boolean
1755
+
1756
+ skipCompoundAssignments?: boolean
1757
+ }]
1758
+ // ----- ts/restrict-template-expressions -----
1759
+ type TsRestrictTemplateExpressions = []|[{
1760
+
1761
+ allowAny?: boolean
1762
+
1763
+ allowArray?: boolean
1764
+
1765
+ allowBoolean?: boolean
1766
+
1767
+ allowNullish?: boolean
1768
+
1769
+ allowNumber?: boolean
1770
+
1771
+ allowRegExp?: boolean
1772
+
1773
+ allowNever?: boolean
1774
+
1775
+ allow?: (string | {
1776
+ from: "file"
1777
+ name: (string | [string, ...(string)[]])
1778
+ path?: string
1779
+ } | {
1780
+ from: "lib"
1781
+ name: (string | [string, ...(string)[]])
1782
+ } | {
1783
+ from: "package"
1784
+ name: (string | [string, ...(string)[]])
1785
+ package: string
1786
+ })[]
1787
+ }]
1788
+ // ----- ts/return-await -----
1789
+ type TsReturnAwait = []|[(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)]
1790
+ // ----- ts/sort-type-constituents -----
1791
+ type TsSortTypeConstituents = []|[{
1792
+
1793
+ caseSensitive?: boolean
1794
+
1795
+ checkIntersections?: boolean
1796
+
1797
+ checkUnions?: boolean
1798
+
1799
+ groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[]
1800
+ }]
1801
+ // ----- ts/strict-boolean-expressions -----
1802
+ type TsStrictBooleanExpressions = []|[{
1803
+
1804
+ allowAny?: boolean
1805
+
1806
+ allowNullableBoolean?: boolean
1807
+
1808
+ allowNullableEnum?: boolean
1809
+
1810
+ allowNullableNumber?: boolean
1811
+
1812
+ allowNullableObject?: boolean
1813
+
1814
+ allowNullableString?: boolean
1815
+
1816
+ allowNumber?: boolean
1817
+
1818
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
1819
+
1820
+ allowString?: boolean
1821
+ }]
1822
+ // ----- ts/switch-exhaustiveness-check -----
1823
+ type TsSwitchExhaustivenessCheck = []|[{
1824
+
1825
+ allowDefaultCaseForExhaustiveSwitch?: boolean
1826
+
1827
+ considerDefaultExhaustiveForUnions?: boolean
1828
+
1829
+ defaultCaseCommentPattern?: string
1830
+
1831
+ requireDefaultForNonUnion?: boolean
1832
+ }]
1833
+ // ----- ts/triple-slash-reference -----
1834
+ type TsTripleSlashReference = []|[{
1835
+
1836
+ lib?: ("always" | "never")
1837
+
1838
+ path?: ("always" | "never")
1839
+
1840
+ types?: ("always" | "never" | "prefer-import")
1841
+ }]
1842
+ // ----- ts/typedef -----
1843
+ type TsTypedef = []|[{
1844
+
1845
+ arrayDestructuring?: boolean
1846
+
1847
+ arrowParameter?: boolean
1848
+
1849
+ memberVariableDeclaration?: boolean
1850
+
1851
+ objectDestructuring?: boolean
1852
+
1853
+ parameter?: boolean
1854
+
1855
+ propertyDeclaration?: boolean
1856
+
1857
+ variableDeclaration?: boolean
1858
+
1859
+ variableDeclarationIgnoreFunction?: boolean
1860
+ }]
1861
+ // ----- ts/unbound-method -----
1862
+ type TsUnboundMethod = []|[{
1863
+
1864
+ ignoreStatic?: boolean
1865
+ }]
1866
+ // ----- ts/unified-signatures -----
1867
+ type TsUnifiedSignatures = []|[{
1868
+
1869
+ ignoreDifferentlyNamedParameters?: boolean
1870
+
1871
+ ignoreOverloadsWithDifferentJSDoc?: boolean
1872
+ }]