eslint-config-typed 3.13.3 → 3.13.4

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 (96) hide show
  1. package/dist/rules/typescript-eslint-rules.d.mts +1 -0
  2. package/dist/rules/typescript-eslint-rules.d.mts.map +1 -1
  3. package/dist/rules/typescript-eslint-rules.mjs +1 -0
  4. package/dist/rules/typescript-eslint-rules.mjs.map +1 -1
  5. package/dist/types/rules/eslint-array-func-rules.d.mts +8 -8
  6. package/dist/types/rules/eslint-array-func-rules.d.mts.map +1 -1
  7. package/dist/types/rules/eslint-cypress-rules.d.mts +27 -23
  8. package/dist/types/rules/eslint-cypress-rules.d.mts.map +1 -1
  9. package/dist/types/rules/eslint-functional-rules.d.mts +426 -425
  10. package/dist/types/rules/eslint-functional-rules.d.mts.map +1 -1
  11. package/dist/types/rules/eslint-import-rules.d.mts +343 -325
  12. package/dist/types/rules/eslint-import-rules.d.mts.map +1 -1
  13. package/dist/types/rules/eslint-jest-rules.d.mts +183 -171
  14. package/dist/types/rules/eslint-jest-rules.d.mts.map +1 -1
  15. package/dist/types/rules/eslint-jsx-a11y-rules.d.mts +211 -209
  16. package/dist/types/rules/eslint-jsx-a11y-rules.d.mts.map +1 -1
  17. package/dist/types/rules/eslint-math-rules.d.mts +49 -48
  18. package/dist/types/rules/eslint-math-rules.d.mts.map +1 -1
  19. package/dist/types/rules/eslint-n-rules.d.mts +296 -293
  20. package/dist/types/rules/eslint-n-rules.d.mts.map +1 -1
  21. package/dist/types/rules/eslint-playwright-rules.d.mts +161 -149
  22. package/dist/types/rules/eslint-playwright-rules.d.mts.map +1 -1
  23. package/dist/types/rules/eslint-plugin-rules.d.mts +95 -85
  24. package/dist/types/rules/eslint-plugin-rules.d.mts.map +1 -1
  25. package/dist/types/rules/eslint-plugin-sort-destructure-keys-rules.d.mts +10 -10
  26. package/dist/types/rules/eslint-plugin-sort-destructure-keys-rules.d.mts.map +1 -1
  27. package/dist/types/rules/eslint-prefer-arrow-functions-rules.d.mts +23 -16
  28. package/dist/types/rules/eslint-prefer-arrow-functions-rules.d.mts.map +1 -1
  29. package/dist/types/rules/eslint-promise-rules.d.mts +68 -68
  30. package/dist/types/rules/eslint-promise-rules.d.mts.map +1 -1
  31. package/dist/types/rules/eslint-react-coding-style-rules.d.mts +29 -29
  32. package/dist/types/rules/eslint-react-coding-style-rules.d.mts.map +1 -1
  33. package/dist/types/rules/eslint-react-hooks-rules.d.mts +100 -100
  34. package/dist/types/rules/eslint-react-hooks-rules.d.mts.map +1 -1
  35. package/dist/types/rules/eslint-react-perf-rules.d.mts +28 -28
  36. package/dist/types/rules/eslint-react-perf-rules.d.mts.map +1 -1
  37. package/dist/types/rules/eslint-react-refresh-rules.d.mts +13 -13
  38. package/dist/types/rules/eslint-react-refresh-rules.d.mts.map +1 -1
  39. package/dist/types/rules/eslint-react-rules.d.mts +646 -620
  40. package/dist/types/rules/eslint-react-rules.d.mts.map +1 -1
  41. package/dist/types/rules/eslint-rules.d.mts +1022 -1016
  42. package/dist/types/rules/eslint-rules.d.mts.map +1 -1
  43. package/dist/types/rules/eslint-security-rules.d.mts +16 -16
  44. package/dist/types/rules/eslint-security-rules.d.mts.map +1 -1
  45. package/dist/types/rules/eslint-strict-dependencies-rules.d.mts +18 -18
  46. package/dist/types/rules/eslint-strict-dependencies-rules.d.mts.map +1 -1
  47. package/dist/types/rules/eslint-stylistic-rules.d.mts +1440 -1400
  48. package/dist/types/rules/eslint-stylistic-rules.d.mts.map +1 -1
  49. package/dist/types/rules/eslint-testing-library-rules.d.mts +110 -105
  50. package/dist/types/rules/eslint-testing-library-rules.d.mts.map +1 -1
  51. package/dist/types/rules/eslint-total-functions-rules.d.mts +16 -16
  52. package/dist/types/rules/eslint-total-functions-rules.d.mts.map +1 -1
  53. package/dist/types/rules/eslint-tree-shakable-rules.d.mts +3 -3
  54. package/dist/types/rules/eslint-tree-shakable-rules.d.mts.map +1 -1
  55. package/dist/types/rules/eslint-ts-restrictions-rules.d.mts +30 -30
  56. package/dist/types/rules/eslint-ts-restrictions-rules.d.mts.map +1 -1
  57. package/dist/types/rules/eslint-unicorn-rules.d.mts +398 -392
  58. package/dist/types/rules/eslint-unicorn-rules.d.mts.map +1 -1
  59. package/dist/types/rules/eslint-vitest-coding-style-rules.d.mts +3 -3
  60. package/dist/types/rules/eslint-vitest-coding-style-rules.d.mts.map +1 -1
  61. package/dist/types/rules/eslint-vitest-rules.d.mts +204 -190
  62. package/dist/types/rules/eslint-vitest-rules.d.mts.map +1 -1
  63. package/dist/types/rules/typescript-eslint-rules.d.mts +1107 -1077
  64. package/dist/types/rules/typescript-eslint-rules.d.mts.map +1 -1
  65. package/package.json +23 -23
  66. package/src/rules/typescript-eslint-rules.mts +2 -0
  67. package/src/types/rules/eslint-array-func-rules.mts +8 -8
  68. package/src/types/rules/eslint-cypress-rules.mts +28 -24
  69. package/src/types/rules/eslint-functional-rules.mts +581 -576
  70. package/src/types/rules/eslint-import-rules.mts +403 -384
  71. package/src/types/rules/eslint-jest-rules.mts +212 -196
  72. package/src/types/rules/eslint-jsx-a11y-rules.mts +252 -250
  73. package/src/types/rules/eslint-math-rules.mts +53 -52
  74. package/src/types/rules/eslint-n-rules.mts +1762 -1757
  75. package/src/types/rules/eslint-playwright-rules.mts +187 -171
  76. package/src/types/rules/eslint-plugin-rules.mts +109 -99
  77. package/src/types/rules/eslint-plugin-sort-destructure-keys-rules.mts +11 -11
  78. package/src/types/rules/eslint-prefer-arrow-functions-rules.mts +24 -17
  79. package/src/types/rules/eslint-promise-rules.mts +76 -76
  80. package/src/types/rules/eslint-react-coding-style-rules.mts +32 -32
  81. package/src/types/rules/eslint-react-hooks-rules.mts +129 -129
  82. package/src/types/rules/eslint-react-perf-rules.mts +32 -32
  83. package/src/types/rules/eslint-react-refresh-rules.mts +14 -14
  84. package/src/types/rules/eslint-react-rules.mts +787 -792
  85. package/src/types/rules/eslint-rules.mts +1180 -1173
  86. package/src/types/rules/eslint-security-rules.mts +16 -16
  87. package/src/types/rules/eslint-strict-dependencies-rules.mts +19 -19
  88. package/src/types/rules/eslint-stylistic-rules.mts +1767 -1807
  89. package/src/types/rules/eslint-testing-library-rules.mts +128 -124
  90. package/src/types/rules/eslint-total-functions-rules.mts +16 -16
  91. package/src/types/rules/eslint-tree-shakable-rules.mts +3 -3
  92. package/src/types/rules/eslint-ts-restrictions-rules.mts +34 -33
  93. package/src/types/rules/eslint-unicorn-rules.mts +447 -436
  94. package/src/types/rules/eslint-vitest-coding-style-rules.mts +3 -3
  95. package/src/types/rules/eslint-vitest-rules.mts +232 -219
  96. package/src/types/rules/typescript-eslint-rules.mts +1511 -1489
@@ -50,11 +50,11 @@ declare namespace ArrayBracketNewline {
50
50
  * ]
51
51
  * ```
52
52
  */
53
- type Options = 'always' | 'consistent' | 'never' | {
54
- readonly multiline?: boolean;
55
- readonly minItems?: number | null;
56
- };
57
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
53
+ type Options = ('always' | 'never' | 'consistent') | Readonly<{
54
+ multiline?: boolean;
55
+ minItems?: number | null;
56
+ }>;
57
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
58
58
  }
59
59
  /**
60
60
  * Enforce consistent spacing inside array brackets
@@ -101,12 +101,12 @@ declare namespace ArrayBracketSpacing {
101
101
  * ```
102
102
  */
103
103
  type Options0 = 'always' | 'never';
104
- type Options1 = {
105
- readonly singleValue?: boolean;
106
- readonly objectsInArrays?: boolean;
107
- readonly arraysInArrays?: boolean;
108
- };
109
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
104
+ type Options1 = Readonly<{
105
+ singleValue?: boolean;
106
+ objectsInArrays?: boolean;
107
+ arraysInArrays?: boolean;
108
+ }>;
109
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
110
110
  }
111
111
  /**
112
112
  * Enforce line breaks after each array element
@@ -179,18 +179,18 @@ declare namespace ArrayElementNewline {
179
179
  * }
180
180
  * ```
181
181
  */
182
- type Options = readonly [
183
- BasicConfig | {
184
- readonly ArrayExpression?: BasicConfig;
185
- readonly ArrayPattern?: BasicConfig;
186
- }
187
- ] | readonly [];
188
- type BasicConfig = 'always' | 'consistent' | 'never' | {
189
- readonly consistent?: boolean;
190
- readonly multiline?: boolean;
191
- readonly minItems?: number | null;
192
- };
193
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
182
+ type Options = readonly [] | readonly [
183
+ BasicConfig | Readonly<{
184
+ ArrayExpression?: BasicConfig;
185
+ ArrayPattern?: BasicConfig;
186
+ }>
187
+ ];
188
+ type BasicConfig = ('always' | 'never' | 'consistent') | Readonly<{
189
+ consistent?: boolean;
190
+ multiline?: boolean;
191
+ minItems?: number | null;
192
+ }>;
193
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
194
194
  }
195
195
  /**
196
196
  * Require parentheses around arrow function arguments
@@ -232,10 +232,11 @@ declare namespace ArrowParens {
232
232
  * ```
233
233
  */
234
234
  type Options0 = 'always' | 'as-needed';
235
- type Options1 = {
236
- readonly requireForBlockBody?: boolean;
237
- };
238
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
235
+ type Options1 = Readonly<{
236
+ /** @default false */
237
+ requireForBlockBody?: boolean;
238
+ }>;
239
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
239
240
  }
240
241
  /**
241
242
  * Enforce consistent spacing before and after the arrow in arrow functions
@@ -273,11 +274,13 @@ declare namespace ArrowSpacing {
273
274
  * ]
274
275
  * ```
275
276
  */
276
- type Options = {
277
- readonly before?: boolean;
278
- readonly after?: boolean;
279
- };
280
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
277
+ type Options = Readonly<{
278
+ /** @default true */
279
+ before?: boolean;
280
+ /** @default true */
281
+ after?: boolean;
282
+ }>;
283
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
281
284
  }
282
285
  /**
283
286
  * Disallow or enforce spaces inside of blocks after opening block and before
@@ -310,7 +313,7 @@ declare namespace BlockSpacing {
310
313
  * ```
311
314
  */
312
315
  type Options = 'always' | 'never';
313
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
316
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
314
317
  }
315
318
  /**
316
319
  * Enforce consistent brace style for blocks
@@ -352,11 +355,12 @@ declare namespace BraceStyle {
352
355
  * ]
353
356
  * ```
354
357
  */
355
- type Options0 = '1tbs' | 'allman' | 'stroustrup';
356
- type Options1 = {
357
- readonly allowSingleLine?: boolean;
358
- };
359
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
358
+ type Options0 = '1tbs' | 'stroustrup' | 'allman';
359
+ type Options1 = Readonly<{
360
+ /** @default false */
361
+ allowSingleLine?: boolean;
362
+ }>;
363
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
360
364
  }
361
365
  /**
362
366
  * Require or disallow trailing commas
@@ -443,23 +447,23 @@ declare namespace CommaDangle {
443
447
  * }
444
448
  * ```
445
449
  */
446
- type Options = readonly [
447
- Value | {
448
- readonly arrays?: ValueWithIgnore;
449
- readonly objects?: ValueWithIgnore;
450
- readonly imports?: ValueWithIgnore;
451
- readonly exports?: ValueWithIgnore;
452
- readonly functions?: ValueWithIgnore;
453
- readonly importAttributes?: ValueWithIgnore;
454
- readonly dynamicImports?: ValueWithIgnore;
455
- readonly enums?: ValueWithIgnore;
456
- readonly generics?: ValueWithIgnore;
457
- readonly tuples?: ValueWithIgnore;
458
- }
459
- ] | readonly [];
450
+ type Options = readonly [] | readonly [
451
+ Value | Readonly<{
452
+ arrays?: ValueWithIgnore;
453
+ objects?: ValueWithIgnore;
454
+ imports?: ValueWithIgnore;
455
+ exports?: ValueWithIgnore;
456
+ functions?: ValueWithIgnore;
457
+ importAttributes?: ValueWithIgnore;
458
+ dynamicImports?: ValueWithIgnore;
459
+ enums?: ValueWithIgnore;
460
+ generics?: ValueWithIgnore;
461
+ tuples?: ValueWithIgnore;
462
+ }>
463
+ ];
460
464
  type Value = 'always-multiline' | 'always' | 'never' | 'only-multiline';
461
- type ValueWithIgnore = 'always-multiline' | 'always' | 'ignore' | 'never' | 'only-multiline';
462
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
465
+ type ValueWithIgnore = 'always-multiline' | 'always' | 'never' | 'only-multiline' | 'ignore';
466
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
463
467
  }
464
468
  /**
465
469
  * Enforce consistent spacing before and after commas
@@ -497,11 +501,13 @@ declare namespace CommaSpacing {
497
501
  * ]
498
502
  * ```
499
503
  */
500
- type Options = {
501
- readonly before?: boolean;
502
- readonly after?: boolean;
503
- };
504
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
504
+ type Options = Readonly<{
505
+ /** @default false */
506
+ before?: boolean;
507
+ /** @default true */
508
+ after?: boolean;
509
+ }>;
510
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
505
511
  }
506
512
  /**
507
513
  * Enforce consistent comma style
@@ -545,10 +551,10 @@ declare namespace CommaStyle {
545
551
  * ```
546
552
  */
547
553
  type Options0 = 'first' | 'last';
548
- type Options1 = {
549
- readonly exceptions?: Record<string, boolean>;
550
- };
551
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
554
+ type Options1 = Readonly<{
555
+ exceptions?: Readonly<Record<string, boolean>>;
556
+ }>;
557
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
552
558
  }
553
559
  /**
554
560
  * Enforce consistent spacing inside computed property brackets
@@ -590,10 +596,11 @@ declare namespace ComputedPropertySpacing {
590
596
  * ```
591
597
  */
592
598
  type Options0 = 'always' | 'never';
593
- type Options1 = {
594
- readonly enforceForClassMembers?: boolean;
595
- };
596
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
599
+ type Options1 = Readonly<{
600
+ /** @default true */
601
+ enforceForClassMembers?: boolean;
602
+ }>;
603
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
597
604
  }
598
605
  /**
599
606
  * Enforce consistent line breaks after opening and before closing braces
@@ -1211,117 +1218,117 @@ declare namespace CurlyNewline {
1211
1218
  * ]
1212
1219
  * ```
1213
1220
  */
1214
- type Options = 'always' | 'never' | {
1215
- readonly IfStatementConsequent?: 'always' | 'never' | {
1216
- readonly multiline?: boolean;
1217
- readonly minElements?: number;
1218
- readonly consistent?: boolean;
1219
- };
1220
- readonly IfStatementAlternative?: 'always' | 'never' | {
1221
- readonly multiline?: boolean;
1222
- readonly minElements?: number;
1223
- readonly consistent?: boolean;
1224
- };
1225
- readonly DoWhileStatement?: 'always' | 'never' | {
1226
- readonly multiline?: boolean;
1227
- readonly minElements?: number;
1228
- readonly consistent?: boolean;
1229
- };
1230
- readonly ForInStatement?: 'always' | 'never' | {
1231
- readonly multiline?: boolean;
1232
- readonly minElements?: number;
1233
- readonly consistent?: boolean;
1234
- };
1235
- readonly ForOfStatement?: 'always' | 'never' | {
1236
- readonly multiline?: boolean;
1237
- readonly minElements?: number;
1238
- readonly consistent?: boolean;
1239
- };
1240
- readonly ForStatement?: 'always' | 'never' | {
1241
- readonly multiline?: boolean;
1242
- readonly minElements?: number;
1243
- readonly consistent?: boolean;
1244
- };
1245
- readonly WhileStatement?: 'always' | 'never' | {
1246
- readonly multiline?: boolean;
1247
- readonly minElements?: number;
1248
- readonly consistent?: boolean;
1249
- };
1250
- readonly SwitchStatement?: 'always' | 'never' | {
1251
- readonly multiline?: boolean;
1252
- readonly minElements?: number;
1253
- readonly consistent?: boolean;
1254
- };
1255
- readonly SwitchCase?: 'always' | 'never' | {
1256
- readonly multiline?: boolean;
1257
- readonly minElements?: number;
1258
- readonly consistent?: boolean;
1259
- };
1260
- readonly TryStatementBlock?: 'always' | 'never' | {
1261
- readonly multiline?: boolean;
1262
- readonly minElements?: number;
1263
- readonly consistent?: boolean;
1264
- };
1265
- readonly TryStatementHandler?: 'always' | 'never' | {
1266
- readonly multiline?: boolean;
1267
- readonly minElements?: number;
1268
- readonly consistent?: boolean;
1269
- };
1270
- readonly TryStatementFinalizer?: 'always' | 'never' | {
1271
- readonly multiline?: boolean;
1272
- readonly minElements?: number;
1273
- readonly consistent?: boolean;
1274
- };
1275
- readonly BlockStatement?: 'always' | 'never' | {
1276
- readonly multiline?: boolean;
1277
- readonly minElements?: number;
1278
- readonly consistent?: boolean;
1279
- };
1280
- readonly ArrowFunctionExpression?: 'always' | 'never' | {
1281
- readonly multiline?: boolean;
1282
- readonly minElements?: number;
1283
- readonly consistent?: boolean;
1284
- };
1285
- readonly FunctionDeclaration?: 'always' | 'never' | {
1286
- readonly multiline?: boolean;
1287
- readonly minElements?: number;
1288
- readonly consistent?: boolean;
1289
- };
1290
- readonly FunctionExpression?: 'always' | 'never' | {
1291
- readonly multiline?: boolean;
1292
- readonly minElements?: number;
1293
- readonly consistent?: boolean;
1294
- };
1295
- readonly Property?: 'always' | 'never' | {
1296
- readonly multiline?: boolean;
1297
- readonly minElements?: number;
1298
- readonly consistent?: boolean;
1299
- };
1300
- readonly ClassBody?: 'always' | 'never' | {
1301
- readonly multiline?: boolean;
1302
- readonly minElements?: number;
1303
- readonly consistent?: boolean;
1304
- };
1305
- readonly StaticBlock?: 'always' | 'never' | {
1306
- readonly multiline?: boolean;
1307
- readonly minElements?: number;
1308
- readonly consistent?: boolean;
1309
- };
1310
- readonly WithStatement?: 'always' | 'never' | {
1311
- readonly multiline?: boolean;
1312
- readonly minElements?: number;
1313
- readonly consistent?: boolean;
1314
- };
1315
- readonly TSModuleBlock?: 'always' | 'never' | {
1316
- readonly multiline?: boolean;
1317
- readonly minElements?: number;
1318
- readonly consistent?: boolean;
1319
- };
1320
- readonly multiline?: boolean;
1321
- readonly minElements?: number;
1322
- readonly consistent?: boolean;
1323
- };
1324
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1221
+ type Options = ('always' | 'never') | Readonly<{
1222
+ IfStatementConsequent?: ('always' | 'never') | Readonly<{
1223
+ multiline?: boolean;
1224
+ minElements?: number;
1225
+ consistent?: boolean;
1226
+ }>;
1227
+ IfStatementAlternative?: ('always' | 'never') | Readonly<{
1228
+ multiline?: boolean;
1229
+ minElements?: number;
1230
+ consistent?: boolean;
1231
+ }>;
1232
+ DoWhileStatement?: ('always' | 'never') | Readonly<{
1233
+ multiline?: boolean;
1234
+ minElements?: number;
1235
+ consistent?: boolean;
1236
+ }>;
1237
+ ForInStatement?: ('always' | 'never') | Readonly<{
1238
+ multiline?: boolean;
1239
+ minElements?: number;
1240
+ consistent?: boolean;
1241
+ }>;
1242
+ ForOfStatement?: ('always' | 'never') | Readonly<{
1243
+ multiline?: boolean;
1244
+ minElements?: number;
1245
+ consistent?: boolean;
1246
+ }>;
1247
+ ForStatement?: ('always' | 'never') | Readonly<{
1248
+ multiline?: boolean;
1249
+ minElements?: number;
1250
+ consistent?: boolean;
1251
+ }>;
1252
+ WhileStatement?: ('always' | 'never') | Readonly<{
1253
+ multiline?: boolean;
1254
+ minElements?: number;
1255
+ consistent?: boolean;
1256
+ }>;
1257
+ SwitchStatement?: ('always' | 'never') | Readonly<{
1258
+ multiline?: boolean;
1259
+ minElements?: number;
1260
+ consistent?: boolean;
1261
+ }>;
1262
+ SwitchCase?: ('always' | 'never') | Readonly<{
1263
+ multiline?: boolean;
1264
+ minElements?: number;
1265
+ consistent?: boolean;
1266
+ }>;
1267
+ TryStatementBlock?: ('always' | 'never') | Readonly<{
1268
+ multiline?: boolean;
1269
+ minElements?: number;
1270
+ consistent?: boolean;
1271
+ }>;
1272
+ TryStatementHandler?: ('always' | 'never') | Readonly<{
1273
+ multiline?: boolean;
1274
+ minElements?: number;
1275
+ consistent?: boolean;
1276
+ }>;
1277
+ TryStatementFinalizer?: ('always' | 'never') | Readonly<{
1278
+ multiline?: boolean;
1279
+ minElements?: number;
1280
+ consistent?: boolean;
1281
+ }>;
1282
+ BlockStatement?: ('always' | 'never') | Readonly<{
1283
+ multiline?: boolean;
1284
+ minElements?: number;
1285
+ consistent?: boolean;
1286
+ }>;
1287
+ ArrowFunctionExpression?: ('always' | 'never') | Readonly<{
1288
+ multiline?: boolean;
1289
+ minElements?: number;
1290
+ consistent?: boolean;
1291
+ }>;
1292
+ FunctionDeclaration?: ('always' | 'never') | Readonly<{
1293
+ multiline?: boolean;
1294
+ minElements?: number;
1295
+ consistent?: boolean;
1296
+ }>;
1297
+ FunctionExpression?: ('always' | 'never') | Readonly<{
1298
+ multiline?: boolean;
1299
+ minElements?: number;
1300
+ consistent?: boolean;
1301
+ }>;
1302
+ Property?: ('always' | 'never') | Readonly<{
1303
+ multiline?: boolean;
1304
+ minElements?: number;
1305
+ consistent?: boolean;
1306
+ }>;
1307
+ ClassBody?: ('always' | 'never') | Readonly<{
1308
+ multiline?: boolean;
1309
+ minElements?: number;
1310
+ consistent?: boolean;
1311
+ }>;
1312
+ StaticBlock?: ('always' | 'never') | Readonly<{
1313
+ multiline?: boolean;
1314
+ minElements?: number;
1315
+ consistent?: boolean;
1316
+ }>;
1317
+ WithStatement?: ('always' | 'never') | Readonly<{
1318
+ multiline?: boolean;
1319
+ minElements?: number;
1320
+ consistent?: boolean;
1321
+ }>;
1322
+ TSModuleBlock?: ('always' | 'never') | Readonly<{
1323
+ multiline?: boolean;
1324
+ minElements?: number;
1325
+ consistent?: boolean;
1326
+ }>;
1327
+ multiline?: boolean;
1328
+ minElements?: number;
1329
+ consistent?: boolean;
1330
+ }>;
1331
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1325
1332
  }
1326
1333
  /**
1327
1334
  * Enforce consistent newlines before and after dots
@@ -1353,7 +1360,7 @@ declare namespace DotLocation {
1353
1360
  * ```
1354
1361
  */
1355
1362
  type Options = 'object' | 'property';
1356
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1363
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1357
1364
  }
1358
1365
  /**
1359
1366
  * Require or disallow newline at the end of files
@@ -1387,7 +1394,7 @@ declare namespace EolLast {
1387
1394
  * ```
1388
1395
  */
1389
1396
  type Options = 'always' | 'never' | 'unix' | 'windows';
1390
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1397
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1391
1398
  }
1392
1399
  /**
1393
1400
  * Enforce line breaks between arguments of a function call
@@ -1419,8 +1426,8 @@ declare namespace FunctionCallArgumentNewline {
1419
1426
  * ]
1420
1427
  * ```
1421
1428
  */
1422
- type Options = 'always' | 'consistent' | 'never';
1423
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1429
+ type Options = 'always' | 'never' | 'consistent';
1430
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1424
1431
  }
1425
1432
  /**
1426
1433
  * Require or disallow spacing between function identifiers and their
@@ -1490,17 +1497,17 @@ declare namespace FunctionCallSpacing {
1490
1497
  * }
1491
1498
  * ```
1492
1499
  */
1493
- type Options = readonly [
1500
+ type Options = readonly [] | readonly ['never'] | readonly ['always'] | readonly [
1494
1501
  'always',
1495
- {
1496
- readonly allowNewlines?: boolean;
1497
- readonly optionalChain?: {
1498
- readonly before?: boolean;
1499
- readonly after?: boolean;
1500
- };
1501
- }
1502
- ] | readonly ['always'] | readonly ['never'] | readonly [];
1503
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1502
+ Readonly<{
1503
+ allowNewlines?: boolean;
1504
+ optionalChain?: Readonly<{
1505
+ before?: boolean;
1506
+ after?: boolean;
1507
+ }>;
1508
+ }>
1509
+ ];
1510
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1504
1511
  }
1505
1512
  /**
1506
1513
  * Enforce consistent line breaks inside function parentheses
@@ -1548,10 +1555,10 @@ declare namespace FunctionParenNewline {
1548
1555
  * ]
1549
1556
  * ```
1550
1557
  */
1551
- type Options = 'always' | 'consistent' | 'multiline-arguments' | 'multiline' | 'never' | {
1552
- readonly minItems?: number;
1553
- };
1554
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1558
+ type Options = ('always' | 'never' | 'consistent' | 'multiline' | 'multiline-arguments') | Readonly<{
1559
+ minItems?: number;
1560
+ }>;
1561
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1555
1562
  }
1556
1563
  /**
1557
1564
  * Enforce consistent spacing around `*` operators in generator functions
@@ -1700,27 +1707,27 @@ declare namespace GeneratorStarSpacing {
1700
1707
  * ]
1701
1708
  * ```
1702
1709
  */
1703
- type Options = 'after' | 'before' | 'both' | 'neither' | {
1704
- readonly before?: boolean;
1705
- readonly after?: boolean;
1706
- readonly named?: 'after' | 'before' | 'both' | 'neither' | {
1707
- readonly before?: boolean;
1708
- readonly after?: boolean;
1709
- };
1710
- readonly anonymous?: 'after' | 'before' | 'both' | 'neither' | {
1711
- readonly before?: boolean;
1712
- readonly after?: boolean;
1713
- };
1714
- readonly method?: 'after' | 'before' | 'both' | 'neither' | {
1715
- readonly before?: boolean;
1716
- readonly after?: boolean;
1717
- };
1718
- readonly shorthand?: 'after' | 'before' | 'both' | 'neither' | {
1719
- readonly before?: boolean;
1720
- readonly after?: boolean;
1721
- };
1722
- };
1723
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1710
+ type Options = ('before' | 'after' | 'both' | 'neither') | Readonly<{
1711
+ before?: boolean;
1712
+ after?: boolean;
1713
+ named?: ('before' | 'after' | 'both' | 'neither') | Readonly<{
1714
+ before?: boolean;
1715
+ after?: boolean;
1716
+ }>;
1717
+ anonymous?: ('before' | 'after' | 'both' | 'neither') | Readonly<{
1718
+ before?: boolean;
1719
+ after?: boolean;
1720
+ }>;
1721
+ method?: ('before' | 'after' | 'both' | 'neither') | Readonly<{
1722
+ before?: boolean;
1723
+ after?: boolean;
1724
+ }>;
1725
+ shorthand?: ('before' | 'after' | 'both' | 'neither') | Readonly<{
1726
+ before?: boolean;
1727
+ after?: boolean;
1728
+ }>;
1729
+ }>;
1730
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1724
1731
  }
1725
1732
  /**
1726
1733
  * Enforce the location of arrow function bodies
@@ -1751,8 +1758,8 @@ declare namespace ImplicitArrowLinebreak {
1751
1758
  * ]
1752
1759
  * ```
1753
1760
  */
1754
- type Options = 'below' | 'beside';
1755
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
1761
+ type Options = 'beside' | 'below';
1762
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
1756
1763
  }
1757
1764
  /**
1758
1765
  * Enforce consistent indentation
@@ -2110,49 +2117,54 @@ declare namespace Indent {
2110
2117
  * ]
2111
2118
  * ```
2112
2119
  */
2113
- type Options0 = number | 'tab';
2114
- type Options1 = {
2115
- readonly SwitchCase?: number;
2116
- readonly VariableDeclarator?: number | 'first' | 'off' | {
2117
- readonly var?: number | ('first' | 'off');
2118
- readonly let?: number | ('first' | 'off');
2119
- readonly const?: number | ('first' | 'off');
2120
- readonly using?: number | ('first' | 'off');
2121
- };
2122
- readonly assignmentOperator?: number | 'off';
2123
- readonly outerIIFEBody?: number | 'off';
2124
- readonly MemberExpression?: number | 'off';
2125
- readonly FunctionDeclaration?: {
2126
- readonly parameters?: number | ('first' | 'off');
2127
- readonly body?: number;
2128
- readonly returnType?: number;
2129
- };
2130
- readonly FunctionExpression?: {
2131
- readonly parameters?: number | ('first' | 'off');
2132
- readonly body?: number;
2133
- readonly returnType?: number;
2134
- };
2135
- readonly StaticBlock?: {
2136
- readonly body?: number;
2137
- };
2138
- readonly CallExpression?: {
2139
- readonly arguments?: number | ('first' | 'off');
2140
- };
2141
- readonly ArrayExpression?: number | ('first' | 'off');
2142
- readonly ObjectExpression?: number | ('first' | 'off');
2143
- readonly ImportDeclaration?: number | ('first' | 'off');
2144
- readonly flatTernaryExpressions?: boolean;
2145
- readonly offsetTernaryExpressions?: boolean | {
2146
- readonly CallExpression?: boolean;
2147
- readonly AwaitExpression?: boolean;
2148
- readonly NewExpression?: boolean;
2149
- };
2150
- readonly offsetTernaryExpressionsOffsetCallExpressions?: boolean;
2151
- readonly ignoredNodes?: readonly string[];
2152
- readonly ignoreComments?: boolean;
2153
- readonly tabLength?: number;
2154
- };
2155
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
2120
+ type Options0 = 'tab' | number;
2121
+ type Options1 = Readonly<{
2122
+ /** @default 0 */
2123
+ SwitchCase?: number;
2124
+ VariableDeclarator?: (number | ('first' | 'off')) | Readonly<{
2125
+ var?: number | ('first' | 'off');
2126
+ let?: number | ('first' | 'off');
2127
+ const?: number | ('first' | 'off');
2128
+ using?: number | ('first' | 'off');
2129
+ }>;
2130
+ assignmentOperator?: number | 'off';
2131
+ outerIIFEBody?: number | 'off';
2132
+ MemberExpression?: number | 'off';
2133
+ FunctionDeclaration?: Readonly<{
2134
+ parameters?: number | ('first' | 'off');
2135
+ body?: number;
2136
+ returnType?: number;
2137
+ }>;
2138
+ FunctionExpression?: Readonly<{
2139
+ parameters?: number | ('first' | 'off');
2140
+ body?: number;
2141
+ returnType?: number;
2142
+ }>;
2143
+ StaticBlock?: Readonly<{
2144
+ body?: number;
2145
+ }>;
2146
+ CallExpression?: Readonly<{
2147
+ arguments?: number | ('first' | 'off');
2148
+ }>;
2149
+ ArrayExpression?: number | ('first' | 'off');
2150
+ ObjectExpression?: number | ('first' | 'off');
2151
+ ImportDeclaration?: number | ('first' | 'off');
2152
+ /** @default false */
2153
+ flatTernaryExpressions?: boolean;
2154
+ /** @default false */
2155
+ offsetTernaryExpressions?: boolean | Readonly<{
2156
+ CallExpression?: boolean;
2157
+ AwaitExpression?: boolean;
2158
+ NewExpression?: boolean;
2159
+ }>;
2160
+ offsetTernaryExpressionsOffsetCallExpressions?: boolean;
2161
+ ignoredNodes?: readonly string[];
2162
+ /** @default false */
2163
+ ignoreComments?: boolean;
2164
+ /** @default 4 */
2165
+ tabLength?: number;
2166
+ }>;
2167
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
2156
2168
  }
2157
2169
  /**
2158
2170
  * Indentation for binary operators
@@ -2191,7 +2203,7 @@ declare namespace IndentBinaryOps {
2191
2203
  * ```
2192
2204
  */
2193
2205
  type Options = number | 'tab';
2194
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2206
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2195
2207
  }
2196
2208
  /**
2197
2209
  * Enforce or disallow spaces inside of curly braces in JSX attributes and
@@ -2303,13 +2315,13 @@ declare namespace JsxClosingBracketLocation {
2303
2315
  * ]
2304
2316
  * ```
2305
2317
  */
2306
- type Options = 'after-props' | 'line-aligned' | 'props-aligned' | 'tag-aligned' | {
2307
- readonly location?: 'after-props' | 'line-aligned' | 'props-aligned' | 'tag-aligned';
2318
+ type Options = ('after-props' | 'props-aligned' | 'tag-aligned' | 'line-aligned') | Readonly<{
2319
+ location?: 'after-props' | 'props-aligned' | 'tag-aligned' | 'line-aligned';
2308
2320
  } | {
2309
- readonly nonEmpty?: 'after-props' | 'line-aligned' | 'props-aligned' | 'tag-aligned' | false;
2310
- readonly selfClosing?: 'after-props' | 'line-aligned' | 'props-aligned' | 'tag-aligned' | false;
2311
- };
2312
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2321
+ nonEmpty?: ('after-props' | 'props-aligned' | 'tag-aligned' | 'line-aligned') | false;
2322
+ selfClosing?: ('after-props' | 'props-aligned' | 'tag-aligned' | 'line-aligned') | false;
2323
+ }>;
2324
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2313
2325
  }
2314
2326
  /**
2315
2327
  * Enforce closing tag location for multiline JSX
@@ -2345,8 +2357,8 @@ declare namespace JsxClosingTagLocation {
2345
2357
  * ]
2346
2358
  * ```
2347
2359
  */
2348
- type Options = 'line-aligned' | 'tag-aligned';
2349
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2360
+ type Options = 'tag-aligned' | 'line-aligned';
2361
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2350
2362
  }
2351
2363
  /**
2352
2364
  * Disallow unnecessary JSX expressions when literals alone are sufficient or
@@ -2413,12 +2425,12 @@ declare namespace JsxCurlyBracePresence {
2413
2425
  * ]
2414
2426
  * ```
2415
2427
  */
2416
- type Options = {
2417
- readonly props?: 'always' | 'ignore' | 'never';
2418
- readonly children?: 'always' | 'ignore' | 'never';
2419
- readonly propElementValues?: 'always' | 'ignore' | 'never';
2420
- } | ('always' | 'ignore' | 'never');
2421
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2428
+ type Options = Readonly<{
2429
+ props?: 'always' | 'never' | 'ignore';
2430
+ children?: 'always' | 'never' | 'ignore';
2431
+ propElementValues?: 'always' | 'never' | 'ignore';
2432
+ }> | ('always' | 'never' | 'ignore');
2433
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2422
2434
  }
2423
2435
  /**
2424
2436
  * Enforce consistent linebreaks in curly braces in JSX attributes and
@@ -2476,11 +2488,11 @@ declare namespace JsxCurlyNewline {
2476
2488
  * ]
2477
2489
  * ```
2478
2490
  */
2479
- type Options = 'consistent' | 'never' | {
2480
- readonly singleline?: 'consistent' | 'forbid' | 'require';
2481
- readonly multiline?: 'consistent' | 'forbid' | 'require';
2482
- };
2483
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2491
+ type Options = ('consistent' | 'never') | Readonly<{
2492
+ singleline?: 'consistent' | 'require' | 'forbid';
2493
+ multiline?: 'consistent' | 'require' | 'forbid';
2494
+ }>;
2495
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2484
2496
  }
2485
2497
  /**
2486
2498
  * Enforce or disallow spaces inside of curly braces in JSX attributes and
@@ -2618,58 +2630,58 @@ declare namespace JsxCurlySpacing {
2618
2630
  * }
2619
2631
  * ```
2620
2632
  */
2621
- type Options = readonly [
2622
- ({
2623
- readonly when?: 'always' | 'never';
2624
- readonly allowMultiline?: boolean;
2625
- readonly spacing?: {
2626
- readonly objectLiterals?: 'always' | 'never';
2627
- };
2628
- readonly attributes?: boolean | {
2629
- readonly when?: 'always' | 'never';
2630
- readonly allowMultiline?: boolean;
2631
- readonly spacing?: {
2632
- readonly objectLiterals?: 'always' | 'never';
2633
- };
2634
- };
2635
- readonly children?: boolean | {
2636
- readonly when?: 'always' | 'never';
2637
- readonly allowMultiline?: boolean;
2638
- readonly spacing?: {
2639
- readonly objectLiterals?: 'always' | 'never';
2640
- };
2641
- };
2642
- } | ('always' | 'never')),
2643
- {
2644
- readonly allowMultiline?: boolean;
2645
- readonly spacing?: {
2646
- readonly objectLiterals?: 'always' | 'never';
2647
- };
2648
- }
2633
+ type Options = readonly [] | readonly [
2634
+ Readonly<{
2635
+ when?: 'always' | 'never';
2636
+ allowMultiline?: boolean;
2637
+ spacing?: Readonly<{
2638
+ objectLiterals?: 'always' | 'never';
2639
+ }>;
2640
+ attributes?: Readonly<{
2641
+ when?: 'always' | 'never';
2642
+ allowMultiline?: boolean;
2643
+ spacing?: Readonly<{
2644
+ objectLiterals?: 'always' | 'never';
2645
+ }>;
2646
+ }> | boolean;
2647
+ children?: Readonly<{
2648
+ when?: 'always' | 'never';
2649
+ allowMultiline?: boolean;
2650
+ spacing?: Readonly<{
2651
+ objectLiterals?: 'always' | 'never';
2652
+ }>;
2653
+ }> | boolean;
2654
+ }> | ('always' | 'never')
2649
2655
  ] | readonly [
2650
- {
2651
- readonly when?: 'always' | 'never';
2652
- readonly allowMultiline?: boolean;
2653
- readonly spacing?: {
2654
- readonly objectLiterals?: 'always' | 'never';
2655
- };
2656
- readonly attributes?: boolean | {
2657
- readonly when?: 'always' | 'never';
2658
- readonly allowMultiline?: boolean;
2659
- readonly spacing?: {
2660
- readonly objectLiterals?: 'always' | 'never';
2661
- };
2662
- };
2663
- readonly children?: boolean | {
2664
- readonly when?: 'always' | 'never';
2665
- readonly allowMultiline?: boolean;
2666
- readonly spacing?: {
2667
- readonly objectLiterals?: 'always' | 'never';
2668
- };
2669
- };
2670
- } | ('always' | 'never')
2671
- ] | readonly [];
2672
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2656
+ (Readonly<{
2657
+ when?: 'always' | 'never';
2658
+ allowMultiline?: boolean;
2659
+ spacing?: Readonly<{
2660
+ objectLiterals?: 'always' | 'never';
2661
+ }>;
2662
+ attributes?: Readonly<{
2663
+ when?: 'always' | 'never';
2664
+ allowMultiline?: boolean;
2665
+ spacing?: Readonly<{
2666
+ objectLiterals?: 'always' | 'never';
2667
+ }>;
2668
+ }> | boolean;
2669
+ children?: Readonly<{
2670
+ when?: 'always' | 'never';
2671
+ allowMultiline?: boolean;
2672
+ spacing?: Readonly<{
2673
+ objectLiterals?: 'always' | 'never';
2674
+ }>;
2675
+ }> | boolean;
2676
+ }> | ('always' | 'never')),
2677
+ Readonly<{
2678
+ allowMultiline?: boolean;
2679
+ spacing?: Readonly<{
2680
+ objectLiterals?: 'always' | 'never';
2681
+ }>;
2682
+ }>
2683
+ ];
2684
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2673
2685
  }
2674
2686
  /**
2675
2687
  * Enforce or disallow spaces around equal signs in JSX attributes
@@ -2701,7 +2713,7 @@ declare namespace JsxEqualsSpacing {
2701
2713
  * ```
2702
2714
  */
2703
2715
  type Options = 'always' | 'never';
2704
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2716
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2705
2717
  }
2706
2718
  /**
2707
2719
  * Enforce proper position of the first property in JSX
@@ -2735,8 +2747,8 @@ declare namespace JsxFirstPropNewLine {
2735
2747
  * ]
2736
2748
  * ```
2737
2749
  */
2738
- type Options = 'always' | 'multiline-multiprop' | 'multiline' | 'multiprop' | 'never';
2739
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2750
+ type Options = 'always' | 'never' | 'multiline' | 'multiline-multiprop' | 'multiprop';
2751
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2740
2752
  }
2741
2753
  /**
2742
2754
  * Enforce line breaks before and after JSX elements when they are used as
@@ -2769,7 +2781,7 @@ declare namespace JsxFunctionCallNewline {
2769
2781
  * ```
2770
2782
  */
2771
2783
  type Options = 'always' | 'multiline';
2772
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2784
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2773
2785
  }
2774
2786
  /**
2775
2787
  * Enforce JSX indentation. Deprecated, use `indent` rule instead.
@@ -2879,11 +2891,11 @@ declare namespace JsxIndentProps {
2879
2891
  * ]
2880
2892
  * ```
2881
2893
  */
2882
- type Options = number | 'first' | 'tab' | {
2883
- readonly indentMode?: number | 'first' | 'tab';
2884
- readonly ignoreTernaryOperator?: boolean;
2885
- };
2886
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2894
+ type Options = ('tab' | 'first') | number | Readonly<{
2895
+ indentMode?: ('tab' | 'first') | number;
2896
+ ignoreTernaryOperator?: boolean;
2897
+ }>;
2898
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2887
2899
  }
2888
2900
  /**
2889
2901
  * Enforce maximum of props on a single line in JSX
@@ -2948,16 +2960,16 @@ declare namespace JsxMaxPropsPerLine {
2948
2960
  * ]
2949
2961
  * ```
2950
2962
  */
2951
- type Options = {
2952
- readonly maximum?: {
2953
- readonly single?: number;
2954
- readonly multi?: number;
2955
- };
2963
+ type Options = Readonly<{
2964
+ maximum?: Readonly<{
2965
+ single?: number;
2966
+ multi?: number;
2967
+ }>;
2956
2968
  } | {
2957
- readonly maximum?: number;
2958
- readonly when?: 'always' | 'multiline';
2959
- };
2960
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
2969
+ maximum?: number;
2970
+ when?: 'always' | 'multiline';
2971
+ }>;
2972
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
2961
2973
  }
2962
2974
  /**
2963
2975
  * Require or prevent a new line after jsx elements and expressions.
@@ -3012,11 +3024,13 @@ declare namespace JsxNewline {
3012
3024
  * ]
3013
3025
  * ```
3014
3026
  */
3015
- type Options = {
3016
- readonly prevent?: boolean;
3017
- readonly allowMultilines?: boolean;
3018
- };
3019
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3027
+ type Options = Readonly<{
3028
+ /** @default false */
3029
+ prevent?: boolean;
3030
+ /** @default false */
3031
+ allowMultilines?: boolean;
3032
+ }>;
3033
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3020
3034
  }
3021
3035
  /**
3022
3036
  * Require one JSX element per line
@@ -3059,10 +3073,10 @@ declare namespace JsxOneExpressionPerLine {
3059
3073
  * ]
3060
3074
  * ```
3061
3075
  */
3062
- type Options = {
3063
- readonly allow?: 'literal' | 'non-jsx' | 'none' | 'single-child' | 'single-line';
3064
- };
3065
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3076
+ type Options = Readonly<{
3077
+ allow?: 'none' | 'literal' | 'single-child' | 'single-line' | 'non-jsx';
3078
+ }>;
3079
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3066
3080
  }
3067
3081
  /**
3068
3082
  * Enforce PascalCase for user-defined JSX components
@@ -3107,13 +3121,13 @@ declare namespace JsxPascalCase {
3107
3121
  * ]
3108
3122
  * ```
3109
3123
  */
3110
- type Options = {
3111
- readonly allowAllCaps?: boolean;
3112
- readonly allowLeadingUnderscore?: boolean;
3113
- readonly allowNamespace?: boolean;
3114
- readonly ignore?: readonly string[];
3115
- };
3116
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3124
+ type Options = Readonly<{
3125
+ allowAllCaps?: boolean;
3126
+ allowLeadingUnderscore?: boolean;
3127
+ allowNamespace?: boolean;
3128
+ ignore?: readonly string[];
3129
+ }>;
3130
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3117
3131
  }
3118
3132
  /**
3119
3133
  * Disallow multiple spaces between inline JSX props. Deprecated, use
@@ -3162,8 +3176,8 @@ declare namespace JsxQuotes {
3162
3176
  * ]
3163
3177
  * ```
3164
3178
  */
3165
- type Options = 'prefer-double' | 'prefer-single';
3166
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3179
+ type Options = 'prefer-single' | 'prefer-double';
3180
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3167
3181
  }
3168
3182
  /**
3169
3183
  * Disallow extra closing tags for components without children
@@ -3201,11 +3215,13 @@ declare namespace JsxSelfClosingComp {
3201
3215
  * ]
3202
3216
  * ```
3203
3217
  */
3204
- type Options = {
3205
- readonly component?: boolean;
3206
- readonly html?: boolean;
3207
- };
3208
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3218
+ type Options = Readonly<{
3219
+ /** @default true */
3220
+ component?: boolean;
3221
+ /** @default true */
3222
+ html?: boolean;
3223
+ }>;
3224
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3209
3225
  }
3210
3226
  /**
3211
3227
  * Enforce props alphabetical sorting
@@ -3282,18 +3298,20 @@ declare namespace JsxSortProps {
3282
3298
  * ]
3283
3299
  * ```
3284
3300
  */
3285
- type Options = {
3286
- readonly callbacksLast?: boolean;
3287
- readonly shorthandFirst?: boolean;
3288
- readonly shorthandLast?: boolean;
3289
- readonly multiline?: 'first' | 'ignore' | 'last';
3290
- readonly ignoreCase?: boolean;
3291
- readonly noSortAlphabetically?: boolean;
3292
- readonly reservedFirst?: boolean | readonly string[];
3293
- readonly reservedLast?: readonly string[];
3294
- readonly locale?: string;
3295
- };
3296
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3301
+ type Options = Readonly<{
3302
+ callbacksLast?: boolean;
3303
+ shorthandFirst?: boolean;
3304
+ shorthandLast?: boolean;
3305
+ /** @default 'ignore' */
3306
+ multiline?: 'ignore' | 'first' | 'last';
3307
+ ignoreCase?: boolean;
3308
+ noSortAlphabetically?: boolean;
3309
+ reservedFirst?: readonly string[] | boolean;
3310
+ reservedLast?: readonly string[];
3311
+ /** @default 'auto' */
3312
+ locale?: string;
3313
+ }>;
3314
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3297
3315
  }
3298
3316
  /**
3299
3317
  * Enforce whitespace in and around the JSX opening and closing brackets
@@ -3364,13 +3382,13 @@ declare namespace JsxTagSpacing {
3364
3382
  * ]
3365
3383
  * ```
3366
3384
  */
3367
- type Options = {
3368
- readonly closingSlash?: 'allow' | 'always' | 'never';
3369
- readonly beforeSelfClosing?: 'allow' | 'always' | 'never' | 'proportional-always';
3370
- readonly afterOpening?: 'allow-multiline' | 'allow' | 'always' | 'never';
3371
- readonly beforeClosing?: 'allow' | 'always' | 'never' | 'proportional-always';
3372
- };
3373
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3385
+ type Options = Readonly<{
3386
+ closingSlash?: 'always' | 'never' | 'allow';
3387
+ beforeSelfClosing?: 'always' | 'proportional-always' | 'never' | 'allow';
3388
+ afterOpening?: 'always' | 'allow-multiline' | 'never' | 'allow';
3389
+ beforeClosing?: 'always' | 'proportional-always' | 'never' | 'allow';
3390
+ }>;
3391
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3374
3392
  }
3375
3393
  /**
3376
3394
  * Disallow missing parentheses around multiline JSX
@@ -3504,17 +3522,17 @@ declare namespace JsxWrapMultilines {
3504
3522
  * ]
3505
3523
  * ```
3506
3524
  */
3507
- type Options = {
3508
- readonly declaration?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3509
- readonly assignment?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3510
- readonly return?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3511
- readonly arrow?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3512
- readonly condition?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3513
- readonly logical?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3514
- readonly prop?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3515
- readonly propertyValue?: 'ignore' | 'parens-new-line' | 'parens' | false | true;
3516
- };
3517
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3525
+ type Options = Readonly<{
3526
+ declaration?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3527
+ assignment?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3528
+ return?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3529
+ arrow?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3530
+ condition?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3531
+ logical?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3532
+ prop?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3533
+ propertyValue?: true | false | 'ignore' | 'parens' | 'parens-new-line';
3534
+ }>;
3535
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3518
3536
  }
3519
3537
  /**
3520
3538
  * Enforce consistent spacing between property names and type annotations in
@@ -3766,53 +3784,53 @@ declare namespace KeySpacing {
3766
3784
  * ]
3767
3785
  * ```
3768
3786
  */
3769
- type Options = {
3770
- readonly align?: 'colon' | 'value' | {
3771
- readonly mode?: 'minimum' | 'strict';
3772
- readonly on?: 'colon' | 'value';
3773
- readonly beforeColon?: boolean;
3774
- readonly afterColon?: boolean;
3775
- };
3776
- readonly mode?: 'minimum' | 'strict';
3777
- readonly beforeColon?: boolean;
3778
- readonly afterColon?: boolean;
3779
- readonly ignoredNodes?: readonly ('ClassBody' | 'ExportAllDeclaration' | 'ExportNamedDeclaration' | 'ImportDeclaration' | 'ObjectExpression' | 'ObjectPattern' | 'TSInterfaceBody' | 'TSTypeLiteral')[];
3787
+ type Options = Readonly<{
3788
+ align?: ('colon' | 'value') | Readonly<{
3789
+ mode?: 'strict' | 'minimum';
3790
+ on?: 'colon' | 'value';
3791
+ beforeColon?: boolean;
3792
+ afterColon?: boolean;
3793
+ }>;
3794
+ mode?: 'strict' | 'minimum';
3795
+ beforeColon?: boolean;
3796
+ afterColon?: boolean;
3797
+ ignoredNodes?: readonly ('ObjectExpression' | 'ObjectPattern' | 'ImportDeclaration' | 'ExportNamedDeclaration' | 'ExportAllDeclaration' | 'TSTypeLiteral' | 'TSInterfaceBody' | 'ClassBody')[];
3780
3798
  } | {
3781
- readonly singleLine?: {
3782
- readonly mode?: 'minimum' | 'strict';
3783
- readonly beforeColon?: boolean;
3784
- readonly afterColon?: boolean;
3785
- };
3786
- readonly multiLine?: {
3787
- readonly align?: 'colon' | 'value' | {
3788
- readonly mode?: 'minimum' | 'strict';
3789
- readonly on?: 'colon' | 'value';
3790
- readonly beforeColon?: boolean;
3791
- readonly afterColon?: boolean;
3792
- };
3793
- readonly mode?: 'minimum' | 'strict';
3794
- readonly beforeColon?: boolean;
3795
- readonly afterColon?: boolean;
3796
- };
3799
+ singleLine?: Readonly<{
3800
+ mode?: 'strict' | 'minimum';
3801
+ beforeColon?: boolean;
3802
+ afterColon?: boolean;
3803
+ }>;
3804
+ multiLine?: Readonly<{
3805
+ align?: ('colon' | 'value') | Readonly<{
3806
+ mode?: 'strict' | 'minimum';
3807
+ on?: 'colon' | 'value';
3808
+ beforeColon?: boolean;
3809
+ afterColon?: boolean;
3810
+ }>;
3811
+ mode?: 'strict' | 'minimum';
3812
+ beforeColon?: boolean;
3813
+ afterColon?: boolean;
3814
+ }>;
3797
3815
  } | {
3798
- readonly singleLine?: {
3799
- readonly mode?: 'minimum' | 'strict';
3800
- readonly beforeColon?: boolean;
3801
- readonly afterColon?: boolean;
3802
- };
3803
- readonly multiLine?: {
3804
- readonly mode?: 'minimum' | 'strict';
3805
- readonly beforeColon?: boolean;
3806
- readonly afterColon?: boolean;
3807
- };
3808
- readonly align?: {
3809
- readonly mode?: 'minimum' | 'strict';
3810
- readonly on?: 'colon' | 'value';
3811
- readonly beforeColon?: boolean;
3812
- readonly afterColon?: boolean;
3813
- };
3814
- };
3815
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
3816
+ singleLine?: Readonly<{
3817
+ mode?: 'strict' | 'minimum';
3818
+ beforeColon?: boolean;
3819
+ afterColon?: boolean;
3820
+ }>;
3821
+ multiLine?: Readonly<{
3822
+ mode?: 'strict' | 'minimum';
3823
+ beforeColon?: boolean;
3824
+ afterColon?: boolean;
3825
+ }>;
3826
+ align?: Readonly<{
3827
+ mode?: 'strict' | 'minimum';
3828
+ on?: 'colon' | 'value';
3829
+ beforeColon?: boolean;
3830
+ afterColon?: boolean;
3831
+ }>;
3832
+ }>;
3833
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
3816
3834
  }
3817
3835
  /**
3818
3836
  * Enforce consistent spacing before and after keywords
@@ -4744,309 +4762,311 @@ declare namespace KeywordSpacing {
4744
4762
  * ]
4745
4763
  * ```
4746
4764
  */
4747
- type Options = {
4748
- readonly before?: boolean;
4749
- readonly after?: boolean;
4750
- readonly overrides?: {
4751
- readonly abstract?: {
4752
- readonly before?: boolean;
4753
- readonly after?: boolean;
4754
- };
4755
- readonly boolean?: {
4756
- readonly before?: boolean;
4757
- readonly after?: boolean;
4758
- };
4759
- readonly break?: {
4760
- readonly before?: boolean;
4761
- readonly after?: boolean;
4762
- };
4763
- readonly byte?: {
4764
- readonly before?: boolean;
4765
- readonly after?: boolean;
4766
- };
4767
- readonly case?: {
4768
- readonly before?: boolean;
4769
- readonly after?: boolean;
4770
- };
4771
- readonly catch?: {
4772
- readonly before?: boolean;
4773
- readonly after?: boolean;
4774
- };
4775
- readonly char?: {
4776
- readonly before?: boolean;
4777
- readonly after?: boolean;
4778
- };
4779
- readonly class?: {
4780
- readonly before?: boolean;
4781
- readonly after?: boolean;
4782
- };
4783
- readonly const?: {
4784
- readonly before?: boolean;
4785
- readonly after?: boolean;
4786
- };
4787
- readonly continue?: {
4788
- readonly before?: boolean;
4789
- readonly after?: boolean;
4790
- };
4791
- readonly debugger?: {
4792
- readonly before?: boolean;
4793
- readonly after?: boolean;
4794
- };
4795
- readonly default?: {
4796
- readonly before?: boolean;
4797
- readonly after?: boolean;
4798
- };
4799
- readonly delete?: {
4800
- readonly before?: boolean;
4801
- readonly after?: boolean;
4802
- };
4803
- readonly do?: {
4804
- readonly before?: boolean;
4805
- readonly after?: boolean;
4806
- };
4807
- readonly double?: {
4808
- readonly before?: boolean;
4809
- readonly after?: boolean;
4810
- };
4811
- readonly else?: {
4812
- readonly before?: boolean;
4813
- readonly after?: boolean;
4814
- };
4815
- readonly enum?: {
4816
- readonly before?: boolean;
4817
- readonly after?: boolean;
4818
- };
4819
- readonly export?: {
4820
- readonly before?: boolean;
4821
- readonly after?: boolean;
4822
- };
4823
- readonly extends?: {
4824
- readonly before?: boolean;
4825
- readonly after?: boolean;
4826
- };
4827
- readonly false?: {
4828
- readonly before?: boolean;
4829
- readonly after?: boolean;
4830
- };
4831
- readonly final?: {
4832
- readonly before?: boolean;
4833
- readonly after?: boolean;
4834
- };
4835
- readonly finally?: {
4836
- readonly before?: boolean;
4837
- readonly after?: boolean;
4838
- };
4839
- readonly float?: {
4840
- readonly before?: boolean;
4841
- readonly after?: boolean;
4842
- };
4843
- readonly for?: {
4844
- readonly before?: boolean;
4845
- readonly after?: boolean;
4846
- };
4847
- readonly function?: {
4848
- readonly before?: boolean;
4849
- readonly after?: boolean;
4850
- };
4851
- readonly goto?: {
4852
- readonly before?: boolean;
4853
- readonly after?: boolean;
4854
- };
4855
- readonly if?: {
4856
- readonly before?: boolean;
4857
- readonly after?: boolean;
4858
- };
4859
- readonly implements?: {
4860
- readonly before?: boolean;
4861
- readonly after?: boolean;
4862
- };
4863
- readonly import?: {
4864
- readonly before?: boolean;
4865
- readonly after?: boolean;
4866
- };
4867
- readonly in?: {
4868
- readonly before?: boolean;
4869
- readonly after?: boolean;
4870
- };
4871
- readonly instanceof?: {
4872
- readonly before?: boolean;
4873
- readonly after?: boolean;
4874
- };
4875
- readonly int?: {
4876
- readonly before?: boolean;
4877
- readonly after?: boolean;
4878
- };
4879
- readonly interface?: {
4880
- readonly before?: boolean;
4881
- readonly after?: boolean;
4882
- };
4883
- readonly long?: {
4884
- readonly before?: boolean;
4885
- readonly after?: boolean;
4886
- };
4887
- readonly native?: {
4888
- readonly before?: boolean;
4889
- readonly after?: boolean;
4890
- };
4891
- readonly new?: {
4892
- readonly before?: boolean;
4893
- readonly after?: boolean;
4894
- };
4895
- readonly null?: {
4896
- readonly before?: boolean;
4897
- readonly after?: boolean;
4898
- };
4899
- readonly package?: {
4900
- readonly before?: boolean;
4901
- readonly after?: boolean;
4902
- };
4903
- readonly private?: {
4904
- readonly before?: boolean;
4905
- readonly after?: boolean;
4906
- };
4907
- readonly protected?: {
4908
- readonly before?: boolean;
4909
- readonly after?: boolean;
4910
- };
4911
- readonly public?: {
4912
- readonly before?: boolean;
4913
- readonly after?: boolean;
4914
- };
4915
- readonly return?: {
4916
- readonly before?: boolean;
4917
- readonly after?: boolean;
4918
- };
4919
- readonly short?: {
4920
- readonly before?: boolean;
4921
- readonly after?: boolean;
4922
- };
4923
- readonly static?: {
4924
- readonly before?: boolean;
4925
- readonly after?: boolean;
4926
- };
4927
- readonly super?: {
4928
- readonly before?: boolean;
4929
- readonly after?: boolean;
4930
- };
4931
- readonly switch?: {
4932
- readonly before?: boolean;
4933
- readonly after?: boolean;
4934
- };
4935
- readonly synchronized?: {
4936
- readonly before?: boolean;
4937
- readonly after?: boolean;
4938
- };
4939
- readonly this?: {
4940
- readonly before?: boolean;
4941
- readonly after?: boolean;
4942
- };
4943
- readonly throw?: {
4944
- readonly before?: boolean;
4945
- readonly after?: boolean;
4946
- };
4947
- readonly throws?: {
4948
- readonly before?: boolean;
4949
- readonly after?: boolean;
4950
- };
4951
- readonly transient?: {
4952
- readonly before?: boolean;
4953
- readonly after?: boolean;
4954
- };
4955
- readonly true?: {
4956
- readonly before?: boolean;
4957
- readonly after?: boolean;
4958
- };
4959
- readonly try?: {
4960
- readonly before?: boolean;
4961
- readonly after?: boolean;
4962
- };
4963
- readonly typeof?: {
4964
- readonly before?: boolean;
4965
- readonly after?: boolean;
4966
- };
4967
- readonly var?: {
4968
- readonly before?: boolean;
4969
- readonly after?: boolean;
4970
- };
4971
- readonly void?: {
4972
- readonly before?: boolean;
4973
- readonly after?: boolean;
4974
- };
4975
- readonly volatile?: {
4976
- readonly before?: boolean;
4977
- readonly after?: boolean;
4978
- };
4979
- readonly while?: {
4980
- readonly before?: boolean;
4981
- readonly after?: boolean;
4982
- };
4983
- readonly with?: {
4984
- readonly before?: boolean;
4985
- readonly after?: boolean;
4986
- };
4987
- readonly arguments?: {
4988
- readonly before?: boolean;
4989
- readonly after?: boolean;
4990
- };
4991
- readonly as?: {
4992
- readonly before?: boolean;
4993
- readonly after?: boolean;
4994
- };
4995
- readonly async?: {
4996
- readonly before?: boolean;
4997
- readonly after?: boolean;
4998
- };
4999
- readonly await?: {
5000
- readonly before?: boolean;
5001
- readonly after?: boolean;
5002
- };
5003
- readonly eval?: {
5004
- readonly before?: boolean;
5005
- readonly after?: boolean;
5006
- };
5007
- readonly from?: {
5008
- readonly before?: boolean;
5009
- readonly after?: boolean;
5010
- };
5011
- readonly get?: {
5012
- readonly before?: boolean;
5013
- readonly after?: boolean;
5014
- };
5015
- readonly let?: {
5016
- readonly before?: boolean;
5017
- readonly after?: boolean;
5018
- };
5019
- readonly of?: {
5020
- readonly before?: boolean;
5021
- readonly after?: boolean;
5022
- };
5023
- readonly set?: {
5024
- readonly before?: boolean;
5025
- readonly after?: boolean;
5026
- };
5027
- readonly type?: {
5028
- readonly before?: boolean;
5029
- readonly after?: boolean;
5030
- };
5031
- readonly using?: {
5032
- readonly before?: boolean;
5033
- readonly after?: boolean;
5034
- };
5035
- readonly yield?: {
5036
- readonly before?: boolean;
5037
- readonly after?: boolean;
5038
- };
5039
- readonly accessor?: {
5040
- readonly before?: boolean;
5041
- readonly after?: boolean;
5042
- };
5043
- readonly satisfies?: {
5044
- readonly before?: boolean;
5045
- readonly after?: boolean;
5046
- };
5047
- };
5048
- };
5049
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
4765
+ type Options = Readonly<{
4766
+ /** @default true */
4767
+ before?: boolean;
4768
+ /** @default true */
4769
+ after?: boolean;
4770
+ overrides?: Readonly<{
4771
+ abstract?: Readonly<{
4772
+ before?: boolean;
4773
+ after?: boolean;
4774
+ }>;
4775
+ boolean?: Readonly<{
4776
+ before?: boolean;
4777
+ after?: boolean;
4778
+ }>;
4779
+ break?: Readonly<{
4780
+ before?: boolean;
4781
+ after?: boolean;
4782
+ }>;
4783
+ byte?: Readonly<{
4784
+ before?: boolean;
4785
+ after?: boolean;
4786
+ }>;
4787
+ case?: Readonly<{
4788
+ before?: boolean;
4789
+ after?: boolean;
4790
+ }>;
4791
+ catch?: Readonly<{
4792
+ before?: boolean;
4793
+ after?: boolean;
4794
+ }>;
4795
+ char?: Readonly<{
4796
+ before?: boolean;
4797
+ after?: boolean;
4798
+ }>;
4799
+ class?: Readonly<{
4800
+ before?: boolean;
4801
+ after?: boolean;
4802
+ }>;
4803
+ const?: Readonly<{
4804
+ before?: boolean;
4805
+ after?: boolean;
4806
+ }>;
4807
+ continue?: Readonly<{
4808
+ before?: boolean;
4809
+ after?: boolean;
4810
+ }>;
4811
+ debugger?: Readonly<{
4812
+ before?: boolean;
4813
+ after?: boolean;
4814
+ }>;
4815
+ default?: Readonly<{
4816
+ before?: boolean;
4817
+ after?: boolean;
4818
+ }>;
4819
+ delete?: Readonly<{
4820
+ before?: boolean;
4821
+ after?: boolean;
4822
+ }>;
4823
+ do?: Readonly<{
4824
+ before?: boolean;
4825
+ after?: boolean;
4826
+ }>;
4827
+ double?: Readonly<{
4828
+ before?: boolean;
4829
+ after?: boolean;
4830
+ }>;
4831
+ else?: Readonly<{
4832
+ before?: boolean;
4833
+ after?: boolean;
4834
+ }>;
4835
+ enum?: Readonly<{
4836
+ before?: boolean;
4837
+ after?: boolean;
4838
+ }>;
4839
+ export?: Readonly<{
4840
+ before?: boolean;
4841
+ after?: boolean;
4842
+ }>;
4843
+ extends?: Readonly<{
4844
+ before?: boolean;
4845
+ after?: boolean;
4846
+ }>;
4847
+ false?: Readonly<{
4848
+ before?: boolean;
4849
+ after?: boolean;
4850
+ }>;
4851
+ final?: Readonly<{
4852
+ before?: boolean;
4853
+ after?: boolean;
4854
+ }>;
4855
+ finally?: Readonly<{
4856
+ before?: boolean;
4857
+ after?: boolean;
4858
+ }>;
4859
+ float?: Readonly<{
4860
+ before?: boolean;
4861
+ after?: boolean;
4862
+ }>;
4863
+ for?: Readonly<{
4864
+ before?: boolean;
4865
+ after?: boolean;
4866
+ }>;
4867
+ function?: Readonly<{
4868
+ before?: boolean;
4869
+ after?: boolean;
4870
+ }>;
4871
+ goto?: Readonly<{
4872
+ before?: boolean;
4873
+ after?: boolean;
4874
+ }>;
4875
+ if?: Readonly<{
4876
+ before?: boolean;
4877
+ after?: boolean;
4878
+ }>;
4879
+ implements?: Readonly<{
4880
+ before?: boolean;
4881
+ after?: boolean;
4882
+ }>;
4883
+ import?: Readonly<{
4884
+ before?: boolean;
4885
+ after?: boolean;
4886
+ }>;
4887
+ in?: Readonly<{
4888
+ before?: boolean;
4889
+ after?: boolean;
4890
+ }>;
4891
+ instanceof?: Readonly<{
4892
+ before?: boolean;
4893
+ after?: boolean;
4894
+ }>;
4895
+ int?: Readonly<{
4896
+ before?: boolean;
4897
+ after?: boolean;
4898
+ }>;
4899
+ interface?: Readonly<{
4900
+ before?: boolean;
4901
+ after?: boolean;
4902
+ }>;
4903
+ long?: Readonly<{
4904
+ before?: boolean;
4905
+ after?: boolean;
4906
+ }>;
4907
+ native?: Readonly<{
4908
+ before?: boolean;
4909
+ after?: boolean;
4910
+ }>;
4911
+ new?: Readonly<{
4912
+ before?: boolean;
4913
+ after?: boolean;
4914
+ }>;
4915
+ null?: Readonly<{
4916
+ before?: boolean;
4917
+ after?: boolean;
4918
+ }>;
4919
+ package?: Readonly<{
4920
+ before?: boolean;
4921
+ after?: boolean;
4922
+ }>;
4923
+ private?: Readonly<{
4924
+ before?: boolean;
4925
+ after?: boolean;
4926
+ }>;
4927
+ protected?: Readonly<{
4928
+ before?: boolean;
4929
+ after?: boolean;
4930
+ }>;
4931
+ public?: Readonly<{
4932
+ before?: boolean;
4933
+ after?: boolean;
4934
+ }>;
4935
+ return?: Readonly<{
4936
+ before?: boolean;
4937
+ after?: boolean;
4938
+ }>;
4939
+ short?: Readonly<{
4940
+ before?: boolean;
4941
+ after?: boolean;
4942
+ }>;
4943
+ static?: Readonly<{
4944
+ before?: boolean;
4945
+ after?: boolean;
4946
+ }>;
4947
+ super?: Readonly<{
4948
+ before?: boolean;
4949
+ after?: boolean;
4950
+ }>;
4951
+ switch?: Readonly<{
4952
+ before?: boolean;
4953
+ after?: boolean;
4954
+ }>;
4955
+ synchronized?: Readonly<{
4956
+ before?: boolean;
4957
+ after?: boolean;
4958
+ }>;
4959
+ this?: Readonly<{
4960
+ before?: boolean;
4961
+ after?: boolean;
4962
+ }>;
4963
+ throw?: Readonly<{
4964
+ before?: boolean;
4965
+ after?: boolean;
4966
+ }>;
4967
+ throws?: Readonly<{
4968
+ before?: boolean;
4969
+ after?: boolean;
4970
+ }>;
4971
+ transient?: Readonly<{
4972
+ before?: boolean;
4973
+ after?: boolean;
4974
+ }>;
4975
+ true?: Readonly<{
4976
+ before?: boolean;
4977
+ after?: boolean;
4978
+ }>;
4979
+ try?: Readonly<{
4980
+ before?: boolean;
4981
+ after?: boolean;
4982
+ }>;
4983
+ typeof?: Readonly<{
4984
+ before?: boolean;
4985
+ after?: boolean;
4986
+ }>;
4987
+ var?: Readonly<{
4988
+ before?: boolean;
4989
+ after?: boolean;
4990
+ }>;
4991
+ void?: Readonly<{
4992
+ before?: boolean;
4993
+ after?: boolean;
4994
+ }>;
4995
+ volatile?: Readonly<{
4996
+ before?: boolean;
4997
+ after?: boolean;
4998
+ }>;
4999
+ while?: Readonly<{
5000
+ before?: boolean;
5001
+ after?: boolean;
5002
+ }>;
5003
+ with?: Readonly<{
5004
+ before?: boolean;
5005
+ after?: boolean;
5006
+ }>;
5007
+ arguments?: Readonly<{
5008
+ before?: boolean;
5009
+ after?: boolean;
5010
+ }>;
5011
+ as?: Readonly<{
5012
+ before?: boolean;
5013
+ after?: boolean;
5014
+ }>;
5015
+ async?: Readonly<{
5016
+ before?: boolean;
5017
+ after?: boolean;
5018
+ }>;
5019
+ await?: Readonly<{
5020
+ before?: boolean;
5021
+ after?: boolean;
5022
+ }>;
5023
+ eval?: Readonly<{
5024
+ before?: boolean;
5025
+ after?: boolean;
5026
+ }>;
5027
+ from?: Readonly<{
5028
+ before?: boolean;
5029
+ after?: boolean;
5030
+ }>;
5031
+ get?: Readonly<{
5032
+ before?: boolean;
5033
+ after?: boolean;
5034
+ }>;
5035
+ let?: Readonly<{
5036
+ before?: boolean;
5037
+ after?: boolean;
5038
+ }>;
5039
+ of?: Readonly<{
5040
+ before?: boolean;
5041
+ after?: boolean;
5042
+ }>;
5043
+ set?: Readonly<{
5044
+ before?: boolean;
5045
+ after?: boolean;
5046
+ }>;
5047
+ type?: Readonly<{
5048
+ before?: boolean;
5049
+ after?: boolean;
5050
+ }>;
5051
+ using?: Readonly<{
5052
+ before?: boolean;
5053
+ after?: boolean;
5054
+ }>;
5055
+ yield?: Readonly<{
5056
+ before?: boolean;
5057
+ after?: boolean;
5058
+ }>;
5059
+ accessor?: Readonly<{
5060
+ before?: boolean;
5061
+ after?: boolean;
5062
+ }>;
5063
+ satisfies?: Readonly<{
5064
+ before?: boolean;
5065
+ after?: boolean;
5066
+ }>;
5067
+ }>;
5068
+ }>;
5069
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
5050
5070
  }
5051
5071
  /**
5052
5072
  * Enforce position of line comments
@@ -5102,13 +5122,13 @@ declare namespace LineCommentPosition {
5102
5122
  * ]
5103
5123
  * ```
5104
5124
  */
5105
- type Options = 'above' | 'beside' | {
5106
- readonly position?: 'above' | 'beside';
5107
- readonly ignorePattern?: string;
5108
- readonly applyDefaultPatterns?: boolean;
5109
- readonly applyDefaultIgnorePatterns?: boolean;
5110
- };
5111
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
5125
+ type Options = ('above' | 'beside') | Readonly<{
5126
+ position?: 'above' | 'beside';
5127
+ ignorePattern?: string;
5128
+ applyDefaultPatterns?: boolean;
5129
+ applyDefaultIgnorePatterns?: boolean;
5130
+ }>;
5131
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
5112
5132
  }
5113
5133
  /**
5114
5134
  * Enforce consistent linebreak style
@@ -5140,7 +5160,7 @@ declare namespace LinebreakStyle {
5140
5160
  * ```
5141
5161
  */
5142
5162
  type Options = 'unix' | 'windows';
5143
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
5163
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
5144
5164
  }
5145
5165
  /**
5146
5166
  * Require empty lines around comments
@@ -5245,32 +5265,38 @@ declare namespace LinesAroundComment {
5245
5265
  * ]
5246
5266
  * ```
5247
5267
  */
5248
- type Options = {
5249
- readonly beforeBlockComment?: boolean;
5250
- readonly afterBlockComment?: boolean;
5251
- readonly beforeLineComment?: boolean;
5252
- readonly afterLineComment?: boolean;
5253
- readonly allowBlockStart?: boolean;
5254
- readonly allowBlockEnd?: boolean;
5255
- readonly allowClassStart?: boolean;
5256
- readonly allowClassEnd?: boolean;
5257
- readonly allowObjectStart?: boolean;
5258
- readonly allowObjectEnd?: boolean;
5259
- readonly allowArrayStart?: boolean;
5260
- readonly allowArrayEnd?: boolean;
5261
- readonly allowInterfaceStart?: boolean;
5262
- readonly allowInterfaceEnd?: boolean;
5263
- readonly allowTypeStart?: boolean;
5264
- readonly allowTypeEnd?: boolean;
5265
- readonly allowEnumStart?: boolean;
5266
- readonly allowEnumEnd?: boolean;
5267
- readonly allowModuleStart?: boolean;
5268
- readonly allowModuleEnd?: boolean;
5269
- readonly ignorePattern?: string;
5270
- readonly applyDefaultIgnorePatterns?: boolean;
5271
- readonly afterHashbangComment?: boolean;
5272
- };
5273
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
5268
+ type Options = Readonly<{
5269
+ /** @default true */
5270
+ beforeBlockComment?: boolean;
5271
+ /** @default false */
5272
+ afterBlockComment?: boolean;
5273
+ /** @default false */
5274
+ beforeLineComment?: boolean;
5275
+ /** @default false */
5276
+ afterLineComment?: boolean;
5277
+ /** @default false */
5278
+ allowBlockStart?: boolean;
5279
+ /** @default false */
5280
+ allowBlockEnd?: boolean;
5281
+ allowClassStart?: boolean;
5282
+ allowClassEnd?: boolean;
5283
+ allowObjectStart?: boolean;
5284
+ allowObjectEnd?: boolean;
5285
+ allowArrayStart?: boolean;
5286
+ allowArrayEnd?: boolean;
5287
+ allowInterfaceStart?: boolean;
5288
+ allowInterfaceEnd?: boolean;
5289
+ allowTypeStart?: boolean;
5290
+ allowTypeEnd?: boolean;
5291
+ allowEnumStart?: boolean;
5292
+ allowEnumEnd?: boolean;
5293
+ allowModuleStart?: boolean;
5294
+ allowModuleEnd?: boolean;
5295
+ ignorePattern?: string;
5296
+ applyDefaultIgnorePatterns?: boolean;
5297
+ afterHashbangComment?: boolean;
5298
+ }>;
5299
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
5274
5300
  }
5275
5301
  /**
5276
5302
  * Require or disallow an empty line between class members
@@ -5366,26 +5392,28 @@ declare namespace LinesBetweenClassMembers {
5366
5392
  * ]
5367
5393
  * ```
5368
5394
  */
5369
- type Options0 = {
5395
+ type Options0 = Readonly<{
5370
5396
  /** @minItems 1 */
5371
- readonly enforce: readonly [
5372
- {
5373
- readonly blankLine: 'always' | 'never';
5374
- readonly prev: '*' | 'field' | 'method';
5375
- readonly next: '*' | 'field' | 'method';
5376
- },
5377
- ...(readonly {
5378
- readonly blankLine: 'always' | 'never';
5379
- readonly prev: '*' | 'field' | 'method';
5380
- readonly next: '*' | 'field' | 'method';
5381
- }[])
5397
+ enforce: readonly [
5398
+ Readonly<{
5399
+ blankLine: 'always' | 'never';
5400
+ prev: 'method' | 'field' | '*';
5401
+ next: 'method' | 'field' | '*';
5402
+ }>,
5403
+ ...Readonly<{
5404
+ blankLine: 'always' | 'never';
5405
+ prev: 'method' | 'field' | '*';
5406
+ next: 'method' | 'field' | '*';
5407
+ }>[]
5382
5408
  ];
5383
- } | ('always' | 'never');
5384
- type Options1 = {
5385
- readonly exceptAfterSingleLine?: boolean;
5386
- readonly exceptAfterOverload?: boolean;
5387
- };
5388
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
5409
+ }> | ('always' | 'never');
5410
+ type Options1 = Readonly<{
5411
+ /** @default false */
5412
+ exceptAfterSingleLine?: boolean;
5413
+ /** @default true */
5414
+ exceptAfterOverload?: boolean;
5415
+ }>;
5416
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
5389
5417
  }
5390
5418
  /**
5391
5419
  * Enforce consistent spacing and line break styles inside brackets.
@@ -5546,50 +5574,50 @@ declare namespace ExpListStyle {
5546
5574
  * ]
5547
5575
  * ```
5548
5576
  */
5549
- type Options = {
5550
- readonly singleLine?: SingleLineConfig;
5551
- readonly multiLine?: MultiLineConfig;
5552
- readonly overrides?: {
5553
- readonly '[]'?: BaseConfig;
5554
- readonly '{}'?: BaseConfig;
5555
- readonly '<>'?: BaseConfig;
5556
- readonly '()'?: BaseConfig;
5557
- readonly ArrayExpression?: BaseConfig;
5558
- readonly ArrayPattern?: BaseConfig;
5559
- readonly ArrowFunctionExpression?: BaseConfig;
5560
- readonly CallExpression?: BaseConfig;
5561
- readonly ExportNamedDeclaration?: BaseConfig;
5562
- readonly FunctionDeclaration?: BaseConfig;
5563
- readonly FunctionExpression?: BaseConfig;
5564
- readonly ImportDeclaration?: BaseConfig;
5565
- readonly ImportAttributes?: BaseConfig;
5566
- readonly NewExpression?: BaseConfig;
5567
- readonly ObjectExpression?: BaseConfig;
5568
- readonly ObjectPattern?: BaseConfig;
5569
- readonly TSDeclareFunction?: BaseConfig;
5570
- readonly TSFunctionType?: BaseConfig;
5571
- readonly TSInterfaceBody?: BaseConfig;
5572
- readonly TSEnumBody?: BaseConfig;
5573
- readonly TSTupleType?: BaseConfig;
5574
- readonly TSTypeLiteral?: BaseConfig;
5575
- readonly TSTypeParameterDeclaration?: BaseConfig;
5576
- readonly TSTypeParameterInstantiation?: BaseConfig;
5577
- readonly JSONArrayExpression?: BaseConfig;
5578
- readonly JSONObjectExpression?: BaseConfig;
5579
- };
5580
- };
5581
- type SingleLineConfig = {
5582
- readonly spacing?: 'always' | 'never';
5583
- readonly maxItems?: number;
5584
- };
5585
- type MultiLineConfig = {
5586
- readonly minItems?: number;
5587
- };
5588
- type BaseConfig = {
5589
- readonly singleLine?: SingleLineConfig;
5590
- readonly multiline?: MultiLineConfig;
5591
- };
5592
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
5577
+ type Options = Readonly<{
5578
+ singleLine?: SingleLineConfig;
5579
+ multiLine?: MultiLineConfig;
5580
+ overrides?: Readonly<{
5581
+ '[]'?: BaseConfig;
5582
+ '{}'?: BaseConfig;
5583
+ '<>'?: BaseConfig;
5584
+ '()'?: BaseConfig;
5585
+ ArrayExpression?: BaseConfig;
5586
+ ArrayPattern?: BaseConfig;
5587
+ ArrowFunctionExpression?: BaseConfig;
5588
+ CallExpression?: BaseConfig;
5589
+ ExportNamedDeclaration?: BaseConfig;
5590
+ FunctionDeclaration?: BaseConfig;
5591
+ FunctionExpression?: BaseConfig;
5592
+ ImportDeclaration?: BaseConfig;
5593
+ ImportAttributes?: BaseConfig;
5594
+ NewExpression?: BaseConfig;
5595
+ ObjectExpression?: BaseConfig;
5596
+ ObjectPattern?: BaseConfig;
5597
+ TSDeclareFunction?: BaseConfig;
5598
+ TSFunctionType?: BaseConfig;
5599
+ TSInterfaceBody?: BaseConfig;
5600
+ TSEnumBody?: BaseConfig;
5601
+ TSTupleType?: BaseConfig;
5602
+ TSTypeLiteral?: BaseConfig;
5603
+ TSTypeParameterDeclaration?: BaseConfig;
5604
+ TSTypeParameterInstantiation?: BaseConfig;
5605
+ JSONArrayExpression?: BaseConfig;
5606
+ JSONObjectExpression?: BaseConfig;
5607
+ }>;
5608
+ }>;
5609
+ type SingleLineConfig = Readonly<{
5610
+ spacing?: 'always' | 'never';
5611
+ maxItems?: number;
5612
+ }>;
5613
+ type MultiLineConfig = Readonly<{
5614
+ minItems?: number;
5615
+ }>;
5616
+ type BaseConfig = Readonly<{
5617
+ singleLine?: SingleLineConfig;
5618
+ multiline?: MultiLineConfig;
5619
+ }>;
5620
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
5593
5621
  }
5594
5622
  /**
5595
5623
  * Enforce a maximum line length
@@ -5745,43 +5773,43 @@ declare namespace MaxLen {
5745
5773
  * ]
5746
5774
  * ```
5747
5775
  */
5748
- type Options0 = number | {
5749
- readonly code?: number;
5750
- readonly comments?: number;
5751
- readonly tabWidth?: number;
5752
- readonly ignorePattern?: string;
5753
- readonly ignoreComments?: boolean;
5754
- readonly ignoreStrings?: boolean;
5755
- readonly ignoreUrls?: boolean;
5756
- readonly ignoreTemplateLiterals?: boolean;
5757
- readonly ignoreRegExpLiterals?: boolean;
5758
- readonly ignoreTrailingComments?: boolean;
5759
- };
5760
- type Options1 = number | {
5761
- readonly code?: number;
5762
- readonly comments?: number;
5763
- readonly tabWidth?: number;
5764
- readonly ignorePattern?: string;
5765
- readonly ignoreComments?: boolean;
5766
- readonly ignoreStrings?: boolean;
5767
- readonly ignoreUrls?: boolean;
5768
- readonly ignoreTemplateLiterals?: boolean;
5769
- readonly ignoreRegExpLiterals?: boolean;
5770
- readonly ignoreTrailingComments?: boolean;
5771
- };
5772
- type Options2 = {
5773
- readonly code?: number;
5774
- readonly comments?: number;
5775
- readonly tabWidth?: number;
5776
- readonly ignorePattern?: string;
5777
- readonly ignoreComments?: boolean;
5778
- readonly ignoreStrings?: boolean;
5779
- readonly ignoreUrls?: boolean;
5780
- readonly ignoreTemplateLiterals?: boolean;
5781
- readonly ignoreRegExpLiterals?: boolean;
5782
- readonly ignoreTrailingComments?: boolean;
5783
- };
5784
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1, Options2] | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
5776
+ type Options0 = Readonly<{
5777
+ code?: number;
5778
+ comments?: number;
5779
+ tabWidth?: number;
5780
+ ignorePattern?: string;
5781
+ ignoreComments?: boolean;
5782
+ ignoreStrings?: boolean;
5783
+ ignoreUrls?: boolean;
5784
+ ignoreTemplateLiterals?: boolean;
5785
+ ignoreRegExpLiterals?: boolean;
5786
+ ignoreTrailingComments?: boolean;
5787
+ }> | number;
5788
+ type Options1 = Readonly<{
5789
+ code?: number;
5790
+ comments?: number;
5791
+ tabWidth?: number;
5792
+ ignorePattern?: string;
5793
+ ignoreComments?: boolean;
5794
+ ignoreStrings?: boolean;
5795
+ ignoreUrls?: boolean;
5796
+ ignoreTemplateLiterals?: boolean;
5797
+ ignoreRegExpLiterals?: boolean;
5798
+ ignoreTrailingComments?: boolean;
5799
+ }> | number;
5800
+ type Options2 = Readonly<{
5801
+ code?: number;
5802
+ comments?: number;
5803
+ tabWidth?: number;
5804
+ ignorePattern?: string;
5805
+ ignoreComments?: boolean;
5806
+ ignoreStrings?: boolean;
5807
+ ignoreUrls?: boolean;
5808
+ ignoreTemplateLiterals?: boolean;
5809
+ ignoreRegExpLiterals?: boolean;
5810
+ ignoreTrailingComments?: boolean;
5811
+ }>;
5812
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0, Options1, Options2];
5785
5813
  }
5786
5814
  /**
5787
5815
  * Enforce a maximum number of statements allowed per line
@@ -5846,11 +5874,12 @@ declare namespace MaxStatementsPerLine {
5846
5874
  * ]
5847
5875
  * ```
5848
5876
  */
5849
- type Options = {
5850
- readonly max?: number;
5851
- readonly ignoredNodes?: readonly ('BreakStatement' | 'ClassDeclaration' | 'ContinueStatement' | 'DebuggerStatement' | 'DoWhileStatement' | 'ExportAllDeclaration' | 'ExportDefaultDeclaration' | 'ExportNamedDeclaration' | 'ExpressionStatement' | 'ForInStatement' | 'ForOfStatement' | 'ForStatement' | 'FunctionDeclaration' | 'IfStatement' | 'ImportDeclaration' | 'LabeledStatement' | 'ReturnStatement' | 'SwitchStatement' | 'ThrowStatement' | 'TryStatement' | 'VariableDeclaration' | 'WhileStatement' | 'WithStatement')[];
5852
- };
5853
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
5877
+ type Options = Readonly<{
5878
+ /** @default 1 */
5879
+ max?: number;
5880
+ ignoredNodes?: readonly ('BreakStatement' | 'ClassDeclaration' | 'ContinueStatement' | 'DebuggerStatement' | 'DoWhileStatement' | 'ExpressionStatement' | 'ForInStatement' | 'ForOfStatement' | 'ForStatement' | 'FunctionDeclaration' | 'IfStatement' | 'ImportDeclaration' | 'LabeledStatement' | 'ReturnStatement' | 'SwitchStatement' | 'ThrowStatement' | 'TryStatement' | 'VariableDeclaration' | 'WhileStatement' | 'WithStatement' | 'ExportNamedDeclaration' | 'ExportDefaultDeclaration' | 'ExportAllDeclaration')[];
5881
+ }>;
5882
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
5854
5883
  }
5855
5884
  /**
5856
5885
  * Require a specific member delimiter style for interfaces and type literals
@@ -5970,34 +5999,34 @@ declare namespace MemberDelimiterStyle {
5970
5999
  * ]
5971
6000
  * ```
5972
6001
  */
5973
- type MultiLineOption = 'comma' | 'none' | 'semi';
5974
- type SingleLineOption = 'comma' | 'semi';
5975
- type Options = {
5976
- readonly multiline?: {
5977
- readonly delimiter?: MultiLineOption;
5978
- readonly requireLast?: boolean;
5979
- };
5980
- readonly singleline?: {
5981
- readonly delimiter?: SingleLineOption;
5982
- readonly requireLast?: boolean;
5983
- };
5984
- readonly overrides?: {
5985
- readonly interface?: DelimiterConfig;
5986
- readonly typeLiteral?: DelimiterConfig;
5987
- };
5988
- readonly multilineDetection?: 'brackets' | 'last-member';
5989
- };
5990
- type DelimiterConfig = {
5991
- readonly multiline?: {
5992
- readonly delimiter?: MultiLineOption;
5993
- readonly requireLast?: boolean;
5994
- };
5995
- readonly singleline?: {
5996
- readonly delimiter?: SingleLineOption;
5997
- readonly requireLast?: boolean;
5998
- };
5999
- };
6000
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6002
+ type MultiLineOption = 'none' | 'semi' | 'comma';
6003
+ type SingleLineOption = 'semi' | 'comma';
6004
+ type Options = Readonly<{
6005
+ multiline?: Readonly<{
6006
+ delimiter?: MultiLineOption;
6007
+ requireLast?: boolean;
6008
+ }>;
6009
+ singleline?: Readonly<{
6010
+ delimiter?: SingleLineOption;
6011
+ requireLast?: boolean;
6012
+ }>;
6013
+ overrides?: Readonly<{
6014
+ interface?: DelimiterConfig;
6015
+ typeLiteral?: DelimiterConfig;
6016
+ }>;
6017
+ multilineDetection?: 'brackets' | 'last-member';
6018
+ }>;
6019
+ type DelimiterConfig = Readonly<{
6020
+ multiline?: Readonly<{
6021
+ delimiter?: MultiLineOption;
6022
+ requireLast?: boolean;
6023
+ }>;
6024
+ singleline?: Readonly<{
6025
+ delimiter?: SingleLineOption;
6026
+ requireLast?: boolean;
6027
+ }>;
6028
+ }>;
6029
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6001
6030
  }
6002
6031
  /**
6003
6032
  * Enforce a particular style for multiline comments
@@ -6055,14 +6084,14 @@ declare namespace MultilineCommentStyle {
6055
6084
  * }
6056
6085
  * ```
6057
6086
  */
6058
- type Options = readonly [
6087
+ type Options = readonly [] | readonly ['starred-block' | 'bare-block'] | readonly ['separate-lines'] | readonly [
6059
6088
  'separate-lines',
6060
- {
6061
- readonly checkJSDoc?: boolean;
6062
- readonly checkExclamation?: boolean;
6063
- }
6064
- ] | readonly ['bare-block' | 'starred-block'] | readonly ['separate-lines'] | readonly [];
6065
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6089
+ Readonly<{
6090
+ checkJSDoc?: boolean;
6091
+ checkExclamation?: boolean;
6092
+ }>
6093
+ ];
6094
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6066
6095
  }
6067
6096
  /**
6068
6097
  * Enforce newlines between operands of ternary expressions
@@ -6104,11 +6133,12 @@ declare namespace MultilineTernary {
6104
6133
  * ]
6105
6134
  * ```
6106
6135
  */
6107
- type Options0 = 'always-multiline' | 'always' | 'never';
6108
- type Options1 = {
6109
- readonly ignoreJSX?: boolean;
6110
- };
6111
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
6136
+ type Options0 = 'always' | 'always-multiline' | 'never';
6137
+ type Options1 = Readonly<{
6138
+ /** @default false */
6139
+ ignoreJSX?: boolean;
6140
+ }>;
6141
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
6112
6142
  }
6113
6143
  /**
6114
6144
  * Enforce or disallow parentheses when invoking a constructor with no arguments
@@ -6140,7 +6170,7 @@ declare namespace NewParens {
6140
6170
  * ```
6141
6171
  */
6142
6172
  type Options = 'always' | 'never';
6143
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6173
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6144
6174
  }
6145
6175
  /**
6146
6176
  * Require a newline after each call in a method chain
@@ -6176,10 +6206,11 @@ declare namespace NewlinePerChainedCall {
6176
6206
  * ]
6177
6207
  * ```
6178
6208
  */
6179
- type Options = {
6180
- readonly ignoreChainWithDepth?: number;
6181
- };
6182
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6209
+ type Options = Readonly<{
6210
+ /** @default 2 */
6211
+ ignoreChainWithDepth?: number;
6212
+ }>;
6213
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6183
6214
  }
6184
6215
  /**
6185
6216
  * Disallow arrow functions where they could be confused with comparisons
@@ -6217,11 +6248,13 @@ declare namespace NoConfusingArrow {
6217
6248
  * ]
6218
6249
  * ```
6219
6250
  */
6220
- type Options = {
6221
- readonly allowParens?: boolean;
6222
- readonly onlyOneSimpleParam?: boolean;
6223
- };
6224
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6251
+ type Options = Readonly<{
6252
+ /** @default true */
6253
+ allowParens?: boolean;
6254
+ /** @default false */
6255
+ onlyOneSimpleParam?: boolean;
6256
+ }>;
6257
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6225
6258
  }
6226
6259
  /**
6227
6260
  * Disallow unnecessary parentheses
@@ -6334,29 +6367,29 @@ declare namespace NoExtraParens {
6334
6367
  * }
6335
6368
  * ```
6336
6369
  */
6337
- type Options = readonly [
6370
+ type Options = readonly [] | readonly ['functions'] | readonly ['all'] | readonly [
6338
6371
  'all',
6339
- {
6340
- readonly conditionalAssign?: boolean;
6341
- readonly ternaryOperandBinaryExpressions?: boolean;
6342
- readonly nestedBinaryExpressions?: boolean;
6343
- readonly returnAssign?: boolean;
6344
- readonly ignoreJSX?: 'all' | 'multi-line' | 'none' | 'single-line';
6345
- readonly enforceForArrowConditionals?: boolean;
6346
- readonly enforceForSequenceExpressions?: boolean;
6347
- readonly enforceForNewInMemberExpressions?: boolean;
6348
- readonly enforceForFunctionPrototypeMethods?: boolean;
6349
- readonly allowParensAfterCommentPattern?: string;
6350
- readonly nestedConditionalExpressions?: boolean;
6351
- readonly allowNodesInSpreadElement?: {
6352
- readonly ConditionalExpression?: boolean;
6353
- readonly LogicalExpression?: boolean;
6354
- readonly AwaitExpression?: boolean;
6355
- };
6356
- readonly ignoredNodes?: readonly string[];
6357
- }
6358
- ] | readonly ['all'] | readonly ['functions'] | readonly [];
6359
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6372
+ Readonly<{
6373
+ conditionalAssign?: boolean;
6374
+ ternaryOperandBinaryExpressions?: boolean;
6375
+ nestedBinaryExpressions?: boolean;
6376
+ returnAssign?: boolean;
6377
+ ignoreJSX?: 'none' | 'all' | 'single-line' | 'multi-line';
6378
+ enforceForArrowConditionals?: boolean;
6379
+ enforceForSequenceExpressions?: boolean;
6380
+ enforceForNewInMemberExpressions?: boolean;
6381
+ enforceForFunctionPrototypeMethods?: boolean;
6382
+ allowParensAfterCommentPattern?: string;
6383
+ nestedConditionalExpressions?: boolean;
6384
+ allowNodesInSpreadElement?: Readonly<{
6385
+ ConditionalExpression?: boolean;
6386
+ LogicalExpression?: boolean;
6387
+ AwaitExpression?: boolean;
6388
+ }>;
6389
+ ignoredNodes?: readonly string[];
6390
+ }>
6391
+ ];
6392
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6360
6393
  }
6361
6394
  /**
6362
6395
  * Disallow unnecessary semicolons
@@ -6462,15 +6495,16 @@ declare namespace NoMixedOperators {
6462
6495
  * ]
6463
6496
  * ```
6464
6497
  */
6465
- type Options = {
6466
- readonly groups?: readonly (readonly [
6467
- ('-' | '!=' | '!==' | '?:' | '??' | '*' | '**' | '/' | '&' | '&&' | '%' | '^' | '+' | '<' | '<<' | '<=' | '==' | '===' | '>' | '>=' | '>>' | '>>>' | '|' | '||' | '~' | 'in' | 'instanceof'),
6468
- ('-' | '!=' | '!==' | '?:' | '??' | '*' | '**' | '/' | '&' | '&&' | '%' | '^' | '+' | '<' | '<<' | '<=' | '==' | '===' | '>' | '>=' | '>>' | '>>>' | '|' | '||' | '~' | 'in' | 'instanceof'),
6469
- ...(readonly ('-' | '!=' | '!==' | '?:' | '??' | '*' | '**' | '/' | '&' | '&&' | '%' | '^' | '+' | '<' | '<<' | '<=' | '==' | '===' | '>' | '>=' | '>>' | '>>>' | '|' | '||' | '~' | 'in' | 'instanceof')[])
6498
+ type Options = Readonly<{
6499
+ groups?: readonly (readonly [
6500
+ ('+' | '-' | '*' | '/' | '%' | '**' | '&' | '|' | '^' | '~' | '<<' | '>>' | '>>>' | '==' | '!=' | '===' | '!==' | '>' | '>=' | '<' | '<=' | '&&' | '||' | 'in' | 'instanceof' | '?:' | '??'),
6501
+ ('+' | '-' | '*' | '/' | '%' | '**' | '&' | '|' | '^' | '~' | '<<' | '>>' | '>>>' | '==' | '!=' | '===' | '!==' | '>' | '>=' | '<' | '<=' | '&&' | '||' | 'in' | 'instanceof' | '?:' | '??'),
6502
+ ...('+' | '-' | '*' | '/' | '%' | '**' | '&' | '|' | '^' | '~' | '<<' | '>>' | '>>>' | '==' | '!=' | '===' | '!==' | '>' | '>=' | '<' | '<=' | '&&' | '||' | 'in' | 'instanceof' | '?:' | '??')[]
6470
6503
  ])[];
6471
- readonly allowSamePrecedence?: boolean;
6472
- };
6473
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6504
+ /** @default true */
6505
+ allowSamePrecedence?: boolean;
6506
+ }>;
6507
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6474
6508
  }
6475
6509
  /**
6476
6510
  * Disallow mixed spaces and tabs for indentation
@@ -6506,8 +6540,8 @@ declare namespace NoMixedSpacesAndTabs {
6506
6540
  * ]
6507
6541
  * ```
6508
6542
  */
6509
- type Options = boolean | 'smart-tabs';
6510
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6543
+ type Options = 'smart-tabs' | boolean;
6544
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6511
6545
  }
6512
6546
  /**
6513
6547
  * Disallow multiple spaces
@@ -6554,12 +6588,14 @@ declare namespace NoMultiSpaces {
6554
6588
  * ]
6555
6589
  * ```
6556
6590
  */
6557
- type Options = {
6558
- readonly exceptions?: Record<string, boolean>;
6559
- readonly ignoreEOLComments?: boolean;
6560
- readonly includeTabs?: boolean;
6561
- };
6562
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6591
+ type Options = Readonly<{
6592
+ exceptions?: Readonly<Record<string, boolean>>;
6593
+ /** @default false */
6594
+ ignoreEOLComments?: boolean;
6595
+ /** @default true */
6596
+ includeTabs?: boolean;
6597
+ }>;
6598
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6563
6599
  }
6564
6600
  /**
6565
6601
  * Disallow multiple empty lines
@@ -6604,12 +6640,12 @@ declare namespace NoMultipleEmptyLines {
6604
6640
  * ]
6605
6641
  * ```
6606
6642
  */
6607
- type Options = {
6608
- readonly max: number;
6609
- readonly maxEOF?: number;
6610
- readonly maxBOF?: number;
6611
- };
6612
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6643
+ type Options = Readonly<{
6644
+ max: number;
6645
+ maxEOF?: number;
6646
+ maxBOF?: number;
6647
+ }>;
6648
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6613
6649
  }
6614
6650
  /**
6615
6651
  * Disallow all tabs
@@ -6642,10 +6678,11 @@ declare namespace NoTabs {
6642
6678
  * ]
6643
6679
  * ```
6644
6680
  */
6645
- type Options = {
6646
- readonly allowIndentationTabs?: boolean;
6647
- };
6648
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6681
+ type Options = Readonly<{
6682
+ /** @default false */
6683
+ allowIndentationTabs?: boolean;
6684
+ }>;
6685
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6649
6686
  }
6650
6687
  /**
6651
6688
  * Disallow trailing whitespace at the end of lines
@@ -6683,11 +6720,13 @@ declare namespace NoTrailingSpaces {
6683
6720
  * ]
6684
6721
  * ```
6685
6722
  */
6686
- type Options = {
6687
- readonly skipBlankLines?: boolean;
6688
- readonly ignoreComments?: boolean;
6689
- };
6690
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
6723
+ type Options = Readonly<{
6724
+ /** @default false */
6725
+ skipBlankLines?: boolean;
6726
+ /** @default false */
6727
+ ignoreComments?: boolean;
6728
+ }>;
6729
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
6691
6730
  }
6692
6731
  /**
6693
6732
  * Disallow whitespace before properties
@@ -6787,17 +6826,17 @@ declare namespace NonblockStatementBodyPosition {
6787
6826
  * ]
6788
6827
  * ```
6789
6828
  */
6790
- type Options0 = 'any' | 'below' | 'beside';
6791
- type Options1 = {
6792
- readonly overrides?: {
6793
- readonly if?: 'any' | 'below' | 'beside';
6794
- readonly else?: 'any' | 'below' | 'beside';
6795
- readonly while?: 'any' | 'below' | 'beside';
6796
- readonly do?: 'any' | 'below' | 'beside';
6797
- readonly for?: 'any' | 'below' | 'beside';
6798
- };
6799
- };
6800
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
6829
+ type Options0 = 'beside' | 'below' | 'any';
6830
+ type Options1 = Readonly<{
6831
+ overrides?: Readonly<{
6832
+ if?: 'beside' | 'below' | 'any';
6833
+ else?: 'beside' | 'below' | 'any';
6834
+ while?: 'beside' | 'below' | 'any';
6835
+ do?: 'beside' | 'below' | 'any';
6836
+ for?: 'beside' | 'below' | 'any';
6837
+ }>;
6838
+ }>;
6839
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
6801
6840
  }
6802
6841
  /**
6803
6842
  * Enforce consistent line breaks after opening and before closing braces
@@ -7056,48 +7095,48 @@ declare namespace ObjectCurlyNewline {
7056
7095
  * ]
7057
7096
  * ```
7058
7097
  */
7059
- type Options = 'always' | 'never' | {
7060
- readonly multiline?: boolean;
7061
- readonly minProperties?: number;
7062
- readonly consistent?: boolean;
7063
- } | {
7064
- readonly ObjectExpression?: 'always' | 'never' | {
7065
- readonly multiline?: boolean;
7066
- readonly minProperties?: number;
7067
- readonly consistent?: boolean;
7068
- };
7069
- readonly ObjectPattern?: 'always' | 'never' | {
7070
- readonly multiline?: boolean;
7071
- readonly minProperties?: number;
7072
- readonly consistent?: boolean;
7073
- };
7074
- readonly ImportDeclaration?: 'always' | 'never' | {
7075
- readonly multiline?: boolean;
7076
- readonly minProperties?: number;
7077
- readonly consistent?: boolean;
7078
- };
7079
- readonly ExportDeclaration?: 'always' | 'never' | {
7080
- readonly multiline?: boolean;
7081
- readonly minProperties?: number;
7082
- readonly consistent?: boolean;
7083
- };
7084
- readonly TSTypeLiteral?: 'always' | 'never' | {
7085
- readonly multiline?: boolean;
7086
- readonly minProperties?: number;
7087
- readonly consistent?: boolean;
7088
- };
7089
- readonly TSInterfaceBody?: 'always' | 'never' | {
7090
- readonly multiline?: boolean;
7091
- readonly minProperties?: number;
7092
- readonly consistent?: boolean;
7093
- };
7094
- readonly TSEnumBody?: 'always' | 'never' | {
7095
- readonly multiline?: boolean;
7096
- readonly minProperties?: number;
7097
- readonly consistent?: boolean;
7098
- };
7099
- };
7100
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7098
+ type Options = (('always' | 'never') | Readonly<{
7099
+ multiline?: boolean;
7100
+ minProperties?: number;
7101
+ consistent?: boolean;
7102
+ }>) | Readonly<{
7103
+ ObjectExpression?: ('always' | 'never') | Readonly<{
7104
+ multiline?: boolean;
7105
+ minProperties?: number;
7106
+ consistent?: boolean;
7107
+ }>;
7108
+ ObjectPattern?: ('always' | 'never') | Readonly<{
7109
+ multiline?: boolean;
7110
+ minProperties?: number;
7111
+ consistent?: boolean;
7112
+ }>;
7113
+ ImportDeclaration?: ('always' | 'never') | Readonly<{
7114
+ multiline?: boolean;
7115
+ minProperties?: number;
7116
+ consistent?: boolean;
7117
+ }>;
7118
+ ExportDeclaration?: ('always' | 'never') | Readonly<{
7119
+ multiline?: boolean;
7120
+ minProperties?: number;
7121
+ consistent?: boolean;
7122
+ }>;
7123
+ TSTypeLiteral?: ('always' | 'never') | Readonly<{
7124
+ multiline?: boolean;
7125
+ minProperties?: number;
7126
+ consistent?: boolean;
7127
+ }>;
7128
+ TSInterfaceBody?: ('always' | 'never') | Readonly<{
7129
+ multiline?: boolean;
7130
+ minProperties?: number;
7131
+ consistent?: boolean;
7132
+ }>;
7133
+ TSEnumBody?: ('always' | 'never') | Readonly<{
7134
+ multiline?: boolean;
7135
+ minProperties?: number;
7136
+ consistent?: boolean;
7137
+ }>;
7138
+ }>;
7139
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7101
7140
  }
7102
7141
  /**
7103
7142
  * Enforce consistent spacing inside braces
@@ -7225,24 +7264,24 @@ declare namespace ObjectCurlySpacing {
7225
7264
  * ```
7226
7265
  */
7227
7266
  type Options0 = 'always' | 'never';
7228
- type Options1 = {
7229
- readonly arraysInObjects?: boolean;
7230
- readonly objectsInObjects?: boolean;
7231
- readonly overrides?: {
7232
- readonly ObjectPattern?: 'always' | 'never';
7233
- readonly ObjectExpression?: 'always' | 'never';
7234
- readonly ImportDeclaration?: 'always' | 'never';
7235
- readonly ImportAttributes?: 'always' | 'never';
7236
- readonly ExportNamedDeclaration?: 'always' | 'never';
7237
- readonly ExportAllDeclaration?: 'always' | 'never';
7238
- readonly TSMappedType?: 'always' | 'never';
7239
- readonly TSTypeLiteral?: 'always' | 'never';
7240
- readonly TSInterfaceBody?: 'always' | 'never';
7241
- readonly TSEnumBody?: 'always' | 'never';
7242
- };
7243
- readonly emptyObjects?: 'always' | 'ignore' | 'never';
7244
- };
7245
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
7267
+ type Options1 = Readonly<{
7268
+ arraysInObjects?: boolean;
7269
+ objectsInObjects?: boolean;
7270
+ overrides?: Readonly<{
7271
+ ObjectPattern?: 'always' | 'never';
7272
+ ObjectExpression?: 'always' | 'never';
7273
+ ImportDeclaration?: 'always' | 'never';
7274
+ ImportAttributes?: 'always' | 'never';
7275
+ ExportNamedDeclaration?: 'always' | 'never';
7276
+ ExportAllDeclaration?: 'always' | 'never';
7277
+ TSMappedType?: 'always' | 'never';
7278
+ TSTypeLiteral?: 'always' | 'never';
7279
+ TSInterfaceBody?: 'always' | 'never';
7280
+ TSEnumBody?: 'always' | 'never';
7281
+ }>;
7282
+ emptyObjects?: 'ignore' | 'always' | 'never';
7283
+ }>;
7284
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
7246
7285
  }
7247
7286
  /**
7248
7287
  * Enforce placing object properties on separate lines
@@ -7276,10 +7315,11 @@ declare namespace ObjectPropertyNewline {
7276
7315
  * ]
7277
7316
  * ```
7278
7317
  */
7279
- type Options = {
7280
- readonly allowAllPropertiesOnSameLine?: boolean;
7281
- };
7282
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7318
+ type Options = Readonly<{
7319
+ /** @default false */
7320
+ allowAllPropertiesOnSameLine?: boolean;
7321
+ }>;
7322
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7283
7323
  }
7284
7324
  /**
7285
7325
  * Require or disallow newlines around variable declarations
@@ -7311,7 +7351,7 @@ declare namespace OneVarDeclarationPerLine {
7311
7351
  * ```
7312
7352
  */
7313
7353
  type Options = 'always' | 'initializations';
7314
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7354
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7315
7355
  }
7316
7356
  /**
7317
7357
  * Enforce consistent linebreak style for operators
@@ -7369,10 +7409,10 @@ declare namespace OperatorLinebreak {
7369
7409
  * ```
7370
7410
  */
7371
7411
  type Options0 = ('after' | 'before' | 'none') | null;
7372
- type Options1 = {
7373
- readonly overrides?: Record<string, 'after' | 'before' | 'ignore' | 'none'>;
7374
- };
7375
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
7412
+ type Options1 = Readonly<{
7413
+ overrides?: Readonly<Record<string, 'after' | 'before' | 'none' | 'ignore'>>;
7414
+ }>;
7415
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
7376
7416
  }
7377
7417
  /**
7378
7418
  * Require or disallow padding within blocks
@@ -7452,15 +7492,15 @@ declare namespace PaddedBlocks {
7452
7492
  * ]
7453
7493
  * ```
7454
7494
  */
7455
- type Options0 = 'always' | 'end' | 'never' | 'start' | {
7456
- readonly blocks?: 'always' | 'end' | 'never' | 'start';
7457
- readonly switches?: 'always' | 'end' | 'never' | 'start';
7458
- readonly classes?: 'always' | 'end' | 'never' | 'start';
7459
- };
7460
- type Options1 = {
7461
- readonly allowSingleLineBlocks?: boolean;
7462
- };
7463
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
7495
+ type Options0 = ('always' | 'never' | 'start' | 'end') | Readonly<{
7496
+ blocks?: 'always' | 'never' | 'start' | 'end';
7497
+ switches?: 'always' | 'never' | 'start' | 'end';
7498
+ classes?: 'always' | 'never' | 'start' | 'end';
7499
+ }>;
7500
+ type Options1 = Readonly<{
7501
+ allowSingleLineBlocks?: boolean;
7502
+ }>;
7503
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
7464
7504
  }
7465
7505
  /**
7466
7506
  * Require or disallow padding lines between statements
@@ -7586,15 +7626,15 @@ declare namespace PaddingLineBetweenStatements {
7586
7626
  * }
7587
7627
  * ```
7588
7628
  */
7589
- type PaddingType = 'always' | 'any' | 'never';
7590
- type StatementOption = StatementType | readonly [StatementType, ...(readonly StatementType[])];
7591
- type StatementType = '*' | 'block-like' | 'block' | 'break' | 'case' | 'cjs-export' | 'cjs-import' | 'class' | 'const' | 'continue' | 'debugger' | 'default' | 'directive' | 'do' | 'empty' | 'enum' | 'export' | 'exports' | 'expression' | 'for' | 'function-overload' | 'function' | 'if' | 'iife' | 'import' | 'interface' | 'let' | 'multiline-block-like' | 'multiline-const' | 'multiline-export' | 'multiline-expression' | 'multiline-let' | 'multiline-return' | 'multiline-type' | 'multiline-using' | 'multiline-var' | 'require' | 'return' | 'singleline-block-like' | 'singleline-const' | 'singleline-export' | 'singleline-expression' | 'singleline-let' | 'singleline-return' | 'singleline-type' | 'singleline-using' | 'singleline-var' | 'switch' | 'throw' | 'try' | 'ts-method' | 'type' | 'using' | 'var' | 'while' | 'with';
7592
- type Options = readonly {
7593
- readonly blankLine: PaddingType;
7594
- readonly prev: StatementOption;
7595
- readonly next: StatementOption;
7596
- }[];
7597
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7629
+ type PaddingType = 'any' | 'never' | 'always';
7630
+ type StatementOption = StatementType | readonly [StatementType, ...StatementType[]];
7631
+ type StatementType = '*' | 'exports' | 'require' | 'directive' | 'iife' | 'block' | 'empty' | 'function' | 'ts-method' | 'break' | 'case' | 'class' | 'continue' | 'debugger' | 'default' | 'do' | 'for' | 'if' | 'import' | 'switch' | 'throw' | 'try' | 'while' | 'with' | 'cjs-export' | 'cjs-import' | 'enum' | 'interface' | 'function-overload' | 'block-like' | 'singleline-block-like' | 'multiline-block-like' | 'expression' | 'singleline-expression' | 'multiline-expression' | 'return' | 'singleline-return' | 'multiline-return' | 'export' | 'singleline-export' | 'multiline-export' | 'var' | 'singleline-var' | 'multiline-var' | 'let' | 'singleline-let' | 'multiline-let' | 'const' | 'singleline-const' | 'multiline-const' | 'using' | 'singleline-using' | 'multiline-using' | 'type' | 'singleline-type' | 'multiline-type';
7632
+ type Options = readonly Readonly<{
7633
+ blankLine: PaddingType;
7634
+ prev: StatementOption;
7635
+ next: StatementOption;
7636
+ }>[];
7637
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7598
7638
  }
7599
7639
  /**
7600
7640
  * Require quotes around object literal, type literal, interfaces and enums
@@ -7668,15 +7708,15 @@ declare namespace QuoteProps {
7668
7708
  * }
7669
7709
  * ```
7670
7710
  */
7671
- type Options = readonly [
7672
- 'always' | 'as-needed' | 'consistent-as-needed' | 'consistent',
7673
- {
7674
- readonly keywords?: boolean;
7675
- readonly unnecessary?: boolean;
7676
- readonly numbers?: boolean;
7677
- }
7678
- ] | readonly ['always' | 'as-needed' | 'consistent-as-needed' | 'consistent'] | readonly [];
7679
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7711
+ type Options = readonly [] | readonly ['always' | 'as-needed' | 'consistent' | 'consistent-as-needed'] | readonly [
7712
+ 'always' | 'as-needed' | 'consistent' | 'consistent-as-needed',
7713
+ Readonly<{
7714
+ keywords?: boolean;
7715
+ unnecessary?: boolean;
7716
+ numbers?: boolean;
7717
+ }>
7718
+ ];
7719
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7680
7720
  }
7681
7721
  /**
7682
7722
  * Enforce the consistent use of either backticks, double, or single quotes
@@ -7745,13 +7785,13 @@ declare namespace Quotes {
7745
7785
  * ]
7746
7786
  * ```
7747
7787
  */
7748
- type Options0 = 'backtick' | 'double' | 'single';
7749
- type Options1 = 'avoid-escape' | {
7750
- readonly avoidEscape?: boolean;
7751
- readonly allowTemplateLiterals?: boolean | ('always' | 'avoidEscape' | 'never');
7752
- readonly ignoreStringLiterals?: boolean;
7753
- };
7754
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
7788
+ type Options0 = 'single' | 'double' | 'backtick';
7789
+ type Options1 = 'avoid-escape' | Readonly<{
7790
+ avoidEscape?: boolean;
7791
+ allowTemplateLiterals?: boolean | ('never' | 'avoidEscape' | 'always');
7792
+ ignoreStringLiterals?: boolean;
7793
+ }>;
7794
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
7755
7795
  }
7756
7796
  /**
7757
7797
  * Enforce spacing between rest and spread operators and their expressions
@@ -7783,7 +7823,7 @@ declare namespace RestSpreadSpacing {
7783
7823
  * ```
7784
7824
  */
7785
7825
  type Options = 'always' | 'never';
7786
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7826
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7787
7827
  }
7788
7828
  /**
7789
7829
  * Require or disallow semicolons instead of ASI
@@ -7853,19 +7893,19 @@ declare namespace Semi {
7853
7893
  * }
7854
7894
  * ```
7855
7895
  */
7856
- type Options = readonly [
7857
- 'always',
7858
- {
7859
- readonly omitLastInOneLineBlock?: boolean;
7860
- readonly omitLastInOneLineClassBody?: boolean;
7861
- }
7862
- ] | readonly [
7896
+ type Options = readonly [] | readonly ['never'] | readonly [
7863
7897
  'never',
7864
- {
7865
- readonly beforeStatementContinuationChars?: 'always' | 'any' | 'never';
7866
- }
7867
- ] | readonly ['always'] | readonly ['never'] | readonly [];
7868
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7898
+ Readonly<{
7899
+ beforeStatementContinuationChars?: 'always' | 'any' | 'never';
7900
+ }>
7901
+ ] | readonly ['always'] | readonly [
7902
+ 'always',
7903
+ Readonly<{
7904
+ omitLastInOneLineBlock?: boolean;
7905
+ omitLastInOneLineClassBody?: boolean;
7906
+ }>
7907
+ ];
7908
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7869
7909
  }
7870
7910
  /**
7871
7911
  * Enforce consistent spacing before and after semicolons
@@ -7903,11 +7943,13 @@ declare namespace SemiSpacing {
7903
7943
  * ]
7904
7944
  * ```
7905
7945
  */
7906
- type Options = {
7907
- readonly before?: boolean;
7908
- readonly after?: boolean;
7909
- };
7910
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7946
+ type Options = Readonly<{
7947
+ /** @default false */
7948
+ before?: boolean;
7949
+ /** @default true */
7950
+ after?: boolean;
7951
+ }>;
7952
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7911
7953
  }
7912
7954
  /**
7913
7955
  * Enforce location of semicolons
@@ -7938,8 +7980,8 @@ declare namespace SemiStyle {
7938
7980
  * ]
7939
7981
  * ```
7940
7982
  */
7941
- type Options = 'first' | 'last';
7942
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
7983
+ type Options = 'last' | 'first';
7984
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
7943
7985
  }
7944
7986
  /**
7945
7987
  * Enforce consistent spacing before blocks
@@ -8012,13 +8054,13 @@ declare namespace SpaceBeforeBlocks {
8012
8054
  * ]
8013
8055
  * ```
8014
8056
  */
8015
- type Options = 'always' | 'never' | {
8016
- readonly keywords?: 'always' | 'never' | 'off';
8017
- readonly functions?: 'always' | 'never' | 'off';
8018
- readonly classes?: 'always' | 'never' | 'off';
8019
- readonly modules?: 'always' | 'never' | 'off';
8020
- };
8021
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8057
+ type Options = ('always' | 'never') | Readonly<{
8058
+ keywords?: 'always' | 'never' | 'off';
8059
+ functions?: 'always' | 'never' | 'off';
8060
+ classes?: 'always' | 'never' | 'off';
8061
+ modules?: 'always' | 'never' | 'off';
8062
+ }>;
8063
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8022
8064
  }
8023
8065
  /**
8024
8066
  * Enforce consistent spacing before function parenthesis
@@ -8091,13 +8133,13 @@ declare namespace SpaceBeforeFunctionParen {
8091
8133
  * ]
8092
8134
  * ```
8093
8135
  */
8094
- type Options = 'always' | 'never' | {
8095
- readonly anonymous?: 'always' | 'ignore' | 'never';
8096
- readonly named?: 'always' | 'ignore' | 'never';
8097
- readonly asyncArrow?: 'always' | 'ignore' | 'never';
8098
- readonly catch?: 'always' | 'ignore' | 'never';
8099
- };
8100
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8136
+ type Options = ('always' | 'never') | Readonly<{
8137
+ anonymous?: 'always' | 'never' | 'ignore';
8138
+ named?: 'always' | 'never' | 'ignore';
8139
+ asyncArrow?: 'always' | 'never' | 'ignore';
8140
+ catch?: 'always' | 'never' | 'ignore';
8141
+ }>;
8142
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8101
8143
  }
8102
8144
  /**
8103
8145
  * Enforce consistent spacing inside parentheses
@@ -8148,10 +8190,10 @@ declare namespace SpaceInParens {
8148
8190
  * ```
8149
8191
  */
8150
8192
  type Options0 = 'always' | 'never';
8151
- type Options1 = {
8152
- readonly exceptions?: readonly ('()' | '[]' | '{}' | 'empty')[];
8153
- };
8154
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
8193
+ type Options1 = Readonly<{
8194
+ exceptions?: readonly ('{}' | '[]' | '()' | 'empty')[];
8195
+ }>;
8196
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
8155
8197
  }
8156
8198
  /**
8157
8199
  * Require spacing around infix operators
@@ -8189,11 +8231,13 @@ declare namespace SpaceInfixOps {
8189
8231
  * ]
8190
8232
  * ```
8191
8233
  */
8192
- type Options = {
8193
- readonly int32Hint?: boolean;
8194
- readonly ignoreTypes?: boolean;
8195
- };
8196
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8234
+ type Options = Readonly<{
8235
+ /** @default false */
8236
+ int32Hint?: boolean;
8237
+ /** @default false */
8238
+ ignoreTypes?: boolean;
8239
+ }>;
8240
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8197
8241
  }
8198
8242
  /**
8199
8243
  * Enforce consistent spacing before or after unary operators
@@ -8237,12 +8281,14 @@ declare namespace SpaceUnaryOps {
8237
8281
  * ]
8238
8282
  * ```
8239
8283
  */
8240
- type Options = {
8241
- readonly words?: boolean;
8242
- readonly nonwords?: boolean;
8243
- readonly overrides?: Record<string, boolean>;
8244
- };
8245
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8284
+ type Options = Readonly<{
8285
+ /** @default true */
8286
+ words?: boolean;
8287
+ /** @default false */
8288
+ nonwords?: boolean;
8289
+ overrides?: Readonly<Record<string, boolean>>;
8290
+ }>;
8291
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8246
8292
  }
8247
8293
  /**
8248
8294
  * Enforce consistent spacing after the `//` or ` ` in a comment
@@ -8332,20 +8378,20 @@ declare namespace SpacedComment {
8332
8378
  * ```
8333
8379
  */
8334
8380
  type Options0 = 'always' | 'never';
8335
- type Options1 = {
8336
- readonly exceptions?: readonly string[];
8337
- readonly markers?: readonly string[];
8338
- readonly line?: {
8339
- readonly exceptions?: readonly string[];
8340
- readonly markers?: readonly string[];
8341
- };
8342
- readonly block?: {
8343
- readonly exceptions?: readonly string[];
8344
- readonly markers?: readonly string[];
8345
- readonly balanced?: boolean;
8346
- };
8347
- };
8348
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
8381
+ type Options1 = Readonly<{
8382
+ exceptions?: readonly string[];
8383
+ markers?: readonly string[];
8384
+ line?: Readonly<{
8385
+ exceptions?: readonly string[];
8386
+ markers?: readonly string[];
8387
+ }>;
8388
+ block?: Readonly<{
8389
+ exceptions?: readonly string[];
8390
+ markers?: readonly string[];
8391
+ balanced?: boolean;
8392
+ }>;
8393
+ }>;
8394
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
8349
8395
  }
8350
8396
  /**
8351
8397
  * Enforce spacing around colons of switch statements
@@ -8383,11 +8429,13 @@ declare namespace SwitchColonSpacing {
8383
8429
  * ]
8384
8430
  * ```
8385
8431
  */
8386
- type Options = {
8387
- readonly before?: boolean;
8388
- readonly after?: boolean;
8389
- };
8390
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8432
+ type Options = Readonly<{
8433
+ /** @default false */
8434
+ before?: boolean;
8435
+ /** @default true */
8436
+ after?: boolean;
8437
+ }>;
8438
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8391
8439
  }
8392
8440
  /**
8393
8441
  * Require or disallow spacing around embedded expressions of template strings
@@ -8419,7 +8467,7 @@ declare namespace TemplateCurlySpacing {
8419
8467
  * ```
8420
8468
  */
8421
8469
  type Options = 'always' | 'never';
8422
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8470
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8423
8471
  }
8424
8472
  /**
8425
8473
  * Require or disallow spacing between template tags and their literals
@@ -8451,7 +8499,7 @@ declare namespace TemplateTagSpacing {
8451
8499
  * ```
8452
8500
  */
8453
8501
  type Options = 'always' | 'never';
8454
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8502
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8455
8503
  }
8456
8504
  /**
8457
8505
  * Require consistent spacing around type annotations
@@ -8525,23 +8573,23 @@ declare namespace TypeAnnotationSpacing {
8525
8573
  * ]
8526
8574
  * ```
8527
8575
  */
8528
- type Options = {
8529
- readonly before?: boolean;
8530
- readonly after?: boolean;
8531
- readonly overrides?: {
8532
- readonly colon?: SpacingConfig;
8533
- readonly arrow?: SpacingConfig;
8534
- readonly variable?: SpacingConfig;
8535
- readonly parameter?: SpacingConfig;
8536
- readonly property?: SpacingConfig;
8537
- readonly returnType?: SpacingConfig;
8538
- };
8539
- };
8540
- type SpacingConfig = {
8541
- readonly before?: boolean;
8542
- readonly after?: boolean;
8543
- };
8544
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8576
+ type Options = Readonly<{
8577
+ before?: boolean;
8578
+ after?: boolean;
8579
+ overrides?: Readonly<{
8580
+ colon?: SpacingConfig;
8581
+ arrow?: SpacingConfig;
8582
+ variable?: SpacingConfig;
8583
+ parameter?: SpacingConfig;
8584
+ property?: SpacingConfig;
8585
+ returnType?: SpacingConfig;
8586
+ }>;
8587
+ }>;
8588
+ type SpacingConfig = Readonly<{
8589
+ before?: boolean;
8590
+ after?: boolean;
8591
+ }>;
8592
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8545
8593
  }
8546
8594
  /**
8547
8595
  * Enforces consistent spacing inside TypeScript type generics
@@ -8615,11 +8663,12 @@ declare namespace WrapIife {
8615
8663
  * ]
8616
8664
  * ```
8617
8665
  */
8618
- type Options0 = 'any' | 'inside' | 'outside';
8619
- type Options1 = {
8620
- readonly functionPrototypeMethods?: boolean;
8621
- };
8622
- type RuleEntry = Linter.Severity | readonly [Linter.StringSeverity, Options0, Options1] | readonly [Linter.StringSeverity, Options0] | 'off';
8666
+ type Options0 = 'outside' | 'inside' | 'any';
8667
+ type Options1 = Readonly<{
8668
+ /** @default false */
8669
+ functionPrototypeMethods?: boolean;
8670
+ }>;
8671
+ type RuleEntry = 'off' | Linter.Severity | readonly [Linter.StringSeverity, Options0] | readonly [Linter.StringSeverity, Options0, Options1];
8623
8672
  }
8624
8673
  /**
8625
8674
  * Require parenthesis around regex literals
@@ -8684,244 +8733,235 @@ declare namespace YieldStarSpacing {
8684
8733
  * ]
8685
8734
  * ```
8686
8735
  */
8687
- type Options = 'after' | 'before' | 'both' | 'neither' | {
8688
- readonly before?: boolean;
8689
- readonly after?: boolean;
8690
- };
8691
- type RuleEntry = Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]> | 'off';
8736
+ type Options = ('before' | 'after' | 'both' | 'neither') | Readonly<{
8737
+ before?: boolean;
8738
+ after?: boolean;
8739
+ }>;
8740
+ type RuleEntry = 'off' | Linter.Severity | SpreadOptionsIfIsArray<readonly [Linter.StringSeverity, Options]>;
8692
8741
  }
8693
- export type EslintStylisticRules = {
8694
- readonly '@stylistic/array-bracket-newline': ArrayBracketNewline.RuleEntry;
8695
- readonly '@stylistic/array-bracket-spacing': ArrayBracketSpacing.RuleEntry;
8696
- readonly '@stylistic/array-element-newline': ArrayElementNewline.RuleEntry;
8697
- readonly '@stylistic/arrow-parens': ArrowParens.RuleEntry;
8698
- readonly '@stylistic/arrow-spacing': ArrowSpacing.RuleEntry;
8699
- readonly '@stylistic/block-spacing': BlockSpacing.RuleEntry;
8700
- readonly '@stylistic/brace-style': BraceStyle.RuleEntry;
8701
- readonly '@stylistic/comma-dangle': CommaDangle.RuleEntry;
8702
- readonly '@stylistic/comma-spacing': CommaSpacing.RuleEntry;
8703
- readonly '@stylistic/comma-style': CommaStyle.RuleEntry;
8704
- readonly '@stylistic/computed-property-spacing': ComputedPropertySpacing.RuleEntry;
8705
- readonly '@stylistic/curly-newline': CurlyNewline.RuleEntry;
8706
- readonly '@stylistic/dot-location': DotLocation.RuleEntry;
8707
- readonly '@stylistic/eol-last': EolLast.RuleEntry;
8708
- readonly '@stylistic/function-call-argument-newline': FunctionCallArgumentNewline.RuleEntry;
8709
- readonly '@stylistic/function-call-spacing': FunctionCallSpacing.RuleEntry;
8710
- readonly '@stylistic/function-paren-newline': FunctionParenNewline.RuleEntry;
8711
- readonly '@stylistic/generator-star-spacing': GeneratorStarSpacing.RuleEntry;
8712
- readonly '@stylistic/implicit-arrow-linebreak': ImplicitArrowLinebreak.RuleEntry;
8713
- readonly '@stylistic/indent': Indent.RuleEntry;
8714
- readonly '@stylistic/indent-binary-ops': IndentBinaryOps.RuleEntry;
8715
- readonly '@stylistic/jsx-child-element-spacing': JsxChildElementSpacing.RuleEntry;
8716
- readonly '@stylistic/jsx-closing-bracket-location': JsxClosingBracketLocation.RuleEntry;
8717
- readonly '@stylistic/jsx-closing-tag-location': JsxClosingTagLocation.RuleEntry;
8718
- readonly '@stylistic/jsx-curly-brace-presence': JsxCurlyBracePresence.RuleEntry;
8719
- readonly '@stylistic/jsx-curly-newline': JsxCurlyNewline.RuleEntry;
8720
- readonly '@stylistic/jsx-curly-spacing': JsxCurlySpacing.RuleEntry;
8721
- readonly '@stylistic/jsx-equals-spacing': JsxEqualsSpacing.RuleEntry;
8722
- readonly '@stylistic/jsx-first-prop-new-line': JsxFirstPropNewLine.RuleEntry;
8723
- readonly '@stylistic/jsx-function-call-newline': JsxFunctionCallNewline.RuleEntry;
8724
- readonly '@stylistic/jsx-indent-props': JsxIndentProps.RuleEntry;
8725
- readonly '@stylistic/jsx-max-props-per-line': JsxMaxPropsPerLine.RuleEntry;
8726
- readonly '@stylistic/jsx-newline': JsxNewline.RuleEntry;
8727
- readonly '@stylistic/jsx-one-expression-per-line': JsxOneExpressionPerLine.RuleEntry;
8728
- readonly '@stylistic/jsx-pascal-case': JsxPascalCase.RuleEntry;
8729
- readonly '@stylistic/jsx-quotes': JsxQuotes.RuleEntry;
8730
- readonly '@stylistic/jsx-self-closing-comp': JsxSelfClosingComp.RuleEntry;
8731
- readonly '@stylistic/jsx-sort-props': JsxSortProps.RuleEntry;
8732
- readonly '@stylistic/jsx-tag-spacing': JsxTagSpacing.RuleEntry;
8733
- readonly '@stylistic/jsx-wrap-multilines': JsxWrapMultilines.RuleEntry;
8734
- readonly '@stylistic/key-spacing': KeySpacing.RuleEntry;
8735
- readonly '@stylistic/keyword-spacing': KeywordSpacing.RuleEntry;
8736
- readonly '@stylistic/line-comment-position': LineCommentPosition.RuleEntry;
8737
- readonly '@stylistic/linebreak-style': LinebreakStyle.RuleEntry;
8738
- readonly '@stylistic/lines-around-comment': LinesAroundComment.RuleEntry;
8739
- readonly '@stylistic/lines-between-class-members': LinesBetweenClassMembers.RuleEntry;
8740
- readonly '@stylistic/exp-list-style': ExpListStyle.RuleEntry;
8741
- readonly '@stylistic/max-len': MaxLen.RuleEntry;
8742
- readonly '@stylistic/max-statements-per-line': MaxStatementsPerLine.RuleEntry;
8743
- readonly '@stylistic/member-delimiter-style': MemberDelimiterStyle.RuleEntry;
8744
- readonly '@stylistic/multiline-comment-style': MultilineCommentStyle.RuleEntry;
8745
- readonly '@stylistic/multiline-ternary': MultilineTernary.RuleEntry;
8746
- readonly '@stylistic/new-parens': NewParens.RuleEntry;
8747
- readonly '@stylistic/newline-per-chained-call': NewlinePerChainedCall.RuleEntry;
8748
- readonly '@stylistic/no-confusing-arrow': NoConfusingArrow.RuleEntry;
8749
- readonly '@stylistic/no-extra-parens': NoExtraParens.RuleEntry;
8750
- readonly '@stylistic/no-extra-semi': NoExtraSemi.RuleEntry;
8751
- readonly '@stylistic/no-floating-decimal': NoFloatingDecimal.RuleEntry;
8752
- readonly '@stylistic/no-mixed-operators': NoMixedOperators.RuleEntry;
8753
- readonly '@stylistic/no-mixed-spaces-and-tabs': NoMixedSpacesAndTabs.RuleEntry;
8754
- readonly '@stylistic/no-multi-spaces': NoMultiSpaces.RuleEntry;
8755
- readonly '@stylistic/no-multiple-empty-lines': NoMultipleEmptyLines.RuleEntry;
8756
- readonly '@stylistic/no-tabs': NoTabs.RuleEntry;
8757
- readonly '@stylistic/no-trailing-spaces': NoTrailingSpaces.RuleEntry;
8758
- readonly '@stylistic/no-whitespace-before-property': NoWhitespaceBeforeProperty.RuleEntry;
8759
- readonly '@stylistic/nonblock-statement-body-position': NonblockStatementBodyPosition.RuleEntry;
8760
- readonly '@stylistic/object-curly-newline': ObjectCurlyNewline.RuleEntry;
8761
- readonly '@stylistic/object-curly-spacing': ObjectCurlySpacing.RuleEntry;
8762
- readonly '@stylistic/object-property-newline': ObjectPropertyNewline.RuleEntry;
8763
- readonly '@stylistic/one-var-declaration-per-line': OneVarDeclarationPerLine.RuleEntry;
8764
- readonly '@stylistic/operator-linebreak': OperatorLinebreak.RuleEntry;
8765
- readonly '@stylistic/padded-blocks': PaddedBlocks.RuleEntry;
8766
- readonly '@stylistic/padding-line-between-statements': PaddingLineBetweenStatements.RuleEntry;
8767
- readonly '@stylistic/quote-props': QuoteProps.RuleEntry;
8768
- readonly '@stylistic/quotes': Quotes.RuleEntry;
8769
- readonly '@stylistic/rest-spread-spacing': RestSpreadSpacing.RuleEntry;
8770
- readonly '@stylistic/semi': Semi.RuleEntry;
8771
- readonly '@stylistic/semi-spacing': SemiSpacing.RuleEntry;
8772
- readonly '@stylistic/semi-style': SemiStyle.RuleEntry;
8773
- readonly '@stylistic/space-before-blocks': SpaceBeforeBlocks.RuleEntry;
8774
- readonly '@stylistic/space-before-function-paren': SpaceBeforeFunctionParen.RuleEntry;
8775
- readonly '@stylistic/space-in-parens': SpaceInParens.RuleEntry;
8776
- readonly '@stylistic/space-infix-ops': SpaceInfixOps.RuleEntry;
8777
- readonly '@stylistic/space-unary-ops': SpaceUnaryOps.RuleEntry;
8778
- readonly '@stylistic/spaced-comment': SpacedComment.RuleEntry;
8779
- readonly '@stylistic/switch-colon-spacing': SwitchColonSpacing.RuleEntry;
8780
- readonly '@stylistic/template-curly-spacing': TemplateCurlySpacing.RuleEntry;
8781
- readonly '@stylistic/template-tag-spacing': TemplateTagSpacing.RuleEntry;
8782
- readonly '@stylistic/type-annotation-spacing': TypeAnnotationSpacing.RuleEntry;
8783
- readonly '@stylistic/type-generic-spacing': TypeGenericSpacing.RuleEntry;
8784
- readonly '@stylistic/type-named-tuple-spacing': TypeNamedTupleSpacing.RuleEntry;
8785
- readonly '@stylistic/wrap-iife': WrapIife.RuleEntry;
8786
- readonly '@stylistic/wrap-regex': WrapRegex.RuleEntry;
8787
- readonly '@stylistic/yield-star-spacing': YieldStarSpacing.RuleEntry;
8788
- readonly '@stylistic/jsx-indent': JsxIndent.RuleEntry;
8789
- readonly '@stylistic/jsx-props-no-multi-spaces': JsxPropsNoMultiSpaces.RuleEntry;
8790
- };
8791
- export type EslintStylisticRulesOption = {
8792
- readonly '@stylistic/array-bracket-newline': ArrayBracketNewline.Options;
8793
- readonly '@stylistic/array-bracket-spacing': readonly [
8742
+ export type EslintStylisticRules = Readonly<{
8743
+ '@stylistic/array-bracket-newline': ArrayBracketNewline.RuleEntry;
8744
+ '@stylistic/array-bracket-spacing': ArrayBracketSpacing.RuleEntry;
8745
+ '@stylistic/array-element-newline': ArrayElementNewline.RuleEntry;
8746
+ '@stylistic/arrow-parens': ArrowParens.RuleEntry;
8747
+ '@stylistic/arrow-spacing': ArrowSpacing.RuleEntry;
8748
+ '@stylistic/block-spacing': BlockSpacing.RuleEntry;
8749
+ '@stylistic/brace-style': BraceStyle.RuleEntry;
8750
+ '@stylistic/comma-dangle': CommaDangle.RuleEntry;
8751
+ '@stylistic/comma-spacing': CommaSpacing.RuleEntry;
8752
+ '@stylistic/comma-style': CommaStyle.RuleEntry;
8753
+ '@stylistic/computed-property-spacing': ComputedPropertySpacing.RuleEntry;
8754
+ '@stylistic/curly-newline': CurlyNewline.RuleEntry;
8755
+ '@stylistic/dot-location': DotLocation.RuleEntry;
8756
+ '@stylistic/eol-last': EolLast.RuleEntry;
8757
+ '@stylistic/function-call-argument-newline': FunctionCallArgumentNewline.RuleEntry;
8758
+ '@stylistic/function-call-spacing': FunctionCallSpacing.RuleEntry;
8759
+ '@stylistic/function-paren-newline': FunctionParenNewline.RuleEntry;
8760
+ '@stylistic/generator-star-spacing': GeneratorStarSpacing.RuleEntry;
8761
+ '@stylistic/implicit-arrow-linebreak': ImplicitArrowLinebreak.RuleEntry;
8762
+ '@stylistic/indent': Indent.RuleEntry;
8763
+ '@stylistic/indent-binary-ops': IndentBinaryOps.RuleEntry;
8764
+ '@stylistic/jsx-child-element-spacing': JsxChildElementSpacing.RuleEntry;
8765
+ '@stylistic/jsx-closing-bracket-location': JsxClosingBracketLocation.RuleEntry;
8766
+ '@stylistic/jsx-closing-tag-location': JsxClosingTagLocation.RuleEntry;
8767
+ '@stylistic/jsx-curly-brace-presence': JsxCurlyBracePresence.RuleEntry;
8768
+ '@stylistic/jsx-curly-newline': JsxCurlyNewline.RuleEntry;
8769
+ '@stylistic/jsx-curly-spacing': JsxCurlySpacing.RuleEntry;
8770
+ '@stylistic/jsx-equals-spacing': JsxEqualsSpacing.RuleEntry;
8771
+ '@stylistic/jsx-first-prop-new-line': JsxFirstPropNewLine.RuleEntry;
8772
+ '@stylistic/jsx-function-call-newline': JsxFunctionCallNewline.RuleEntry;
8773
+ '@stylistic/jsx-indent-props': JsxIndentProps.RuleEntry;
8774
+ '@stylistic/jsx-max-props-per-line': JsxMaxPropsPerLine.RuleEntry;
8775
+ '@stylistic/jsx-newline': JsxNewline.RuleEntry;
8776
+ '@stylistic/jsx-one-expression-per-line': JsxOneExpressionPerLine.RuleEntry;
8777
+ '@stylistic/jsx-pascal-case': JsxPascalCase.RuleEntry;
8778
+ '@stylistic/jsx-quotes': JsxQuotes.RuleEntry;
8779
+ '@stylistic/jsx-self-closing-comp': JsxSelfClosingComp.RuleEntry;
8780
+ '@stylistic/jsx-sort-props': JsxSortProps.RuleEntry;
8781
+ '@stylistic/jsx-tag-spacing': JsxTagSpacing.RuleEntry;
8782
+ '@stylistic/jsx-wrap-multilines': JsxWrapMultilines.RuleEntry;
8783
+ '@stylistic/key-spacing': KeySpacing.RuleEntry;
8784
+ '@stylistic/keyword-spacing': KeywordSpacing.RuleEntry;
8785
+ '@stylistic/line-comment-position': LineCommentPosition.RuleEntry;
8786
+ '@stylistic/linebreak-style': LinebreakStyle.RuleEntry;
8787
+ '@stylistic/lines-around-comment': LinesAroundComment.RuleEntry;
8788
+ '@stylistic/lines-between-class-members': LinesBetweenClassMembers.RuleEntry;
8789
+ '@stylistic/exp-list-style': ExpListStyle.RuleEntry;
8790
+ '@stylistic/max-len': MaxLen.RuleEntry;
8791
+ '@stylistic/max-statements-per-line': MaxStatementsPerLine.RuleEntry;
8792
+ '@stylistic/member-delimiter-style': MemberDelimiterStyle.RuleEntry;
8793
+ '@stylistic/multiline-comment-style': MultilineCommentStyle.RuleEntry;
8794
+ '@stylistic/multiline-ternary': MultilineTernary.RuleEntry;
8795
+ '@stylistic/new-parens': NewParens.RuleEntry;
8796
+ '@stylistic/newline-per-chained-call': NewlinePerChainedCall.RuleEntry;
8797
+ '@stylistic/no-confusing-arrow': NoConfusingArrow.RuleEntry;
8798
+ '@stylistic/no-extra-parens': NoExtraParens.RuleEntry;
8799
+ '@stylistic/no-extra-semi': NoExtraSemi.RuleEntry;
8800
+ '@stylistic/no-floating-decimal': NoFloatingDecimal.RuleEntry;
8801
+ '@stylistic/no-mixed-operators': NoMixedOperators.RuleEntry;
8802
+ '@stylistic/no-mixed-spaces-and-tabs': NoMixedSpacesAndTabs.RuleEntry;
8803
+ '@stylistic/no-multi-spaces': NoMultiSpaces.RuleEntry;
8804
+ '@stylistic/no-multiple-empty-lines': NoMultipleEmptyLines.RuleEntry;
8805
+ '@stylistic/no-tabs': NoTabs.RuleEntry;
8806
+ '@stylistic/no-trailing-spaces': NoTrailingSpaces.RuleEntry;
8807
+ '@stylistic/no-whitespace-before-property': NoWhitespaceBeforeProperty.RuleEntry;
8808
+ '@stylistic/nonblock-statement-body-position': NonblockStatementBodyPosition.RuleEntry;
8809
+ '@stylistic/object-curly-newline': ObjectCurlyNewline.RuleEntry;
8810
+ '@stylistic/object-curly-spacing': ObjectCurlySpacing.RuleEntry;
8811
+ '@stylistic/object-property-newline': ObjectPropertyNewline.RuleEntry;
8812
+ '@stylistic/one-var-declaration-per-line': OneVarDeclarationPerLine.RuleEntry;
8813
+ '@stylistic/operator-linebreak': OperatorLinebreak.RuleEntry;
8814
+ '@stylistic/padded-blocks': PaddedBlocks.RuleEntry;
8815
+ '@stylistic/padding-line-between-statements': PaddingLineBetweenStatements.RuleEntry;
8816
+ '@stylistic/quote-props': QuoteProps.RuleEntry;
8817
+ '@stylistic/quotes': Quotes.RuleEntry;
8818
+ '@stylistic/rest-spread-spacing': RestSpreadSpacing.RuleEntry;
8819
+ '@stylistic/semi': Semi.RuleEntry;
8820
+ '@stylistic/semi-spacing': SemiSpacing.RuleEntry;
8821
+ '@stylistic/semi-style': SemiStyle.RuleEntry;
8822
+ '@stylistic/space-before-blocks': SpaceBeforeBlocks.RuleEntry;
8823
+ '@stylistic/space-before-function-paren': SpaceBeforeFunctionParen.RuleEntry;
8824
+ '@stylistic/space-in-parens': SpaceInParens.RuleEntry;
8825
+ '@stylistic/space-infix-ops': SpaceInfixOps.RuleEntry;
8826
+ '@stylistic/space-unary-ops': SpaceUnaryOps.RuleEntry;
8827
+ '@stylistic/spaced-comment': SpacedComment.RuleEntry;
8828
+ '@stylistic/switch-colon-spacing': SwitchColonSpacing.RuleEntry;
8829
+ '@stylistic/template-curly-spacing': TemplateCurlySpacing.RuleEntry;
8830
+ '@stylistic/template-tag-spacing': TemplateTagSpacing.RuleEntry;
8831
+ '@stylistic/type-annotation-spacing': TypeAnnotationSpacing.RuleEntry;
8832
+ '@stylistic/type-generic-spacing': TypeGenericSpacing.RuleEntry;
8833
+ '@stylistic/type-named-tuple-spacing': TypeNamedTupleSpacing.RuleEntry;
8834
+ '@stylistic/wrap-iife': WrapIife.RuleEntry;
8835
+ '@stylistic/wrap-regex': WrapRegex.RuleEntry;
8836
+ '@stylistic/yield-star-spacing': YieldStarSpacing.RuleEntry;
8837
+ '@stylistic/jsx-indent': JsxIndent.RuleEntry;
8838
+ '@stylistic/jsx-props-no-multi-spaces': JsxPropsNoMultiSpaces.RuleEntry;
8839
+ }>;
8840
+ export type EslintStylisticRulesOption = Readonly<{
8841
+ '@stylistic/array-bracket-newline': ArrayBracketNewline.Options;
8842
+ '@stylistic/array-bracket-spacing': readonly [
8794
8843
  ArrayBracketSpacing.Options0,
8795
8844
  ArrayBracketSpacing.Options1
8796
8845
  ];
8797
- readonly '@stylistic/array-element-newline': ArrayElementNewline.Options;
8798
- readonly '@stylistic/arrow-parens': readonly [
8846
+ '@stylistic/array-element-newline': ArrayElementNewline.Options;
8847
+ '@stylistic/arrow-parens': readonly [
8799
8848
  ArrowParens.Options0,
8800
8849
  ArrowParens.Options1
8801
8850
  ];
8802
- readonly '@stylistic/arrow-spacing': ArrowSpacing.Options;
8803
- readonly '@stylistic/block-spacing': BlockSpacing.Options;
8804
- readonly '@stylistic/brace-style': readonly [
8805
- BraceStyle.Options0,
8806
- BraceStyle.Options1
8807
- ];
8808
- readonly '@stylistic/comma-dangle': CommaDangle.Options;
8809
- readonly '@stylistic/comma-spacing': CommaSpacing.Options;
8810
- readonly '@stylistic/comma-style': readonly [
8811
- CommaStyle.Options0,
8812
- CommaStyle.Options1
8813
- ];
8814
- readonly '@stylistic/computed-property-spacing': readonly [
8851
+ '@stylistic/arrow-spacing': ArrowSpacing.Options;
8852
+ '@stylistic/block-spacing': BlockSpacing.Options;
8853
+ '@stylistic/brace-style': readonly [BraceStyle.Options0, BraceStyle.Options1];
8854
+ '@stylistic/comma-dangle': CommaDangle.Options;
8855
+ '@stylistic/comma-spacing': CommaSpacing.Options;
8856
+ '@stylistic/comma-style': readonly [CommaStyle.Options0, CommaStyle.Options1];
8857
+ '@stylistic/computed-property-spacing': readonly [
8815
8858
  ComputedPropertySpacing.Options0,
8816
8859
  ComputedPropertySpacing.Options1
8817
8860
  ];
8818
- readonly '@stylistic/curly-newline': CurlyNewline.Options;
8819
- readonly '@stylistic/dot-location': DotLocation.Options;
8820
- readonly '@stylistic/eol-last': EolLast.Options;
8821
- readonly '@stylistic/function-call-argument-newline': FunctionCallArgumentNewline.Options;
8822
- readonly '@stylistic/function-call-spacing': FunctionCallSpacing.Options;
8823
- readonly '@stylistic/function-paren-newline': FunctionParenNewline.Options;
8824
- readonly '@stylistic/generator-star-spacing': GeneratorStarSpacing.Options;
8825
- readonly '@stylistic/implicit-arrow-linebreak': ImplicitArrowLinebreak.Options;
8826
- readonly '@stylistic/indent': readonly [Indent.Options0, Indent.Options1];
8827
- readonly '@stylistic/indent-binary-ops': IndentBinaryOps.Options;
8828
- readonly '@stylistic/jsx-closing-bracket-location': JsxClosingBracketLocation.Options;
8829
- readonly '@stylistic/jsx-closing-tag-location': JsxClosingTagLocation.Options;
8830
- readonly '@stylistic/jsx-curly-brace-presence': JsxCurlyBracePresence.Options;
8831
- readonly '@stylistic/jsx-curly-newline': JsxCurlyNewline.Options;
8832
- readonly '@stylistic/jsx-curly-spacing': JsxCurlySpacing.Options;
8833
- readonly '@stylistic/jsx-equals-spacing': JsxEqualsSpacing.Options;
8834
- readonly '@stylistic/jsx-first-prop-new-line': JsxFirstPropNewLine.Options;
8835
- readonly '@stylistic/jsx-function-call-newline': JsxFunctionCallNewline.Options;
8836
- readonly '@stylistic/jsx-indent-props': JsxIndentProps.Options;
8837
- readonly '@stylistic/jsx-max-props-per-line': JsxMaxPropsPerLine.Options;
8838
- readonly '@stylistic/jsx-newline': JsxNewline.Options;
8839
- readonly '@stylistic/jsx-one-expression-per-line': JsxOneExpressionPerLine.Options;
8840
- readonly '@stylistic/jsx-pascal-case': JsxPascalCase.Options;
8841
- readonly '@stylistic/jsx-quotes': JsxQuotes.Options;
8842
- readonly '@stylistic/jsx-self-closing-comp': JsxSelfClosingComp.Options;
8843
- readonly '@stylistic/jsx-sort-props': JsxSortProps.Options;
8844
- readonly '@stylistic/jsx-tag-spacing': JsxTagSpacing.Options;
8845
- readonly '@stylistic/jsx-wrap-multilines': JsxWrapMultilines.Options;
8846
- readonly '@stylistic/key-spacing': KeySpacing.Options;
8847
- readonly '@stylistic/keyword-spacing': KeywordSpacing.Options;
8848
- readonly '@stylistic/line-comment-position': LineCommentPosition.Options;
8849
- readonly '@stylistic/linebreak-style': LinebreakStyle.Options;
8850
- readonly '@stylistic/lines-around-comment': LinesAroundComment.Options;
8851
- readonly '@stylistic/lines-between-class-members': readonly [
8861
+ '@stylistic/curly-newline': CurlyNewline.Options;
8862
+ '@stylistic/dot-location': DotLocation.Options;
8863
+ '@stylistic/eol-last': EolLast.Options;
8864
+ '@stylistic/function-call-argument-newline': FunctionCallArgumentNewline.Options;
8865
+ '@stylistic/function-call-spacing': FunctionCallSpacing.Options;
8866
+ '@stylistic/function-paren-newline': FunctionParenNewline.Options;
8867
+ '@stylistic/generator-star-spacing': GeneratorStarSpacing.Options;
8868
+ '@stylistic/implicit-arrow-linebreak': ImplicitArrowLinebreak.Options;
8869
+ '@stylistic/indent': readonly [Indent.Options0, Indent.Options1];
8870
+ '@stylistic/indent-binary-ops': IndentBinaryOps.Options;
8871
+ '@stylistic/jsx-closing-bracket-location': JsxClosingBracketLocation.Options;
8872
+ '@stylistic/jsx-closing-tag-location': JsxClosingTagLocation.Options;
8873
+ '@stylistic/jsx-curly-brace-presence': JsxCurlyBracePresence.Options;
8874
+ '@stylistic/jsx-curly-newline': JsxCurlyNewline.Options;
8875
+ '@stylistic/jsx-curly-spacing': JsxCurlySpacing.Options;
8876
+ '@stylistic/jsx-equals-spacing': JsxEqualsSpacing.Options;
8877
+ '@stylistic/jsx-first-prop-new-line': JsxFirstPropNewLine.Options;
8878
+ '@stylistic/jsx-function-call-newline': JsxFunctionCallNewline.Options;
8879
+ '@stylistic/jsx-indent-props': JsxIndentProps.Options;
8880
+ '@stylistic/jsx-max-props-per-line': JsxMaxPropsPerLine.Options;
8881
+ '@stylistic/jsx-newline': JsxNewline.Options;
8882
+ '@stylistic/jsx-one-expression-per-line': JsxOneExpressionPerLine.Options;
8883
+ '@stylistic/jsx-pascal-case': JsxPascalCase.Options;
8884
+ '@stylistic/jsx-quotes': JsxQuotes.Options;
8885
+ '@stylistic/jsx-self-closing-comp': JsxSelfClosingComp.Options;
8886
+ '@stylistic/jsx-sort-props': JsxSortProps.Options;
8887
+ '@stylistic/jsx-tag-spacing': JsxTagSpacing.Options;
8888
+ '@stylistic/jsx-wrap-multilines': JsxWrapMultilines.Options;
8889
+ '@stylistic/key-spacing': KeySpacing.Options;
8890
+ '@stylistic/keyword-spacing': KeywordSpacing.Options;
8891
+ '@stylistic/line-comment-position': LineCommentPosition.Options;
8892
+ '@stylistic/linebreak-style': LinebreakStyle.Options;
8893
+ '@stylistic/lines-around-comment': LinesAroundComment.Options;
8894
+ '@stylistic/lines-between-class-members': readonly [
8852
8895
  LinesBetweenClassMembers.Options0,
8853
8896
  LinesBetweenClassMembers.Options1
8854
8897
  ];
8855
- readonly '@stylistic/exp-list-style': ExpListStyle.Options;
8856
- readonly '@stylistic/max-len': readonly [
8898
+ '@stylistic/exp-list-style': ExpListStyle.Options;
8899
+ '@stylistic/max-len': readonly [
8857
8900
  MaxLen.Options0,
8858
8901
  MaxLen.Options1,
8859
8902
  MaxLen.Options2
8860
8903
  ];
8861
- readonly '@stylistic/max-statements-per-line': MaxStatementsPerLine.Options;
8862
- readonly '@stylistic/member-delimiter-style': MemberDelimiterStyle.Options;
8863
- readonly '@stylistic/multiline-comment-style': MultilineCommentStyle.Options;
8864
- readonly '@stylistic/multiline-ternary': readonly [
8904
+ '@stylistic/max-statements-per-line': MaxStatementsPerLine.Options;
8905
+ '@stylistic/member-delimiter-style': MemberDelimiterStyle.Options;
8906
+ '@stylistic/multiline-comment-style': MultilineCommentStyle.Options;
8907
+ '@stylistic/multiline-ternary': readonly [
8865
8908
  MultilineTernary.Options0,
8866
8909
  MultilineTernary.Options1
8867
8910
  ];
8868
- readonly '@stylistic/new-parens': NewParens.Options;
8869
- readonly '@stylistic/newline-per-chained-call': NewlinePerChainedCall.Options;
8870
- readonly '@stylistic/no-confusing-arrow': NoConfusingArrow.Options;
8871
- readonly '@stylistic/no-extra-parens': NoExtraParens.Options;
8872
- readonly '@stylistic/no-mixed-operators': NoMixedOperators.Options;
8873
- readonly '@stylistic/no-mixed-spaces-and-tabs': NoMixedSpacesAndTabs.Options;
8874
- readonly '@stylistic/no-multi-spaces': NoMultiSpaces.Options;
8875
- readonly '@stylistic/no-multiple-empty-lines': NoMultipleEmptyLines.Options;
8876
- readonly '@stylistic/no-tabs': NoTabs.Options;
8877
- readonly '@stylistic/no-trailing-spaces': NoTrailingSpaces.Options;
8878
- readonly '@stylistic/nonblock-statement-body-position': readonly [
8911
+ '@stylistic/new-parens': NewParens.Options;
8912
+ '@stylistic/newline-per-chained-call': NewlinePerChainedCall.Options;
8913
+ '@stylistic/no-confusing-arrow': NoConfusingArrow.Options;
8914
+ '@stylistic/no-extra-parens': NoExtraParens.Options;
8915
+ '@stylistic/no-mixed-operators': NoMixedOperators.Options;
8916
+ '@stylistic/no-mixed-spaces-and-tabs': NoMixedSpacesAndTabs.Options;
8917
+ '@stylistic/no-multi-spaces': NoMultiSpaces.Options;
8918
+ '@stylistic/no-multiple-empty-lines': NoMultipleEmptyLines.Options;
8919
+ '@stylistic/no-tabs': NoTabs.Options;
8920
+ '@stylistic/no-trailing-spaces': NoTrailingSpaces.Options;
8921
+ '@stylistic/nonblock-statement-body-position': readonly [
8879
8922
  NonblockStatementBodyPosition.Options0,
8880
8923
  NonblockStatementBodyPosition.Options1
8881
8924
  ];
8882
- readonly '@stylistic/object-curly-newline': ObjectCurlyNewline.Options;
8883
- readonly '@stylistic/object-curly-spacing': readonly [
8925
+ '@stylistic/object-curly-newline': ObjectCurlyNewline.Options;
8926
+ '@stylistic/object-curly-spacing': readonly [
8884
8927
  ObjectCurlySpacing.Options0,
8885
8928
  ObjectCurlySpacing.Options1
8886
8929
  ];
8887
- readonly '@stylistic/object-property-newline': ObjectPropertyNewline.Options;
8888
- readonly '@stylistic/one-var-declaration-per-line': OneVarDeclarationPerLine.Options;
8889
- readonly '@stylistic/operator-linebreak': readonly [
8930
+ '@stylistic/object-property-newline': ObjectPropertyNewline.Options;
8931
+ '@stylistic/one-var-declaration-per-line': OneVarDeclarationPerLine.Options;
8932
+ '@stylistic/operator-linebreak': readonly [
8890
8933
  OperatorLinebreak.Options0,
8891
8934
  OperatorLinebreak.Options1
8892
8935
  ];
8893
- readonly '@stylistic/padded-blocks': readonly [
8936
+ '@stylistic/padded-blocks': readonly [
8894
8937
  PaddedBlocks.Options0,
8895
8938
  PaddedBlocks.Options1
8896
8939
  ];
8897
- readonly '@stylistic/padding-line-between-statements': PaddingLineBetweenStatements.Options;
8898
- readonly '@stylistic/quote-props': QuoteProps.Options;
8899
- readonly '@stylistic/quotes': readonly [Quotes.Options0, Quotes.Options1];
8900
- readonly '@stylistic/rest-spread-spacing': RestSpreadSpacing.Options;
8901
- readonly '@stylistic/semi': Semi.Options;
8902
- readonly '@stylistic/semi-spacing': SemiSpacing.Options;
8903
- readonly '@stylistic/semi-style': SemiStyle.Options;
8904
- readonly '@stylistic/space-before-blocks': SpaceBeforeBlocks.Options;
8905
- readonly '@stylistic/space-before-function-paren': SpaceBeforeFunctionParen.Options;
8906
- readonly '@stylistic/space-in-parens': readonly [
8940
+ '@stylistic/padding-line-between-statements': PaddingLineBetweenStatements.Options;
8941
+ '@stylistic/quote-props': QuoteProps.Options;
8942
+ '@stylistic/quotes': readonly [Quotes.Options0, Quotes.Options1];
8943
+ '@stylistic/rest-spread-spacing': RestSpreadSpacing.Options;
8944
+ '@stylistic/semi': Semi.Options;
8945
+ '@stylistic/semi-spacing': SemiSpacing.Options;
8946
+ '@stylistic/semi-style': SemiStyle.Options;
8947
+ '@stylistic/space-before-blocks': SpaceBeforeBlocks.Options;
8948
+ '@stylistic/space-before-function-paren': SpaceBeforeFunctionParen.Options;
8949
+ '@stylistic/space-in-parens': readonly [
8907
8950
  SpaceInParens.Options0,
8908
8951
  SpaceInParens.Options1
8909
8952
  ];
8910
- readonly '@stylistic/space-infix-ops': SpaceInfixOps.Options;
8911
- readonly '@stylistic/space-unary-ops': SpaceUnaryOps.Options;
8912
- readonly '@stylistic/spaced-comment': readonly [
8953
+ '@stylistic/space-infix-ops': SpaceInfixOps.Options;
8954
+ '@stylistic/space-unary-ops': SpaceUnaryOps.Options;
8955
+ '@stylistic/spaced-comment': readonly [
8913
8956
  SpacedComment.Options0,
8914
8957
  SpacedComment.Options1
8915
8958
  ];
8916
- readonly '@stylistic/switch-colon-spacing': SwitchColonSpacing.Options;
8917
- readonly '@stylistic/template-curly-spacing': TemplateCurlySpacing.Options;
8918
- readonly '@stylistic/template-tag-spacing': TemplateTagSpacing.Options;
8919
- readonly '@stylistic/type-annotation-spacing': TypeAnnotationSpacing.Options;
8920
- readonly '@stylistic/wrap-iife': readonly [
8921
- WrapIife.Options0,
8922
- WrapIife.Options1
8923
- ];
8924
- readonly '@stylistic/yield-star-spacing': YieldStarSpacing.Options;
8925
- };
8959
+ '@stylistic/switch-colon-spacing': SwitchColonSpacing.Options;
8960
+ '@stylistic/template-curly-spacing': TemplateCurlySpacing.Options;
8961
+ '@stylistic/template-tag-spacing': TemplateTagSpacing.Options;
8962
+ '@stylistic/type-annotation-spacing': TypeAnnotationSpacing.Options;
8963
+ '@stylistic/wrap-iife': readonly [WrapIife.Options0, WrapIife.Options1];
8964
+ '@stylistic/yield-star-spacing': YieldStarSpacing.Options;
8965
+ }>;
8926
8966
  export {};
8927
8967
  //# sourceMappingURL=eslint-stylistic-rules.d.mts.map