@storm-software/eslint 0.78.4 → 0.78.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/preset.d.ts CHANGED
@@ -24,307 +24,3438 @@ interface RuleOptions {
24
24
  */
25
25
  '@nx/nx-plugin-checks'?: Linter.RuleEntry<NxNxPluginChecks>
26
26
  /**
27
- * Ensures the file has a Storm Software banner
28
- * @see https://docs.stormsoftware.com/eslint/rules/banner
27
+ * Require that function overload signatures be consecutive
28
+ * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
29
29
  */
30
- 'banner/banner'?: Linter.RuleEntry<BannerBanner>
30
+ '@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>
31
31
  /**
32
- * @see https://github.com/prettier/eslint-plugin-prettier#options
32
+ * Require consistently using either `T[]` or `Array<T>` for arrays
33
+ * @see https://typescript-eslint.io/rules/array-type
33
34
  */
34
- 'prettier/prettier'?: Linter.RuleEntry<PrettierPrettier>
35
+ '@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>
35
36
  /**
36
- * Validates that TypeScript documentation comments conform to the TSDoc standard
37
- * @see https://tsdoc.org/pages/packages/eslint-plugin-tsdoc
37
+ * Disallow awaiting a value that is not a Thenable
38
+ * @see https://typescript-eslint.io/rules/await-thenable
38
39
  */
39
- 'tsdoc/syntax'?: Linter.RuleEntry<[]>
40
+ '@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>
40
41
  /**
41
- * require or disallow block style mappings.
42
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping.html
42
+ * Disallow `@ts-<directive>` comments or require descriptions after directives
43
+ * @see https://typescript-eslint.io/rules/ban-ts-comment
43
44
  */
44
- 'yml/block-mapping'?: Linter.RuleEntry<YmlBlockMapping>
45
+ '@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>
45
46
  /**
46
- * enforce consistent line breaks after `:` indicator
47
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-colon-indicator-newline.html
47
+ * Disallow `// tslint:<rule-flag>` comments
48
+ * @see https://typescript-eslint.io/rules/ban-tslint-comment
48
49
  */
49
- 'yml/block-mapping-colon-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingColonIndicatorNewline>
50
+ '@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>
50
51
  /**
51
- * enforce consistent line breaks after `?` indicator
52
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-question-indicator-newline.html
52
+ * Disallow certain types
53
+ * @see https://typescript-eslint.io/rules/ban-types
53
54
  */
54
- 'yml/block-mapping-question-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingQuestionIndicatorNewline>
55
+ '@typescript-eslint/ban-types'?: Linter.RuleEntry<TypescriptEslintBanTypes>
55
56
  /**
56
- * require or disallow block style sequences.
57
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence.html
57
+ * Disallow or enforce spaces inside of blocks after opening block and before closing block
58
+ * @see https://typescript-eslint.io/rules/block-spacing
59
+ * @deprecated
58
60
  */
59
- 'yml/block-sequence'?: Linter.RuleEntry<YmlBlockSequence>
61
+ '@typescript-eslint/block-spacing'?: Linter.RuleEntry<TypescriptEslintBlockSpacing>
60
62
  /**
61
- * enforce consistent line breaks after `-` indicator
62
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence-hyphen-indicator-newline.html
63
+ * Enforce consistent brace style for blocks
64
+ * @see https://typescript-eslint.io/rules/brace-style
65
+ * @deprecated
63
66
  */
64
- 'yml/block-sequence-hyphen-indicator-newline'?: Linter.RuleEntry<YmlBlockSequenceHyphenIndicatorNewline>
67
+ '@typescript-eslint/brace-style'?: Linter.RuleEntry<TypescriptEslintBraceStyle>
65
68
  /**
66
- * enforce YAML file extension
67
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/file-extension.html
69
+ * Enforce that literals on classes are exposed in a consistent style
70
+ * @see https://typescript-eslint.io/rules/class-literal-property-style
68
71
  */
69
- 'yml/file-extension'?: Linter.RuleEntry<YmlFileExtension>
72
+ '@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>
70
73
  /**
71
- * enforce consistent line breaks inside braces
72
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-newline.html
74
+ * Enforce that class methods utilize `this`
75
+ * @see https://typescript-eslint.io/rules/class-methods-use-this
73
76
  */
74
- 'yml/flow-mapping-curly-newline'?: Linter.RuleEntry<YmlFlowMappingCurlyNewline>
77
+ '@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>
75
78
  /**
76
- * enforce consistent spacing inside braces
77
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-spacing.html
79
+ * Require or disallow trailing commas
80
+ * @see https://typescript-eslint.io/rules/comma-dangle
81
+ * @deprecated
78
82
  */
79
- 'yml/flow-mapping-curly-spacing'?: Linter.RuleEntry<YmlFlowMappingCurlySpacing>
83
+ '@typescript-eslint/comma-dangle'?: Linter.RuleEntry<TypescriptEslintCommaDangle>
80
84
  /**
81
- * enforce linebreaks after opening and before closing flow sequence brackets
82
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-newline.html
85
+ * Enforce consistent spacing before and after commas
86
+ * @see https://typescript-eslint.io/rules/comma-spacing
87
+ * @deprecated
83
88
  */
84
- 'yml/flow-sequence-bracket-newline'?: Linter.RuleEntry<YmlFlowSequenceBracketNewline>
89
+ '@typescript-eslint/comma-spacing'?: Linter.RuleEntry<TypescriptEslintCommaSpacing>
85
90
  /**
86
- * enforce consistent spacing inside flow sequence brackets
87
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-spacing.html
91
+ * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
92
+ * @see https://typescript-eslint.io/rules/consistent-generic-constructors
88
93
  */
89
- 'yml/flow-sequence-bracket-spacing'?: Linter.RuleEntry<YmlFlowSequenceBracketSpacing>
94
+ '@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>
90
95
  /**
91
- * enforce consistent indentation
92
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/indent.html
96
+ * Require or disallow the `Record` type
97
+ * @see https://typescript-eslint.io/rules/consistent-indexed-object-style
93
98
  */
94
- 'yml/indent'?: Linter.RuleEntry<YmlIndent>
99
+ '@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>
95
100
  /**
96
- * enforce naming convention to key names
97
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-name-casing.html
101
+ * Require `return` statements to either always or never specify values
102
+ * @see https://typescript-eslint.io/rules/consistent-return
98
103
  */
99
- 'yml/key-name-casing'?: Linter.RuleEntry<YmlKeyNameCasing>
104
+ '@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>
100
105
  /**
101
- * enforce consistent spacing between keys and values in mapping pairs
102
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-spacing.html
106
+ * Enforce consistent usage of type assertions
107
+ * @see https://typescript-eslint.io/rules/consistent-type-assertions
103
108
  */
104
- 'yml/key-spacing'?: Linter.RuleEntry<YmlKeySpacing>
109
+ '@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>
105
110
  /**
106
- * disallow empty document
107
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-document.html
111
+ * Enforce type definitions to consistently use either `interface` or `type`
112
+ * @see https://typescript-eslint.io/rules/consistent-type-definitions
108
113
  */
109
- 'yml/no-empty-document'?: Linter.RuleEntry<[]>
114
+ '@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeDefinitions>
110
115
  /**
111
- * disallow empty mapping keys
112
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-key.html
116
+ * Enforce consistent usage of type exports
117
+ * @see https://typescript-eslint.io/rules/consistent-type-exports
113
118
  */
114
- 'yml/no-empty-key'?: Linter.RuleEntry<[]>
119
+ '@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>
115
120
  /**
116
- * disallow empty mapping values
117
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-mapping-value.html
121
+ * Enforce consistent usage of type imports
122
+ * @see https://typescript-eslint.io/rules/consistent-type-imports
118
123
  */
119
- 'yml/no-empty-mapping-value'?: Linter.RuleEntry<[]>
124
+ '@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>
120
125
  /**
121
- * disallow empty sequence entries
122
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-sequence-entry.html
126
+ * Enforce default parameters to be last
127
+ * @see https://typescript-eslint.io/rules/default-param-last
123
128
  */
124
- 'yml/no-empty-sequence-entry'?: Linter.RuleEntry<[]>
129
+ '@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>
125
130
  /**
126
- * disallow irregular whitespace
127
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-irregular-whitespace.html
131
+ * Enforce dot notation whenever possible
132
+ * @see https://typescript-eslint.io/rules/dot-notation
128
133
  */
129
- 'yml/no-irregular-whitespace'?: Linter.RuleEntry<YmlNoIrregularWhitespace>
134
+ '@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>
130
135
  /**
131
- * disallow multiple empty lines
132
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-multiple-empty-lines.html
136
+ * Require explicit return types on functions and class methods
137
+ * @see https://typescript-eslint.io/rules/explicit-function-return-type
133
138
  */
134
- 'yml/no-multiple-empty-lines'?: Linter.RuleEntry<YmlNoMultipleEmptyLines>
139
+ '@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>
135
140
  /**
136
- * disallow tabs for indentation.
137
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
141
+ * Require explicit accessibility modifiers on class properties and methods
142
+ * @see https://typescript-eslint.io/rules/explicit-member-accessibility
138
143
  */
139
- 'yml/no-tab-indent'?: Linter.RuleEntry<[]>
144
+ '@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>
140
145
  /**
141
- * disallow trailing zeros for floats
142
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
146
+ * Require explicit return and argument types on exported functions' and classes' public class methods
147
+ * @see https://typescript-eslint.io/rules/explicit-module-boundary-types
143
148
  */
144
- 'yml/no-trailing-zeros'?: Linter.RuleEntry<[]>
149
+ '@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>
145
150
  /**
146
- * require or disallow plain style scalar.
147
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/plain-scalar.html
151
+ * Require or disallow spacing between function identifiers and their invocations
152
+ * @see https://typescript-eslint.io/rules/func-call-spacing
153
+ * @deprecated
148
154
  */
149
- 'yml/plain-scalar'?: Linter.RuleEntry<YmlPlainScalar>
155
+ '@typescript-eslint/func-call-spacing'?: Linter.RuleEntry<TypescriptEslintFuncCallSpacing>
150
156
  /**
151
- * enforce the consistent use of either double, or single quotes
152
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/quotes.html
157
+ * Enforce consistent indentation
158
+ * @see https://typescript-eslint.io/rules/indent
159
+ * @deprecated
153
160
  */
154
- 'yml/quotes'?: Linter.RuleEntry<YmlQuotes>
161
+ '@typescript-eslint/indent'?: Linter.RuleEntry<TypescriptEslintIndent>
155
162
  /**
156
- * disallow mapping keys other than strings
157
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/require-string-key.html
163
+ * Require or disallow initialization in variable declarations
164
+ * @see https://typescript-eslint.io/rules/init-declarations
158
165
  */
159
- 'yml/require-string-key'?: Linter.RuleEntry<[]>
166
+ '@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>
160
167
  /**
161
- * require mapping keys to be sorted
162
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-keys.html
168
+ * Enforce consistent spacing between property names and type annotations in types and interfaces
169
+ * @see https://typescript-eslint.io/rules/key-spacing
170
+ * @deprecated
163
171
  */
164
- 'yml/sort-keys'?: Linter.RuleEntry<YmlSortKeys>
172
+ '@typescript-eslint/key-spacing'?: Linter.RuleEntry<TypescriptEslintKeySpacing>
165
173
  /**
166
- * require sequence values to be sorted
167
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-sequence-values.html
174
+ * Enforce consistent spacing before and after keywords
175
+ * @see https://typescript-eslint.io/rules/keyword-spacing
176
+ * @deprecated
168
177
  */
169
- 'yml/sort-sequence-values'?: Linter.RuleEntry<YmlSortSequenceValues>
178
+ '@typescript-eslint/keyword-spacing'?: Linter.RuleEntry<TypescriptEslintKeywordSpacing>
170
179
  /**
171
- * enforce consistent spacing after the `#` in a comment
172
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/spaced-comment.html
180
+ * Require empty lines around comments
181
+ * @see https://typescript-eslint.io/rules/lines-around-comment
182
+ * @deprecated
173
183
  */
174
- 'yml/spaced-comment'?: Linter.RuleEntry<YmlSpacedComment>
184
+ '@typescript-eslint/lines-around-comment'?: Linter.RuleEntry<TypescriptEslintLinesAroundComment>
175
185
  /**
176
- * disallow parsing errors in Vue custom blocks
177
- * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/vue-custom-block/no-parsing-error.html
186
+ * Require or disallow an empty line between class members
187
+ * @see https://typescript-eslint.io/rules/lines-between-class-members
188
+ * @deprecated
178
189
  */
179
- 'yml/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
180
- }
181
-
182
- /* ======= Declarations ======= */
183
- // ----- @cspell/spellchecker -----
184
- type CspellSpellchecker = []|[{
185
-
186
- autoFix: boolean
187
-
188
- checkComments?: boolean
189
-
190
- checkIdentifiers?: boolean
191
-
192
- checkJSXText?: boolean
193
-
194
- checkScope?: [string, boolean][]
195
-
196
- checkStringTemplates?: boolean
197
-
198
- checkStrings?: boolean
199
-
200
- configFile?: string
201
-
202
- cspell?: {
203
-
204
- allowCompoundWords?: boolean
205
-
206
- dictionaries?: (string | string)[]
207
- dictionaryDefinitions?: {
208
-
209
- description?: string
210
-
211
- name: string
212
-
213
- noSuggest?: boolean
214
-
215
- path: string
216
-
217
- repMap?: [string, string][]
218
-
219
- type?: ("S" | "W" | "C" | "T")
220
-
221
- useCompounds?: boolean
222
- }[]
223
-
224
- enabled?: boolean
225
-
226
- flagWords?: string[]
227
-
228
- ignoreRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
229
-
230
- ignoreWords?: string[]
231
-
232
- import?: (string | string[])
233
-
234
- includeRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
235
-
236
- language?: string
237
-
238
- words?: string[]
239
- }
240
-
241
- cspellOptionsRoot?: (string | string)
242
-
243
- customWordListFile?: (string | {
244
-
245
- path: string
246
- })
247
-
248
- debugMode?: boolean
249
-
250
- generateSuggestions: boolean
251
-
252
- ignoreImportProperties?: boolean
253
-
254
- ignoreImports?: boolean
255
-
256
- numSuggestions: number
257
- }]
258
- // ----- @nx/dependency-checks -----
259
- type NxDependencyChecks = []|[{
260
- buildTargets?: string[]
261
- ignoredDependencies?: string[]
262
- ignoredFiles?: string[]
263
- checkMissingDependencies?: boolean
264
- checkObsoleteDependencies?: boolean
265
- checkVersionMismatches?: boolean
266
- includeTransitiveDependencies?: boolean
267
- useLocalPathsForWorkspaceDependencies?: boolean
268
- }]
269
- // ----- @nx/enforce-module-boundaries -----
270
- type NxEnforceModuleBoundaries = []|[{
271
- enforceBuildableLibDependency?: boolean
272
- allowCircularSelfDependency?: boolean
273
- checkDynamicDependenciesExceptions?: string[]
274
- banTransitiveDependencies?: boolean
275
- checkNestedExternalImports?: boolean
276
- allow?: string[]
277
- buildTargets?: string[]
278
- depConstraints?: ({
279
- sourceTag?: string
280
- onlyDependOnLibsWithTags?: string[]
281
- allowedExternalImports?: string[]
282
- bannedExternalImports?: string[]
283
- notDependOnLibsWithTags?: string[]
284
- } | {
285
-
286
- allSourceTags?: [string, string, ...(string)[]]
287
- onlyDependOnLibsWithTags?: string[]
288
- allowedExternalImports?: string[]
289
- bannedExternalImports?: string[]
290
- notDependOnLibsWithTags?: string[]
291
- })[]
292
- }]
293
- // ----- @nx/nx-plugin-checks -----
294
- type NxNxPluginChecks = []|[{
295
-
296
- generatorsJson?: string
297
-
298
- executorsJson?: string
299
-
300
- migrationsJson?: string
301
-
302
- packageJson?: string
303
-
304
- allowedVersionStrings?: string[]
305
- }]
306
- // ----- banner/banner -----
307
- type BannerBanner = []|[{
308
-
309
- banner?: string
310
-
311
- repositoryName?: string
312
-
313
- commentType?: string
314
-
315
- numNewlines?: number
316
- }]
317
- // ----- prettier/prettier -----
318
- type PrettierPrettier = []|[{
319
- [k: string]: unknown | undefined
320
- }]|[{
321
- [k: string]: unknown | undefined
322
- }, {
323
- usePrettierrc?: boolean
324
- fileInfoOptions?: {
325
- [k: string]: unknown | undefined
326
- }
327
- [k: string]: unknown | undefined
190
+ '@typescript-eslint/lines-between-class-members'?: Linter.RuleEntry<TypescriptEslintLinesBetweenClassMembers>
191
+ /**
192
+ * Enforce a maximum number of parameters in function definitions
193
+ * @see https://typescript-eslint.io/rules/max-params
194
+ */
195
+ '@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>
196
+ /**
197
+ * Require a specific member delimiter style for interfaces and type literals
198
+ * @see https://typescript-eslint.io/rules/member-delimiter-style
199
+ * @deprecated
200
+ */
201
+ '@typescript-eslint/member-delimiter-style'?: Linter.RuleEntry<TypescriptEslintMemberDelimiterStyle>
202
+ /**
203
+ * Require a consistent member declaration order
204
+ * @see https://typescript-eslint.io/rules/member-ordering
205
+ */
206
+ '@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>
207
+ /**
208
+ * Enforce using a particular method signature syntax
209
+ * @see https://typescript-eslint.io/rules/method-signature-style
210
+ */
211
+ '@typescript-eslint/method-signature-style'?: Linter.RuleEntry<TypescriptEslintMethodSignatureStyle>
212
+ /**
213
+ * Enforce naming conventions for everything across a codebase
214
+ * @see https://typescript-eslint.io/rules/naming-convention
215
+ */
216
+ '@typescript-eslint/naming-convention'?: Linter.RuleEntry<TypescriptEslintNamingConvention>
217
+ /**
218
+ * Disallow generic `Array` constructors
219
+ * @see https://typescript-eslint.io/rules/no-array-constructor
220
+ */
221
+ '@typescript-eslint/no-array-constructor'?: Linter.RuleEntry<[]>
222
+ /**
223
+ * Disallow using the `delete` operator on array values
224
+ * @see https://typescript-eslint.io/rules/no-array-delete
225
+ */
226
+ '@typescript-eslint/no-array-delete'?: Linter.RuleEntry<[]>
227
+ /**
228
+ * Require `.toString()` to only be called on objects which provide useful information when stringified
229
+ * @see https://typescript-eslint.io/rules/no-base-to-string
230
+ */
231
+ '@typescript-eslint/no-base-to-string'?: Linter.RuleEntry<TypescriptEslintNoBaseToString>
232
+ /**
233
+ * Disallow non-null assertion in locations that may be confusing
234
+ * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
235
+ */
236
+ '@typescript-eslint/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]>
237
+ /**
238
+ * Require expressions of type void to appear in statement position
239
+ * @see https://typescript-eslint.io/rules/no-confusing-void-expression
240
+ */
241
+ '@typescript-eslint/no-confusing-void-expression'?: Linter.RuleEntry<TypescriptEslintNoConfusingVoidExpression>
242
+ /**
243
+ * Disallow duplicate class members
244
+ * @see https://typescript-eslint.io/rules/no-dupe-class-members
245
+ */
246
+ '@typescript-eslint/no-dupe-class-members'?: Linter.RuleEntry<[]>
247
+ /**
248
+ * Disallow duplicate enum member values
249
+ * @see https://typescript-eslint.io/rules/no-duplicate-enum-values
250
+ */
251
+ '@typescript-eslint/no-duplicate-enum-values'?: Linter.RuleEntry<[]>
252
+ /**
253
+ * Disallow duplicate constituents of union or intersection types
254
+ * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
255
+ */
256
+ '@typescript-eslint/no-duplicate-type-constituents'?: Linter.RuleEntry<TypescriptEslintNoDuplicateTypeConstituents>
257
+ /**
258
+ * Disallow using the `delete` operator on computed key expressions
259
+ * @see https://typescript-eslint.io/rules/no-dynamic-delete
260
+ */
261
+ '@typescript-eslint/no-dynamic-delete'?: Linter.RuleEntry<[]>
262
+ /**
263
+ * Disallow empty functions
264
+ * @see https://typescript-eslint.io/rules/no-empty-function
265
+ */
266
+ '@typescript-eslint/no-empty-function'?: Linter.RuleEntry<TypescriptEslintNoEmptyFunction>
267
+ /**
268
+ * Disallow the declaration of empty interfaces
269
+ * @see https://typescript-eslint.io/rules/no-empty-interface
270
+ */
271
+ '@typescript-eslint/no-empty-interface'?: Linter.RuleEntry<TypescriptEslintNoEmptyInterface>
272
+ /**
273
+ * Disallow accidentally using the "empty object" type
274
+ * @see https://typescript-eslint.io/rules/no-empty-object-type
275
+ */
276
+ '@typescript-eslint/no-empty-object-type'?: Linter.RuleEntry<TypescriptEslintNoEmptyObjectType>
277
+ /**
278
+ * Disallow the `any` type
279
+ * @see https://typescript-eslint.io/rules/no-explicit-any
280
+ */
281
+ '@typescript-eslint/no-explicit-any'?: Linter.RuleEntry<TypescriptEslintNoExplicitAny>
282
+ /**
283
+ * Disallow extra non-null assertions
284
+ * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
285
+ */
286
+ '@typescript-eslint/no-extra-non-null-assertion'?: Linter.RuleEntry<[]>
287
+ /**
288
+ * Disallow unnecessary parentheses
289
+ * @see https://typescript-eslint.io/rules/no-extra-parens
290
+ * @deprecated
291
+ */
292
+ '@typescript-eslint/no-extra-parens'?: Linter.RuleEntry<TypescriptEslintNoExtraParens>
293
+ /**
294
+ * Disallow unnecessary semicolons
295
+ * @see https://typescript-eslint.io/rules/no-extra-semi
296
+ * @deprecated
297
+ */
298
+ '@typescript-eslint/no-extra-semi'?: Linter.RuleEntry<[]>
299
+ /**
300
+ * Disallow classes used as namespaces
301
+ * @see https://typescript-eslint.io/rules/no-extraneous-class
302
+ */
303
+ '@typescript-eslint/no-extraneous-class'?: Linter.RuleEntry<TypescriptEslintNoExtraneousClass>
304
+ /**
305
+ * Require Promise-like statements to be handled appropriately
306
+ * @see https://typescript-eslint.io/rules/no-floating-promises
307
+ */
308
+ '@typescript-eslint/no-floating-promises'?: Linter.RuleEntry<TypescriptEslintNoFloatingPromises>
309
+ /**
310
+ * Disallow iterating over an array with a for-in loop
311
+ * @see https://typescript-eslint.io/rules/no-for-in-array
312
+ */
313
+ '@typescript-eslint/no-for-in-array'?: Linter.RuleEntry<[]>
314
+ /**
315
+ * Disallow the use of `eval()`-like methods
316
+ * @see https://typescript-eslint.io/rules/no-implied-eval
317
+ */
318
+ '@typescript-eslint/no-implied-eval'?: Linter.RuleEntry<[]>
319
+ /**
320
+ * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
321
+ * @see https://typescript-eslint.io/rules/no-import-type-side-effects
322
+ */
323
+ '@typescript-eslint/no-import-type-side-effects'?: Linter.RuleEntry<[]>
324
+ /**
325
+ * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
326
+ * @see https://typescript-eslint.io/rules/no-inferrable-types
327
+ */
328
+ '@typescript-eslint/no-inferrable-types'?: Linter.RuleEntry<TypescriptEslintNoInferrableTypes>
329
+ /**
330
+ * Disallow `this` keywords outside of classes or class-like objects
331
+ * @see https://typescript-eslint.io/rules/no-invalid-this
332
+ */
333
+ '@typescript-eslint/no-invalid-this'?: Linter.RuleEntry<TypescriptEslintNoInvalidThis>
334
+ /**
335
+ * Disallow `void` type outside of generic or return types
336
+ * @see https://typescript-eslint.io/rules/no-invalid-void-type
337
+ */
338
+ '@typescript-eslint/no-invalid-void-type'?: Linter.RuleEntry<TypescriptEslintNoInvalidVoidType>
339
+ /**
340
+ * Disallow function declarations that contain unsafe references inside loop statements
341
+ * @see https://typescript-eslint.io/rules/no-loop-func
342
+ */
343
+ '@typescript-eslint/no-loop-func'?: Linter.RuleEntry<[]>
344
+ /**
345
+ * Disallow literal numbers that lose precision
346
+ * @see https://typescript-eslint.io/rules/no-loss-of-precision
347
+ */
348
+ '@typescript-eslint/no-loss-of-precision'?: Linter.RuleEntry<[]>
349
+ /**
350
+ * Disallow magic numbers
351
+ * @see https://typescript-eslint.io/rules/no-magic-numbers
352
+ */
353
+ '@typescript-eslint/no-magic-numbers'?: Linter.RuleEntry<TypescriptEslintNoMagicNumbers>
354
+ /**
355
+ * Disallow the `void` operator except when used to discard a value
356
+ * @see https://typescript-eslint.io/rules/no-meaningless-void-operator
357
+ */
358
+ '@typescript-eslint/no-meaningless-void-operator'?: Linter.RuleEntry<TypescriptEslintNoMeaninglessVoidOperator>
359
+ /**
360
+ * Enforce valid definition of `new` and `constructor`
361
+ * @see https://typescript-eslint.io/rules/no-misused-new
362
+ */
363
+ '@typescript-eslint/no-misused-new'?: Linter.RuleEntry<[]>
364
+ /**
365
+ * Disallow Promises in places not designed to handle them
366
+ * @see https://typescript-eslint.io/rules/no-misused-promises
367
+ */
368
+ '@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>
369
+ /**
370
+ * Disallow enums from having both number and string members
371
+ * @see https://typescript-eslint.io/rules/no-mixed-enums
372
+ */
373
+ '@typescript-eslint/no-mixed-enums'?: Linter.RuleEntry<[]>
374
+ /**
375
+ * Disallow TypeScript namespaces
376
+ * @see https://typescript-eslint.io/rules/no-namespace
377
+ */
378
+ '@typescript-eslint/no-namespace'?: Linter.RuleEntry<TypescriptEslintNoNamespace>
379
+ /**
380
+ * Disallow non-null assertions in the left operand of a nullish coalescing operator
381
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
382
+ */
383
+ '@typescript-eslint/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]>
384
+ /**
385
+ * Disallow non-null assertions after an optional chain expression
386
+ * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
387
+ */
388
+ '@typescript-eslint/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]>
389
+ /**
390
+ * Disallow non-null assertions using the `!` postfix operator
391
+ * @see https://typescript-eslint.io/rules/no-non-null-assertion
392
+ */
393
+ '@typescript-eslint/no-non-null-assertion'?: Linter.RuleEntry<[]>
394
+ /**
395
+ * Disallow variable redeclaration
396
+ * @see https://typescript-eslint.io/rules/no-redeclare
397
+ */
398
+ '@typescript-eslint/no-redeclare'?: Linter.RuleEntry<TypescriptEslintNoRedeclare>
399
+ /**
400
+ * Disallow members of unions and intersections that do nothing or override type information
401
+ * @see https://typescript-eslint.io/rules/no-redundant-type-constituents
402
+ */
403
+ '@typescript-eslint/no-redundant-type-constituents'?: Linter.RuleEntry<[]>
404
+ /**
405
+ * Disallow invocation of `require()`
406
+ * @see https://typescript-eslint.io/rules/no-require-imports
407
+ */
408
+ '@typescript-eslint/no-require-imports'?: Linter.RuleEntry<TypescriptEslintNoRequireImports>
409
+ /**
410
+ * Disallow specified modules when loaded by `import`
411
+ * @see https://typescript-eslint.io/rules/no-restricted-imports
412
+ */
413
+ '@typescript-eslint/no-restricted-imports'?: Linter.RuleEntry<TypescriptEslintNoRestrictedImports>
414
+ /**
415
+ * Disallow variable declarations from shadowing variables declared in the outer scope
416
+ * @see https://typescript-eslint.io/rules/no-shadow
417
+ */
418
+ '@typescript-eslint/no-shadow'?: Linter.RuleEntry<TypescriptEslintNoShadow>
419
+ /**
420
+ * Disallow aliasing `this`
421
+ * @see https://typescript-eslint.io/rules/no-this-alias
422
+ */
423
+ '@typescript-eslint/no-this-alias'?: Linter.RuleEntry<TypescriptEslintNoThisAlias>
424
+ /**
425
+ * Disallow throwing literals as exceptions
426
+ * @see https://typescript-eslint.io/rules/no-throw-literal
427
+ * @deprecated
428
+ */
429
+ '@typescript-eslint/no-throw-literal'?: Linter.RuleEntry<TypescriptEslintNoThrowLiteral>
430
+ /**
431
+ * Disallow type aliases
432
+ * @see https://typescript-eslint.io/rules/no-type-alias
433
+ * @deprecated
434
+ */
435
+ '@typescript-eslint/no-type-alias'?: Linter.RuleEntry<TypescriptEslintNoTypeAlias>
436
+ /**
437
+ * Disallow unnecessary equality comparisons against boolean literals
438
+ * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
439
+ */
440
+ '@typescript-eslint/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryBooleanLiteralCompare>
441
+ /**
442
+ * Disallow conditionals where the type is always truthy or always falsy
443
+ * @see https://typescript-eslint.io/rules/no-unnecessary-condition
444
+ */
445
+ '@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryCondition>
446
+ /**
447
+ * Disallow unnecessary assignment of constructor property parameter
448
+ * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
449
+ */
450
+ '@typescript-eslint/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]>
451
+ /**
452
+ * Disallow unnecessary namespace qualifiers
453
+ * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
454
+ */
455
+ '@typescript-eslint/no-unnecessary-qualifier'?: Linter.RuleEntry<[]>
456
+ /**
457
+ * Disallow unnecessary template expressions
458
+ * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
459
+ */
460
+ '@typescript-eslint/no-unnecessary-template-expression'?: Linter.RuleEntry<[]>
461
+ /**
462
+ * Disallow type arguments that are equal to the default
463
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
464
+ */
465
+ '@typescript-eslint/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]>
466
+ /**
467
+ * Disallow type assertions that do not change the type of an expression
468
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
469
+ */
470
+ '@typescript-eslint/no-unnecessary-type-assertion'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryTypeAssertion>
471
+ /**
472
+ * Disallow unnecessary constraints on generic types
473
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
474
+ */
475
+ '@typescript-eslint/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
476
+ /**
477
+ * Disallow type parameters that only appear once
478
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
479
+ */
480
+ '@typescript-eslint/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>
481
+ /**
482
+ * Disallow calling a function with a value with type `any`
483
+ * @see https://typescript-eslint.io/rules/no-unsafe-argument
484
+ */
485
+ '@typescript-eslint/no-unsafe-argument'?: Linter.RuleEntry<[]>
486
+ /**
487
+ * Disallow assigning a value with type `any` to variables and properties
488
+ * @see https://typescript-eslint.io/rules/no-unsafe-assignment
489
+ */
490
+ '@typescript-eslint/no-unsafe-assignment'?: Linter.RuleEntry<[]>
491
+ /**
492
+ * Disallow calling a value with type `any`
493
+ * @see https://typescript-eslint.io/rules/no-unsafe-call
494
+ */
495
+ '@typescript-eslint/no-unsafe-call'?: Linter.RuleEntry<[]>
496
+ /**
497
+ * Disallow unsafe declaration merging
498
+ * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
499
+ */
500
+ '@typescript-eslint/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>
501
+ /**
502
+ * Disallow comparing an enum value with a non-enum value
503
+ * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
504
+ */
505
+ '@typescript-eslint/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]>
506
+ /**
507
+ * Disallow member access on a value with type `any`
508
+ * @see https://typescript-eslint.io/rules/no-unsafe-member-access
509
+ */
510
+ '@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<[]>
511
+ /**
512
+ * Disallow returning a value with type `any` from a function
513
+ * @see https://typescript-eslint.io/rules/no-unsafe-return
514
+ */
515
+ '@typescript-eslint/no-unsafe-return'?: Linter.RuleEntry<[]>
516
+ /**
517
+ * Require unary negation to take a number
518
+ * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
519
+ */
520
+ '@typescript-eslint/no-unsafe-unary-minus'?: Linter.RuleEntry<[]>
521
+ /**
522
+ * Disallow unused expressions
523
+ * @see https://typescript-eslint.io/rules/no-unused-expressions
524
+ */
525
+ '@typescript-eslint/no-unused-expressions'?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>
526
+ /**
527
+ * Disallow unused variables
528
+ * @see https://typescript-eslint.io/rules/no-unused-vars
529
+ */
530
+ '@typescript-eslint/no-unused-vars'?: Linter.RuleEntry<TypescriptEslintNoUnusedVars>
531
+ /**
532
+ * Disallow the use of variables before they are defined
533
+ * @see https://typescript-eslint.io/rules/no-use-before-define
534
+ */
535
+ '@typescript-eslint/no-use-before-define'?: Linter.RuleEntry<TypescriptEslintNoUseBeforeDefine>
536
+ /**
537
+ * Disallow unnecessary constructors
538
+ * @see https://typescript-eslint.io/rules/no-useless-constructor
539
+ */
540
+ '@typescript-eslint/no-useless-constructor'?: Linter.RuleEntry<[]>
541
+ /**
542
+ * Disallow empty exports that don't change anything in a module file
543
+ * @see https://typescript-eslint.io/rules/no-useless-empty-export
544
+ */
545
+ '@typescript-eslint/no-useless-empty-export'?: Linter.RuleEntry<[]>
546
+ /**
547
+ * Disallow unnecessary template expressions
548
+ * @see https://typescript-eslint.io/rules/no-useless-template-literals
549
+ * @deprecated
550
+ */
551
+ '@typescript-eslint/no-useless-template-literals'?: Linter.RuleEntry<[]>
552
+ /**
553
+ * Disallow `require` statements except in import statements
554
+ * @see https://typescript-eslint.io/rules/no-var-requires
555
+ */
556
+ '@typescript-eslint/no-var-requires'?: Linter.RuleEntry<TypescriptEslintNoVarRequires>
557
+ /**
558
+ * Enforce non-null assertions over explicit type casts
559
+ * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
560
+ */
561
+ '@typescript-eslint/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>
562
+ /**
563
+ * Enforce consistent spacing inside braces
564
+ * @see https://typescript-eslint.io/rules/object-curly-spacing
565
+ * @deprecated
566
+ */
567
+ '@typescript-eslint/object-curly-spacing'?: Linter.RuleEntry<TypescriptEslintObjectCurlySpacing>
568
+ /**
569
+ * Disallow throwing non-`Error` values as exceptions
570
+ * @see https://typescript-eslint.io/rules/only-throw-error
571
+ */
572
+ '@typescript-eslint/only-throw-error'?: Linter.RuleEntry<TypescriptEslintOnlyThrowError>
573
+ /**
574
+ * Require or disallow padding lines between statements
575
+ * @see https://typescript-eslint.io/rules/padding-line-between-statements
576
+ * @deprecated
577
+ */
578
+ '@typescript-eslint/padding-line-between-statements'?: Linter.RuleEntry<TypescriptEslintPaddingLineBetweenStatements>
579
+ /**
580
+ * Require or disallow parameter properties in class constructors
581
+ * @see https://typescript-eslint.io/rules/parameter-properties
582
+ */
583
+ '@typescript-eslint/parameter-properties'?: Linter.RuleEntry<TypescriptEslintParameterProperties>
584
+ /**
585
+ * Enforce the use of `as const` over literal type
586
+ * @see https://typescript-eslint.io/rules/prefer-as-const
587
+ */
588
+ '@typescript-eslint/prefer-as-const'?: Linter.RuleEntry<[]>
589
+ /**
590
+ * Require destructuring from arrays and/or objects
591
+ * @see https://typescript-eslint.io/rules/prefer-destructuring
592
+ */
593
+ '@typescript-eslint/prefer-destructuring'?: Linter.RuleEntry<TypescriptEslintPreferDestructuring>
594
+ /**
595
+ * Require each enum member value to be explicitly initialized
596
+ * @see https://typescript-eslint.io/rules/prefer-enum-initializers
597
+ */
598
+ '@typescript-eslint/prefer-enum-initializers'?: Linter.RuleEntry<[]>
599
+ /**
600
+ * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
601
+ * @see https://typescript-eslint.io/rules/prefer-find
602
+ */
603
+ '@typescript-eslint/prefer-find'?: Linter.RuleEntry<[]>
604
+ /**
605
+ * Enforce the use of `for-of` loop over the standard `for` loop where possible
606
+ * @see https://typescript-eslint.io/rules/prefer-for-of
607
+ */
608
+ '@typescript-eslint/prefer-for-of'?: Linter.RuleEntry<[]>
609
+ /**
610
+ * Enforce using function types instead of interfaces with call signatures
611
+ * @see https://typescript-eslint.io/rules/prefer-function-type
612
+ */
613
+ '@typescript-eslint/prefer-function-type'?: Linter.RuleEntry<[]>
614
+ /**
615
+ * Enforce `includes` method over `indexOf` method
616
+ * @see https://typescript-eslint.io/rules/prefer-includes
617
+ */
618
+ '@typescript-eslint/prefer-includes'?: Linter.RuleEntry<[]>
619
+ /**
620
+ * Require all enum members to be literal values
621
+ * @see https://typescript-eslint.io/rules/prefer-literal-enum-member
622
+ */
623
+ '@typescript-eslint/prefer-literal-enum-member'?: Linter.RuleEntry<TypescriptEslintPreferLiteralEnumMember>
624
+ /**
625
+ * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
626
+ * @see https://typescript-eslint.io/rules/prefer-namespace-keyword
627
+ */
628
+ '@typescript-eslint/prefer-namespace-keyword'?: Linter.RuleEntry<[]>
629
+ /**
630
+ * Enforce using the nullish coalescing operator instead of logical assignments or chaining
631
+ * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
632
+ */
633
+ '@typescript-eslint/prefer-nullish-coalescing'?: Linter.RuleEntry<TypescriptEslintPreferNullishCoalescing>
634
+ /**
635
+ * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
636
+ * @see https://typescript-eslint.io/rules/prefer-optional-chain
637
+ */
638
+ '@typescript-eslint/prefer-optional-chain'?: Linter.RuleEntry<TypescriptEslintPreferOptionalChain>
639
+ /**
640
+ * Require using Error objects as Promise rejection reasons
641
+ * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
642
+ */
643
+ '@typescript-eslint/prefer-promise-reject-errors'?: Linter.RuleEntry<TypescriptEslintPreferPromiseRejectErrors>
644
+ /**
645
+ * Require private members to be marked as `readonly` if they're never modified outside of the constructor
646
+ * @see https://typescript-eslint.io/rules/prefer-readonly
647
+ */
648
+ '@typescript-eslint/prefer-readonly'?: Linter.RuleEntry<TypescriptEslintPreferReadonly>
649
+ /**
650
+ * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
651
+ * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
652
+ */
653
+ '@typescript-eslint/prefer-readonly-parameter-types'?: Linter.RuleEntry<TypescriptEslintPreferReadonlyParameterTypes>
654
+ /**
655
+ * Enforce using type parameter when calling `Array#reduce` instead of casting
656
+ * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
657
+ */
658
+ '@typescript-eslint/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>
659
+ /**
660
+ * Enforce `RegExp#exec` over `String#match` if no global flag is provided
661
+ * @see https://typescript-eslint.io/rules/prefer-regexp-exec
662
+ */
663
+ '@typescript-eslint/prefer-regexp-exec'?: Linter.RuleEntry<[]>
664
+ /**
665
+ * Enforce that `this` is used when only `this` type is returned
666
+ * @see https://typescript-eslint.io/rules/prefer-return-this-type
667
+ */
668
+ '@typescript-eslint/prefer-return-this-type'?: Linter.RuleEntry<[]>
669
+ /**
670
+ * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
671
+ * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
672
+ */
673
+ '@typescript-eslint/prefer-string-starts-ends-with'?: Linter.RuleEntry<TypescriptEslintPreferStringStartsEndsWith>
674
+ /**
675
+ * Enforce using `@ts-expect-error` over `@ts-ignore`
676
+ * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
677
+ * @deprecated
678
+ */
679
+ '@typescript-eslint/prefer-ts-expect-error'?: Linter.RuleEntry<[]>
680
+ /**
681
+ * Require any function or method that returns a Promise to be marked async
682
+ * @see https://typescript-eslint.io/rules/promise-function-async
683
+ */
684
+ '@typescript-eslint/promise-function-async'?: Linter.RuleEntry<TypescriptEslintPromiseFunctionAsync>
685
+ /**
686
+ * Enforce the consistent use of either backticks, double, or single quotes
687
+ * @see https://typescript-eslint.io/rules/quotes
688
+ * @deprecated
689
+ */
690
+ '@typescript-eslint/quotes'?: Linter.RuleEntry<TypescriptEslintQuotes>
691
+ /**
692
+ * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
693
+ * @see https://typescript-eslint.io/rules/require-array-sort-compare
694
+ */
695
+ '@typescript-eslint/require-array-sort-compare'?: Linter.RuleEntry<TypescriptEslintRequireArraySortCompare>
696
+ /**
697
+ * Disallow async functions which do not return promises and have no `await` expression
698
+ * @see https://typescript-eslint.io/rules/require-await
699
+ */
700
+ '@typescript-eslint/require-await'?: Linter.RuleEntry<[]>
701
+ /**
702
+ * Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
703
+ * @see https://typescript-eslint.io/rules/restrict-plus-operands
704
+ */
705
+ '@typescript-eslint/restrict-plus-operands'?: Linter.RuleEntry<TypescriptEslintRestrictPlusOperands>
706
+ /**
707
+ * Enforce template literal expressions to be of `string` type
708
+ * @see https://typescript-eslint.io/rules/restrict-template-expressions
709
+ */
710
+ '@typescript-eslint/restrict-template-expressions'?: Linter.RuleEntry<TypescriptEslintRestrictTemplateExpressions>
711
+ /**
712
+ * Enforce consistent awaiting of returned promises
713
+ * @see https://typescript-eslint.io/rules/return-await
714
+ */
715
+ '@typescript-eslint/return-await'?: Linter.RuleEntry<TypescriptEslintReturnAwait>
716
+ /**
717
+ * Require or disallow semicolons instead of ASI
718
+ * @see https://typescript-eslint.io/rules/semi
719
+ * @deprecated
720
+ */
721
+ '@typescript-eslint/semi'?: Linter.RuleEntry<TypescriptEslintSemi>
722
+ /**
723
+ * Enforce constituents of a type union/intersection to be sorted alphabetically
724
+ * @see https://typescript-eslint.io/rules/sort-type-constituents
725
+ * @deprecated
726
+ */
727
+ '@typescript-eslint/sort-type-constituents'?: Linter.RuleEntry<TypescriptEslintSortTypeConstituents>
728
+ /**
729
+ * Enforce consistent spacing before blocks
730
+ * @see https://typescript-eslint.io/rules/space-before-blocks
731
+ * @deprecated
732
+ */
733
+ '@typescript-eslint/space-before-blocks'?: Linter.RuleEntry<TypescriptEslintSpaceBeforeBlocks>
734
+ /**
735
+ * Enforce consistent spacing before function parenthesis
736
+ * @see https://typescript-eslint.io/rules/space-before-function-paren
737
+ * @deprecated
738
+ */
739
+ '@typescript-eslint/space-before-function-paren'?: Linter.RuleEntry<TypescriptEslintSpaceBeforeFunctionParen>
740
+ /**
741
+ * Require spacing around infix operators
742
+ * @see https://typescript-eslint.io/rules/space-infix-ops
743
+ * @deprecated
744
+ */
745
+ '@typescript-eslint/space-infix-ops'?: Linter.RuleEntry<TypescriptEslintSpaceInfixOps>
746
+ /**
747
+ * Disallow certain types in boolean expressions
748
+ * @see https://typescript-eslint.io/rules/strict-boolean-expressions
749
+ */
750
+ '@typescript-eslint/strict-boolean-expressions'?: Linter.RuleEntry<TypescriptEslintStrictBooleanExpressions>
751
+ /**
752
+ * Require switch-case statements to be exhaustive
753
+ * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
754
+ */
755
+ '@typescript-eslint/switch-exhaustiveness-check'?: Linter.RuleEntry<TypescriptEslintSwitchExhaustivenessCheck>
756
+ /**
757
+ * Disallow certain triple slash directives in favor of ES6-style import declarations
758
+ * @see https://typescript-eslint.io/rules/triple-slash-reference
759
+ */
760
+ '@typescript-eslint/triple-slash-reference'?: Linter.RuleEntry<TypescriptEslintTripleSlashReference>
761
+ /**
762
+ * Require consistent spacing around type annotations
763
+ * @see https://typescript-eslint.io/rules/type-annotation-spacing
764
+ * @deprecated
765
+ */
766
+ '@typescript-eslint/type-annotation-spacing'?: Linter.RuleEntry<TypescriptEslintTypeAnnotationSpacing>
767
+ /**
768
+ * Require type annotations in certain places
769
+ * @see https://typescript-eslint.io/rules/typedef
770
+ */
771
+ '@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>
772
+ /**
773
+ * Enforce unbound methods are called with their expected scope
774
+ * @see https://typescript-eslint.io/rules/unbound-method
775
+ */
776
+ '@typescript-eslint/unbound-method'?: Linter.RuleEntry<TypescriptEslintUnboundMethod>
777
+ /**
778
+ * Disallow two overloads that could be unified into one with a union or an optional/rest parameter
779
+ * @see https://typescript-eslint.io/rules/unified-signatures
780
+ */
781
+ '@typescript-eslint/unified-signatures'?: Linter.RuleEntry<TypescriptEslintUnifiedSignatures>
782
+ /**
783
+ * Enforce typing arguments in `.catch()` callbacks as `unknown`
784
+ * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
785
+ */
786
+ '@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>
787
+ /**
788
+ * Ensures the file has a Storm Software banner
789
+ * @see https://docs.stormsoftware.com/eslint/rules/banner
790
+ */
791
+ 'banner/banner'?: Linter.RuleEntry<BannerBanner>
792
+ /**
793
+ * @see https://github.com/prettier/eslint-plugin-prettier#options
794
+ */
795
+ 'prettier/prettier'?: Linter.RuleEntry<PrettierPrettier>
796
+ /**
797
+ * Validates that TypeScript documentation comments conform to the TSDoc standard
798
+ * @see https://tsdoc.org/pages/packages/eslint-plugin-tsdoc
799
+ */
800
+ 'tsdoc/syntax'?: Linter.RuleEntry<[]>
801
+ /**
802
+ * Improve regexes by making them shorter, consistent, and safer.
803
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/better-regex.md
804
+ */
805
+ 'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>
806
+ /**
807
+ * Enforce a specific parameter name in catch clauses.
808
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/catch-error-name.md
809
+ */
810
+ 'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>
811
+ /**
812
+ * Use destructured variables over properties.
813
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-destructuring.md
814
+ */
815
+ 'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>
816
+ /**
817
+ * Prefer consistent types when spreading a ternary in an array literal.
818
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-empty-array-spread.md
819
+ */
820
+ 'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>
821
+ /**
822
+ * Move function definitions to the highest possible scope.
823
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/consistent-function-scoping.md
824
+ */
825
+ 'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>
826
+ /**
827
+ * Enforce correct `Error` subclassing.
828
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/custom-error-definition.md
829
+ */
830
+ 'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>
831
+ /**
832
+ * Enforce no spaces between braces.
833
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/empty-brace-spaces.md
834
+ */
835
+ 'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>
836
+ /**
837
+ * Enforce passing a `message` value when creating a built-in error.
838
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/error-message.md
839
+ */
840
+ 'unicorn/error-message'?: Linter.RuleEntry<[]>
841
+ /**
842
+ * Require escape sequences to use uppercase values.
843
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/escape-case.md
844
+ */
845
+ 'unicorn/escape-case'?: Linter.RuleEntry<[]>
846
+ /**
847
+ * Add expiration conditions to TODO comments.
848
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/expiring-todo-comments.md
849
+ */
850
+ 'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>
851
+ /**
852
+ * Enforce explicitly comparing the `length` or `size` property of a value.
853
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/explicit-length-check.md
854
+ */
855
+ 'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>
856
+ /**
857
+ * Enforce a case style for filenames.
858
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/filename-case.md
859
+ */
860
+ 'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>
861
+ /**
862
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#import-index
863
+ * @deprecated
864
+ */
865
+ 'unicorn/import-index'?: Linter.RuleEntry<[]>
866
+ /**
867
+ * Enforce specific import styles per module.
868
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/import-style.md
869
+ */
870
+ 'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>
871
+ /**
872
+ * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
873
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/new-for-builtins.md
874
+ */
875
+ 'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>
876
+ /**
877
+ * Enforce specifying rules to disable in `eslint-disable` comments.
878
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-abusive-eslint-disable.md
879
+ */
880
+ 'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>
881
+ /**
882
+ * Disallow anonymous functions and classes as the default export.
883
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-anonymous-default-export.md
884
+ */
885
+ 'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>
886
+ /**
887
+ * Prevent passing a function reference directly to iterator methods.
888
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-callback-reference.md
889
+ */
890
+ 'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>
891
+ /**
892
+ * Prefer `for…of` over the `forEach` method.
893
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-for-each.md
894
+ */
895
+ 'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>
896
+ /**
897
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-array-instanceof
898
+ * @deprecated
899
+ */
900
+ 'unicorn/no-array-instanceof'?: Linter.RuleEntry<[]>
901
+ /**
902
+ * Disallow using the `this` argument in array methods.
903
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-method-this-argument.md
904
+ */
905
+ 'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>
906
+ /**
907
+ * Enforce combining multiple `Array#push()` into one call.
908
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-push-push.md
909
+ */
910
+ 'unicorn/no-array-push-push'?: Linter.RuleEntry<UnicornNoArrayPushPush>
911
+ /**
912
+ * Disallow `Array#reduce()` and `Array#reduceRight()`.
913
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-array-reduce.md
914
+ */
915
+ 'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>
916
+ /**
917
+ * Disallow member access from await expression.
918
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-expression-member.md
919
+ */
920
+ 'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>
921
+ /**
922
+ * Disallow using `await` in `Promise` method parameters.
923
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-await-in-promise-methods.md
924
+ */
925
+ 'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>
926
+ /**
927
+ * Do not use leading/trailing space between `console.log` parameters.
928
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-console-spaces.md
929
+ */
930
+ 'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>
931
+ /**
932
+ * Do not use `document.cookie` directly.
933
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-document-cookie.md
934
+ */
935
+ 'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>
936
+ /**
937
+ * Disallow empty files.
938
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-empty-file.md
939
+ */
940
+ 'unicorn/no-empty-file'?: Linter.RuleEntry<[]>
941
+ /**
942
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-fn-reference-in-iterator
943
+ * @deprecated
944
+ */
945
+ 'unicorn/no-fn-reference-in-iterator'?: Linter.RuleEntry<[]>
946
+ /**
947
+ * Do not use a `for` loop that can be replaced with a `for-of` loop.
948
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-for-loop.md
949
+ */
950
+ 'unicorn/no-for-loop'?: Linter.RuleEntry<[]>
951
+ /**
952
+ * Enforce the use of Unicode escapes instead of hexadecimal escapes.
953
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-hex-escape.md
954
+ */
955
+ 'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>
956
+ /**
957
+ * Require `Array.isArray()` instead of `instanceof Array`.
958
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-instanceof-array.md
959
+ */
960
+ 'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>
961
+ /**
962
+ * Disallow invalid options in `fetch()` and `new Request()`.
963
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-fetch-options.md
964
+ */
965
+ 'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>
966
+ /**
967
+ * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
968
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-invalid-remove-event-listener.md
969
+ */
970
+ 'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>
971
+ /**
972
+ * Disallow identifiers starting with `new` or `class`.
973
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-keyword-prefix.md
974
+ */
975
+ 'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>
976
+ /**
977
+ * Disallow `if` statements as the only statement in `if` blocks without `else`.
978
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-lonely-if.md
979
+ */
980
+ 'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>
981
+ /**
982
+ * Disallow a magic number as the `depth` argument in `Array#flat(…).`
983
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-magic-array-flat-depth.md
984
+ */
985
+ 'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>
986
+ /**
987
+ * Disallow negated conditions.
988
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negated-condition.md
989
+ */
990
+ 'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>
991
+ /**
992
+ * Disallow negated expression in equality check.
993
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-negation-in-equality-check.md
994
+ */
995
+ 'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>
996
+ /**
997
+ * Disallow nested ternary expressions.
998
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-nested-ternary.md
999
+ */
1000
+ 'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>
1001
+ /**
1002
+ * Disallow `new Array()`.
1003
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-array.md
1004
+ */
1005
+ 'unicorn/no-new-array'?: Linter.RuleEntry<[]>
1006
+ /**
1007
+ * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
1008
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-new-buffer.md
1009
+ */
1010
+ 'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>
1011
+ /**
1012
+ * Disallow the use of the `null` literal.
1013
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-null.md
1014
+ */
1015
+ 'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>
1016
+ /**
1017
+ * Disallow the use of objects as default parameters.
1018
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-object-as-default-parameter.md
1019
+ */
1020
+ 'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>
1021
+ /**
1022
+ * Disallow `process.exit()`.
1023
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-process-exit.md
1024
+ */
1025
+ 'unicorn/no-process-exit'?: Linter.RuleEntry<[]>
1026
+ /**
1027
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-reduce
1028
+ * @deprecated
1029
+ */
1030
+ 'unicorn/no-reduce'?: Linter.RuleEntry<[]>
1031
+ /**
1032
+ * Disallow passing single-element arrays to `Promise` methods.
1033
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-single-promise-in-promise-methods.md
1034
+ */
1035
+ 'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>
1036
+ /**
1037
+ * Disallow classes that only have static members.
1038
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-static-only-class.md
1039
+ */
1040
+ 'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>
1041
+ /**
1042
+ * Disallow `then` property.
1043
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-thenable.md
1044
+ */
1045
+ 'unicorn/no-thenable'?: Linter.RuleEntry<[]>
1046
+ /**
1047
+ * Disallow assigning `this` to a variable.
1048
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-this-assignment.md
1049
+ */
1050
+ 'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>
1051
+ /**
1052
+ * Disallow comparing `undefined` using `typeof`.
1053
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-typeof-undefined.md
1054
+ */
1055
+ 'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>
1056
+ /**
1057
+ * Disallow awaiting non-promise values.
1058
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-await.md
1059
+ */
1060
+ 'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>
1061
+ /**
1062
+ * Enforce the use of built-in methods instead of unnecessary polyfills.
1063
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unnecessary-polyfills.md
1064
+ */
1065
+ 'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>
1066
+ /**
1067
+ * Disallow unreadable array destructuring.
1068
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-array-destructuring.md
1069
+ */
1070
+ 'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>
1071
+ /**
1072
+ * Disallow unreadable IIFEs.
1073
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unreadable-iife.md
1074
+ */
1075
+ 'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>
1076
+ /**
1077
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#no-unsafe-regex
1078
+ * @deprecated
1079
+ */
1080
+ 'unicorn/no-unsafe-regex'?: Linter.RuleEntry<[]>
1081
+ /**
1082
+ * Disallow unused object properties.
1083
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-unused-properties.md
1084
+ */
1085
+ 'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>
1086
+ /**
1087
+ * Disallow useless fallback when spreading in object literals.
1088
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-fallback-in-spread.md
1089
+ */
1090
+ 'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>
1091
+ /**
1092
+ * Disallow useless array length check.
1093
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-length-check.md
1094
+ */
1095
+ 'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>
1096
+ /**
1097
+ * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
1098
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-promise-resolve-reject.md
1099
+ */
1100
+ 'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>
1101
+ /**
1102
+ * Disallow unnecessary spread.
1103
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-spread.md
1104
+ */
1105
+ 'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>
1106
+ /**
1107
+ * Disallow useless case in switch statements.
1108
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-switch-case.md
1109
+ */
1110
+ 'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>
1111
+ /**
1112
+ * Disallow useless `undefined`.
1113
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-useless-undefined.md
1114
+ */
1115
+ 'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>
1116
+ /**
1117
+ * Disallow number literals with zero fractions or dangling dots.
1118
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/no-zero-fractions.md
1119
+ */
1120
+ 'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>
1121
+ /**
1122
+ * Enforce proper case for numeric literals.
1123
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/number-literal-case.md
1124
+ */
1125
+ 'unicorn/number-literal-case'?: Linter.RuleEntry<[]>
1126
+ /**
1127
+ * Enforce the style of numeric separators by correctly grouping digits.
1128
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/numeric-separators-style.md
1129
+ */
1130
+ 'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>
1131
+ /**
1132
+ * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
1133
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-add-event-listener.md
1134
+ */
1135
+ 'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>
1136
+ /**
1137
+ * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
1138
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-find.md
1139
+ */
1140
+ 'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>
1141
+ /**
1142
+ * Prefer `Array#flat()` over legacy techniques to flatten arrays.
1143
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat.md
1144
+ */
1145
+ 'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>
1146
+ /**
1147
+ * Prefer `.flatMap(…)` over `.map(…).flat()`.
1148
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-flat-map.md
1149
+ */
1150
+ 'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>
1151
+ /**
1152
+ * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
1153
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-index-of.md
1154
+ */
1155
+ 'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>
1156
+ /**
1157
+ * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
1158
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-array-some.md
1159
+ */
1160
+ 'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>
1161
+ /**
1162
+ * Prefer `.at()` method for index access and `String#charAt()`.
1163
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-at.md
1164
+ */
1165
+ 'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>
1166
+ /**
1167
+ * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
1168
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-blob-reading-methods.md
1169
+ */
1170
+ 'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>
1171
+ /**
1172
+ * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
1173
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-code-point.md
1174
+ */
1175
+ 'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>
1176
+ /**
1177
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-dataset
1178
+ * @deprecated
1179
+ */
1180
+ 'unicorn/prefer-dataset'?: Linter.RuleEntry<[]>
1181
+ /**
1182
+ * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
1183
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-date-now.md
1184
+ */
1185
+ 'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>
1186
+ /**
1187
+ * Prefer default parameters over reassignment.
1188
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-default-parameters.md
1189
+ */
1190
+ 'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>
1191
+ /**
1192
+ * Prefer `Node#append()` over `Node#appendChild()`.
1193
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-append.md
1194
+ */
1195
+ 'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>
1196
+ /**
1197
+ * Prefer using `.dataset` on DOM elements over calling attribute methods.
1198
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-dataset.md
1199
+ */
1200
+ 'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>
1201
+ /**
1202
+ * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
1203
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-remove.md
1204
+ */
1205
+ 'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>
1206
+ /**
1207
+ * Prefer `.textContent` over `.innerText`.
1208
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-dom-node-text-content.md
1209
+ */
1210
+ 'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>
1211
+ /**
1212
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-event-key
1213
+ * @deprecated
1214
+ */
1215
+ 'unicorn/prefer-event-key'?: Linter.RuleEntry<[]>
1216
+ /**
1217
+ * Prefer `EventTarget` over `EventEmitter`.
1218
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-event-target.md
1219
+ */
1220
+ 'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>
1221
+ /**
1222
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-exponentiation-operator
1223
+ * @deprecated
1224
+ */
1225
+ 'unicorn/prefer-exponentiation-operator'?: Linter.RuleEntry<[]>
1226
+ /**
1227
+ * Prefer `export…from` when re-exporting.
1228
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-export-from.md
1229
+ */
1230
+ 'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>
1231
+ /**
1232
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-flat-map
1233
+ * @deprecated
1234
+ */
1235
+ 'unicorn/prefer-flat-map'?: Linter.RuleEntry<[]>
1236
+ /**
1237
+ * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
1238
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-includes.md
1239
+ */
1240
+ 'unicorn/prefer-includes'?: Linter.RuleEntry<[]>
1241
+ /**
1242
+ * Prefer reading a JSON file as a buffer.
1243
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-json-parse-buffer.md
1244
+ */
1245
+ 'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>
1246
+ /**
1247
+ * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
1248
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-keyboard-event-key.md
1249
+ */
1250
+ 'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>
1251
+ /**
1252
+ * Prefer using a logical operator over a ternary.
1253
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-logical-operator-over-ternary.md
1254
+ */
1255
+ 'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>
1256
+ /**
1257
+ * Enforce the use of `Math.trunc` instead of bitwise operators.
1258
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-math-trunc.md
1259
+ */
1260
+ 'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>
1261
+ /**
1262
+ * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
1263
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-dom-apis.md
1264
+ */
1265
+ 'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>
1266
+ /**
1267
+ * Prefer modern `Math` APIs over legacy patterns.
1268
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-modern-math-apis.md
1269
+ */
1270
+ 'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>
1271
+ /**
1272
+ * Prefer JavaScript modules (ESM) over CommonJS.
1273
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-module.md
1274
+ */
1275
+ 'unicorn/prefer-module'?: Linter.RuleEntry<[]>
1276
+ /**
1277
+ * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
1278
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-native-coercion-functions.md
1279
+ */
1280
+ 'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>
1281
+ /**
1282
+ * Prefer negative index over `.length - index` when possible.
1283
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-negative-index.md
1284
+ */
1285
+ 'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>
1286
+ /**
1287
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-append
1288
+ * @deprecated
1289
+ */
1290
+ 'unicorn/prefer-node-append'?: Linter.RuleEntry<[]>
1291
+ /**
1292
+ * Prefer using the `node:` protocol when importing Node.js builtin modules.
1293
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-node-protocol.md
1294
+ */
1295
+ 'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>
1296
+ /**
1297
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-node-remove
1298
+ * @deprecated
1299
+ */
1300
+ 'unicorn/prefer-node-remove'?: Linter.RuleEntry<[]>
1301
+ /**
1302
+ * Prefer `Number` static properties over global ones.
1303
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-number-properties.md
1304
+ */
1305
+ 'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>
1306
+ /**
1307
+ * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
1308
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-object-from-entries.md
1309
+ */
1310
+ 'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>
1311
+ /**
1312
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-object-has-own
1313
+ * @deprecated
1314
+ */
1315
+ 'unicorn/prefer-object-has-own'?: Linter.RuleEntry<[]>
1316
+ /**
1317
+ * Prefer omitting the `catch` binding parameter.
1318
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-optional-catch-binding.md
1319
+ */
1320
+ 'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>
1321
+ /**
1322
+ * Prefer borrowing methods from the prototype instead of the instance.
1323
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-prototype-methods.md
1324
+ */
1325
+ 'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>
1326
+ /**
1327
+ * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()`.
1328
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-query-selector.md
1329
+ */
1330
+ 'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>
1331
+ /**
1332
+ * Prefer `Reflect.apply()` over `Function#apply()`.
1333
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-reflect-apply.md
1334
+ */
1335
+ 'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>
1336
+ /**
1337
+ * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
1338
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-regexp-test.md
1339
+ */
1340
+ 'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>
1341
+ /**
1342
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-replace-all
1343
+ * @deprecated
1344
+ */
1345
+ 'unicorn/prefer-replace-all'?: Linter.RuleEntry<[]>
1346
+ /**
1347
+ * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
1348
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-has.md
1349
+ */
1350
+ 'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>
1351
+ /**
1352
+ * Prefer using `Set#size` instead of `Array#length`.
1353
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-set-size.md
1354
+ */
1355
+ 'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>
1356
+ /**
1357
+ * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
1358
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-spread.md
1359
+ */
1360
+ 'unicorn/prefer-spread'?: Linter.RuleEntry<[]>
1361
+ /**
1362
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-starts-ends-with
1363
+ * @deprecated
1364
+ */
1365
+ 'unicorn/prefer-starts-ends-with'?: Linter.RuleEntry<[]>
1366
+ /**
1367
+ * Prefer using the `String.raw` tag to avoid escaping `\`.
1368
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-raw.md
1369
+ */
1370
+ 'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>
1371
+ /**
1372
+ * Prefer `String#replaceAll()` over regex searches with the global flag.
1373
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-replace-all.md
1374
+ */
1375
+ 'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>
1376
+ /**
1377
+ * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
1378
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-slice.md
1379
+ */
1380
+ 'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>
1381
+ /**
1382
+ * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
1383
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-starts-ends-with.md
1384
+ */
1385
+ 'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>
1386
+ /**
1387
+ * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
1388
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-string-trim-start-end.md
1389
+ */
1390
+ 'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>
1391
+ /**
1392
+ * Prefer using `structuredClone` to create a deep clone.
1393
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-structured-clone.md
1394
+ */
1395
+ 'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>
1396
+ /**
1397
+ * Prefer `switch` over multiple `else-if`.
1398
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-switch.md
1399
+ */
1400
+ 'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>
1401
+ /**
1402
+ * Prefer ternary expressions over simple `if-else` statements.
1403
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-ternary.md
1404
+ */
1405
+ 'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>
1406
+ /**
1407
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-text-content
1408
+ * @deprecated
1409
+ */
1410
+ 'unicorn/prefer-text-content'?: Linter.RuleEntry<[]>
1411
+ /**
1412
+ * Prefer top-level await over top-level promises and async function calls.
1413
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-top-level-await.md
1414
+ */
1415
+ 'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>
1416
+ /**
1417
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#prefer-trim-start-end
1418
+ * @deprecated
1419
+ */
1420
+ 'unicorn/prefer-trim-start-end'?: Linter.RuleEntry<[]>
1421
+ /**
1422
+ * Enforce throwing `TypeError` in type checking conditions.
1423
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prefer-type-error.md
1424
+ */
1425
+ 'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>
1426
+ /**
1427
+ * Prevent abbreviations.
1428
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/prevent-abbreviations.md
1429
+ */
1430
+ 'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>
1431
+ /**
1432
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/deprecated-rules.md#regex-shorthand
1433
+ * @deprecated
1434
+ */
1435
+ 'unicorn/regex-shorthand'?: Linter.RuleEntry<[]>
1436
+ /**
1437
+ * Enforce consistent relative URL style.
1438
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/relative-url-style.md
1439
+ */
1440
+ 'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>
1441
+ /**
1442
+ * Enforce using the separator argument with `Array#join()`.
1443
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-array-join-separator.md
1444
+ */
1445
+ 'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>
1446
+ /**
1447
+ * Enforce using the digits argument with `Number#toFixed()`.
1448
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-number-to-fixed-digits-argument.md
1449
+ */
1450
+ 'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>
1451
+ /**
1452
+ * Enforce using the `targetOrigin` argument with `window.postMessage()`.
1453
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/require-post-message-target-origin.md
1454
+ */
1455
+ 'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>
1456
+ /**
1457
+ * Enforce better string content.
1458
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/string-content.md
1459
+ */
1460
+ 'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>
1461
+ /**
1462
+ * Enforce consistent brace style for `case` clauses.
1463
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/switch-case-braces.md
1464
+ */
1465
+ 'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>
1466
+ /**
1467
+ * Fix whitespace-insensitive template indentation.
1468
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/template-indent.md
1469
+ */
1470
+ 'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>
1471
+ /**
1472
+ * Enforce consistent case for text encoding identifiers.
1473
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/text-encoding-identifier-case.md
1474
+ */
1475
+ 'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<[]>
1476
+ /**
1477
+ * Require `new` when creating an error.
1478
+ * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v54.0.0/docs/rules/throw-new-error.md
1479
+ */
1480
+ 'unicorn/throw-new-error'?: Linter.RuleEntry<[]>
1481
+ /**
1482
+ * require or disallow block style mappings.
1483
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping.html
1484
+ */
1485
+ 'yml/block-mapping'?: Linter.RuleEntry<YmlBlockMapping>
1486
+ /**
1487
+ * enforce consistent line breaks after `:` indicator
1488
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-colon-indicator-newline.html
1489
+ */
1490
+ 'yml/block-mapping-colon-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingColonIndicatorNewline>
1491
+ /**
1492
+ * enforce consistent line breaks after `?` indicator
1493
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-question-indicator-newline.html
1494
+ */
1495
+ 'yml/block-mapping-question-indicator-newline'?: Linter.RuleEntry<YmlBlockMappingQuestionIndicatorNewline>
1496
+ /**
1497
+ * require or disallow block style sequences.
1498
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence.html
1499
+ */
1500
+ 'yml/block-sequence'?: Linter.RuleEntry<YmlBlockSequence>
1501
+ /**
1502
+ * enforce consistent line breaks after `-` indicator
1503
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence-hyphen-indicator-newline.html
1504
+ */
1505
+ 'yml/block-sequence-hyphen-indicator-newline'?: Linter.RuleEntry<YmlBlockSequenceHyphenIndicatorNewline>
1506
+ /**
1507
+ * enforce YAML file extension
1508
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/file-extension.html
1509
+ */
1510
+ 'yml/file-extension'?: Linter.RuleEntry<YmlFileExtension>
1511
+ /**
1512
+ * enforce consistent line breaks inside braces
1513
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-newline.html
1514
+ */
1515
+ 'yml/flow-mapping-curly-newline'?: Linter.RuleEntry<YmlFlowMappingCurlyNewline>
1516
+ /**
1517
+ * enforce consistent spacing inside braces
1518
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-spacing.html
1519
+ */
1520
+ 'yml/flow-mapping-curly-spacing'?: Linter.RuleEntry<YmlFlowMappingCurlySpacing>
1521
+ /**
1522
+ * enforce linebreaks after opening and before closing flow sequence brackets
1523
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-newline.html
1524
+ */
1525
+ 'yml/flow-sequence-bracket-newline'?: Linter.RuleEntry<YmlFlowSequenceBracketNewline>
1526
+ /**
1527
+ * enforce consistent spacing inside flow sequence brackets
1528
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-spacing.html
1529
+ */
1530
+ 'yml/flow-sequence-bracket-spacing'?: Linter.RuleEntry<YmlFlowSequenceBracketSpacing>
1531
+ /**
1532
+ * enforce consistent indentation
1533
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/indent.html
1534
+ */
1535
+ 'yml/indent'?: Linter.RuleEntry<YmlIndent>
1536
+ /**
1537
+ * enforce naming convention to key names
1538
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-name-casing.html
1539
+ */
1540
+ 'yml/key-name-casing'?: Linter.RuleEntry<YmlKeyNameCasing>
1541
+ /**
1542
+ * enforce consistent spacing between keys and values in mapping pairs
1543
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-spacing.html
1544
+ */
1545
+ 'yml/key-spacing'?: Linter.RuleEntry<YmlKeySpacing>
1546
+ /**
1547
+ * disallow empty document
1548
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-document.html
1549
+ */
1550
+ 'yml/no-empty-document'?: Linter.RuleEntry<[]>
1551
+ /**
1552
+ * disallow empty mapping keys
1553
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-key.html
1554
+ */
1555
+ 'yml/no-empty-key'?: Linter.RuleEntry<[]>
1556
+ /**
1557
+ * disallow empty mapping values
1558
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-mapping-value.html
1559
+ */
1560
+ 'yml/no-empty-mapping-value'?: Linter.RuleEntry<[]>
1561
+ /**
1562
+ * disallow empty sequence entries
1563
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-sequence-entry.html
1564
+ */
1565
+ 'yml/no-empty-sequence-entry'?: Linter.RuleEntry<[]>
1566
+ /**
1567
+ * disallow irregular whitespace
1568
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-irregular-whitespace.html
1569
+ */
1570
+ 'yml/no-irregular-whitespace'?: Linter.RuleEntry<YmlNoIrregularWhitespace>
1571
+ /**
1572
+ * disallow multiple empty lines
1573
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-multiple-empty-lines.html
1574
+ */
1575
+ 'yml/no-multiple-empty-lines'?: Linter.RuleEntry<YmlNoMultipleEmptyLines>
1576
+ /**
1577
+ * disallow tabs for indentation.
1578
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
1579
+ */
1580
+ 'yml/no-tab-indent'?: Linter.RuleEntry<[]>
1581
+ /**
1582
+ * disallow trailing zeros for floats
1583
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
1584
+ */
1585
+ 'yml/no-trailing-zeros'?: Linter.RuleEntry<[]>
1586
+ /**
1587
+ * require or disallow plain style scalar.
1588
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/plain-scalar.html
1589
+ */
1590
+ 'yml/plain-scalar'?: Linter.RuleEntry<YmlPlainScalar>
1591
+ /**
1592
+ * enforce the consistent use of either double, or single quotes
1593
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/quotes.html
1594
+ */
1595
+ 'yml/quotes'?: Linter.RuleEntry<YmlQuotes>
1596
+ /**
1597
+ * disallow mapping keys other than strings
1598
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/require-string-key.html
1599
+ */
1600
+ 'yml/require-string-key'?: Linter.RuleEntry<[]>
1601
+ /**
1602
+ * require mapping keys to be sorted
1603
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-keys.html
1604
+ */
1605
+ 'yml/sort-keys'?: Linter.RuleEntry<YmlSortKeys>
1606
+ /**
1607
+ * require sequence values to be sorted
1608
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-sequence-values.html
1609
+ */
1610
+ 'yml/sort-sequence-values'?: Linter.RuleEntry<YmlSortSequenceValues>
1611
+ /**
1612
+ * enforce consistent spacing after the `#` in a comment
1613
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/spaced-comment.html
1614
+ */
1615
+ 'yml/spaced-comment'?: Linter.RuleEntry<YmlSpacedComment>
1616
+ /**
1617
+ * disallow parsing errors in Vue custom blocks
1618
+ * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/vue-custom-block/no-parsing-error.html
1619
+ */
1620
+ 'yml/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
1621
+ }
1622
+
1623
+ /* ======= Declarations ======= */
1624
+ // ----- @cspell/spellchecker -----
1625
+ type CspellSpellchecker = []|[{
1626
+
1627
+ autoFix: boolean
1628
+
1629
+ checkComments?: boolean
1630
+
1631
+ checkIdentifiers?: boolean
1632
+
1633
+ checkJSXText?: boolean
1634
+
1635
+ checkScope?: [string, boolean][]
1636
+
1637
+ checkStringTemplates?: boolean
1638
+
1639
+ checkStrings?: boolean
1640
+
1641
+ configFile?: string
1642
+
1643
+ cspell?: {
1644
+
1645
+ allowCompoundWords?: boolean
1646
+
1647
+ dictionaries?: (string | string)[]
1648
+ dictionaryDefinitions?: {
1649
+
1650
+ description?: string
1651
+
1652
+ name: string
1653
+
1654
+ noSuggest?: boolean
1655
+
1656
+ path: string
1657
+
1658
+ repMap?: [string, string][]
1659
+
1660
+ type?: ("S" | "W" | "C" | "T")
1661
+
1662
+ useCompounds?: boolean
1663
+ }[]
1664
+
1665
+ enabled?: boolean
1666
+
1667
+ flagWords?: string[]
1668
+
1669
+ ignoreRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
1670
+
1671
+ ignoreWords?: string[]
1672
+
1673
+ import?: (string | string[])
1674
+
1675
+ includeRegExpList?: (string | string | ("Base64" | "Base64MultiLine" | "Base64SingleLine" | "CStyleComment" | "CStyleHexValue" | "CSSHexValue" | "CommitHash" | "CommitHashLink" | "Email" | "EscapeCharacters" | "HexValues" | "href" | "PhpHereDoc" | "PublicKey" | "RsaCert" | "SshRsa" | "SHA" | "HashStrings" | "SpellCheckerDisable" | "SpellCheckerDisableBlock" | "SpellCheckerDisableLine" | "SpellCheckerDisableNext" | "SpellCheckerIgnoreInDocSetting" | "string" | "UnicodeRef" | "Urls" | "UUID" | "Everything"))[]
1676
+
1677
+ language?: string
1678
+
1679
+ words?: string[]
1680
+ }
1681
+
1682
+ cspellOptionsRoot?: (string | string)
1683
+
1684
+ customWordListFile?: (string | {
1685
+
1686
+ path: string
1687
+ })
1688
+
1689
+ debugMode?: boolean
1690
+
1691
+ generateSuggestions: boolean
1692
+
1693
+ ignoreImportProperties?: boolean
1694
+
1695
+ ignoreImports?: boolean
1696
+
1697
+ numSuggestions: number
1698
+ }]
1699
+ // ----- @nx/dependency-checks -----
1700
+ type NxDependencyChecks = []|[{
1701
+ buildTargets?: string[]
1702
+ ignoredDependencies?: string[]
1703
+ ignoredFiles?: string[]
1704
+ checkMissingDependencies?: boolean
1705
+ checkObsoleteDependencies?: boolean
1706
+ checkVersionMismatches?: boolean
1707
+ includeTransitiveDependencies?: boolean
1708
+ useLocalPathsForWorkspaceDependencies?: boolean
1709
+ }]
1710
+ // ----- @nx/enforce-module-boundaries -----
1711
+ type NxEnforceModuleBoundaries = []|[{
1712
+ enforceBuildableLibDependency?: boolean
1713
+ allowCircularSelfDependency?: boolean
1714
+ checkDynamicDependenciesExceptions?: string[]
1715
+ banTransitiveDependencies?: boolean
1716
+ checkNestedExternalImports?: boolean
1717
+ allow?: string[]
1718
+ buildTargets?: string[]
1719
+ depConstraints?: ({
1720
+ sourceTag?: string
1721
+ onlyDependOnLibsWithTags?: string[]
1722
+ allowedExternalImports?: string[]
1723
+ bannedExternalImports?: string[]
1724
+ notDependOnLibsWithTags?: string[]
1725
+ } | {
1726
+
1727
+ allSourceTags?: [string, string, ...(string)[]]
1728
+ onlyDependOnLibsWithTags?: string[]
1729
+ allowedExternalImports?: string[]
1730
+ bannedExternalImports?: string[]
1731
+ notDependOnLibsWithTags?: string[]
1732
+ })[]
1733
+ }]
1734
+ // ----- @nx/nx-plugin-checks -----
1735
+ type NxNxPluginChecks = []|[{
1736
+
1737
+ generatorsJson?: string
1738
+
1739
+ executorsJson?: string
1740
+
1741
+ migrationsJson?: string
1742
+
1743
+ packageJson?: string
1744
+
1745
+ allowedVersionStrings?: string[]
1746
+ }]
1747
+ // ----- @typescript-eslint/array-type -----
1748
+ type TypescriptEslintArrayType = []|[{
1749
+
1750
+ default?: ("array" | "generic" | "array-simple")
1751
+
1752
+ readonly?: ("array" | "generic" | "array-simple")
1753
+ }]
1754
+ // ----- @typescript-eslint/ban-ts-comment -----
1755
+ type TypescriptEslintBanTsComment = []|[{
1756
+ "ts-expect-error"?: (boolean | "allow-with-description" | {
1757
+ descriptionFormat?: string
1758
+ })
1759
+ "ts-ignore"?: (boolean | "allow-with-description" | {
1760
+ descriptionFormat?: string
1761
+ })
1762
+ "ts-nocheck"?: (boolean | "allow-with-description" | {
1763
+ descriptionFormat?: string
1764
+ })
1765
+ "ts-check"?: (boolean | "allow-with-description" | {
1766
+ descriptionFormat?: string
1767
+ })
1768
+ minimumDescriptionLength?: number
1769
+ }]
1770
+ // ----- @typescript-eslint/ban-types -----
1771
+ type TypescriptEslintBanTypes = []|[{
1772
+ types?: {
1773
+ [k: string]: (null | false | true | string | {
1774
+
1775
+ message?: string
1776
+
1777
+ fixWith?: string
1778
+
1779
+ suggest?: string[]
1780
+ }) | undefined
1781
+ }
1782
+ extendDefaults?: boolean
1783
+ }]
1784
+ // ----- @typescript-eslint/block-spacing -----
1785
+ type TypescriptEslintBlockSpacing = []|[("always" | "never")]
1786
+ // ----- @typescript-eslint/brace-style -----
1787
+ type TypescriptEslintBraceStyle = []|[("1tbs" | "stroustrup" | "allman")]|[("1tbs" | "stroustrup" | "allman"), {
1788
+ allowSingleLine?: boolean
1789
+ }]
1790
+ // ----- @typescript-eslint/class-literal-property-style -----
1791
+ type TypescriptEslintClassLiteralPropertyStyle = []|[("fields" | "getters")]
1792
+ // ----- @typescript-eslint/class-methods-use-this -----
1793
+ type TypescriptEslintClassMethodsUseThis = []|[{
1794
+
1795
+ exceptMethods?: string[]
1796
+
1797
+ enforceForClassFields?: boolean
1798
+
1799
+ ignoreOverrideMethods?: boolean
1800
+
1801
+ ignoreClassesThatImplementAnInterface?: (boolean | "public-fields")
1802
+ }]
1803
+ // ----- @typescript-eslint/comma-dangle -----
1804
+ type TypescriptEslintCommaDangle = []|[(_TypescriptEslintCommaDangleValue | {
1805
+ arrays?: _TypescriptEslintCommaDangleValueWithIgnore
1806
+ objects?: _TypescriptEslintCommaDangleValueWithIgnore
1807
+ imports?: _TypescriptEslintCommaDangleValueWithIgnore
1808
+ exports?: _TypescriptEslintCommaDangleValueWithIgnore
1809
+ functions?: _TypescriptEslintCommaDangleValueWithIgnore
1810
+ enums?: _TypescriptEslintCommaDangleValueWithIgnore
1811
+ generics?: _TypescriptEslintCommaDangleValueWithIgnore
1812
+ tuples?: _TypescriptEslintCommaDangleValueWithIgnore
1813
+ })]
1814
+ type _TypescriptEslintCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline")
1815
+ type _TypescriptEslintCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore")
1816
+ // ----- @typescript-eslint/comma-spacing -----
1817
+ type TypescriptEslintCommaSpacing = []|[{
1818
+ before?: boolean
1819
+ after?: boolean
1820
+ }]
1821
+ // ----- @typescript-eslint/consistent-generic-constructors -----
1822
+ type TypescriptEslintConsistentGenericConstructors = []|[("type-annotation" | "constructor")]
1823
+ // ----- @typescript-eslint/consistent-indexed-object-style -----
1824
+ type TypescriptEslintConsistentIndexedObjectStyle = []|[("record" | "index-signature")]
1825
+ // ----- @typescript-eslint/consistent-return -----
1826
+ type TypescriptEslintConsistentReturn = []|[{
1827
+ treatUndefinedAsUnspecified?: boolean
1828
+ }]
1829
+ // ----- @typescript-eslint/consistent-type-assertions -----
1830
+ type TypescriptEslintConsistentTypeAssertions = []|[({
1831
+ assertionStyle: "never"
1832
+ } | {
1833
+ assertionStyle: ("as" | "angle-bracket")
1834
+ objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never")
1835
+ })]
1836
+ // ----- @typescript-eslint/consistent-type-definitions -----
1837
+ type TypescriptEslintConsistentTypeDefinitions = []|[("interface" | "type")]
1838
+ // ----- @typescript-eslint/consistent-type-exports -----
1839
+ type TypescriptEslintConsistentTypeExports = []|[{
1840
+ fixMixedExportsWithInlineTypeSpecifier?: boolean
1841
+ }]
1842
+ // ----- @typescript-eslint/consistent-type-imports -----
1843
+ type TypescriptEslintConsistentTypeImports = []|[{
1844
+ disallowTypeAnnotations?: boolean
1845
+ fixStyle?: ("separate-type-imports" | "inline-type-imports")
1846
+ prefer?: ("type-imports" | "no-type-imports")
1847
+ }]
1848
+ // ----- @typescript-eslint/dot-notation -----
1849
+ type TypescriptEslintDotNotation = []|[{
1850
+ allowKeywords?: boolean
1851
+ allowPattern?: string
1852
+ allowPrivateClassPropertyAccess?: boolean
1853
+ allowProtectedClassPropertyAccess?: boolean
1854
+ allowIndexSignaturePropertyAccess?: boolean
1855
+ }]
1856
+ // ----- @typescript-eslint/explicit-function-return-type -----
1857
+ type TypescriptEslintExplicitFunctionReturnType = []|[{
1858
+
1859
+ allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean
1860
+
1861
+ allowExpressions?: boolean
1862
+
1863
+ allowHigherOrderFunctions?: boolean
1864
+
1865
+ allowTypedFunctionExpressions?: boolean
1866
+
1867
+ allowDirectConstAssertionInArrowFunctions?: boolean
1868
+
1869
+ allowFunctionsWithoutTypeParameters?: boolean
1870
+
1871
+ allowedNames?: string[]
1872
+
1873
+ allowIIFEs?: boolean
1874
+ }]
1875
+ // ----- @typescript-eslint/explicit-member-accessibility -----
1876
+ type TypescriptEslintExplicitMemberAccessibility = []|[{
1877
+ accessibility?: ("explicit" | "no-public" | "off")
1878
+ overrides?: {
1879
+ accessors?: ("explicit" | "no-public" | "off")
1880
+ constructors?: ("explicit" | "no-public" | "off")
1881
+ methods?: ("explicit" | "no-public" | "off")
1882
+ properties?: ("explicit" | "no-public" | "off")
1883
+ parameterProperties?: ("explicit" | "no-public" | "off")
1884
+ }
1885
+ ignoredMethodNames?: string[]
1886
+ }]
1887
+ // ----- @typescript-eslint/explicit-module-boundary-types -----
1888
+ type TypescriptEslintExplicitModuleBoundaryTypes = []|[{
1889
+
1890
+ allowArgumentsExplicitlyTypedAsAny?: boolean
1891
+
1892
+ allowDirectConstAssertionInArrowFunctions?: boolean
1893
+
1894
+ allowedNames?: string[]
1895
+
1896
+ allowHigherOrderFunctions?: boolean
1897
+
1898
+ allowTypedFunctionExpressions?: boolean
1899
+ }]
1900
+ // ----- @typescript-eslint/func-call-spacing -----
1901
+ type TypescriptEslintFuncCallSpacing = ([]|["never"] | []|["always"]|["always", {
1902
+ allowNewlines?: boolean
1903
+ }])
1904
+ // ----- @typescript-eslint/indent -----
1905
+ type TypescriptEslintIndent = []|[("tab" | number)]|[("tab" | number), {
1906
+ SwitchCase?: number
1907
+ VariableDeclarator?: ((number | ("first" | "off")) | {
1908
+ var?: (number | ("first" | "off"))
1909
+ let?: (number | ("first" | "off"))
1910
+ const?: (number | ("first" | "off"))
1911
+ })
1912
+ outerIIFEBody?: (number | "off")
1913
+ MemberExpression?: (number | "off")
1914
+ FunctionDeclaration?: {
1915
+ parameters?: (number | ("first" | "off"))
1916
+ body?: number
1917
+ }
1918
+ FunctionExpression?: {
1919
+ parameters?: (number | ("first" | "off"))
1920
+ body?: number
1921
+ }
1922
+ StaticBlock?: {
1923
+ body?: number
1924
+ }
1925
+ CallExpression?: {
1926
+ arguments?: (number | ("first" | "off"))
1927
+ }
1928
+ ArrayExpression?: (number | ("first" | "off"))
1929
+ ObjectExpression?: (number | ("first" | "off"))
1930
+ ImportDeclaration?: (number | ("first" | "off"))
1931
+ flatTernaryExpressions?: boolean
1932
+ offsetTernaryExpressions?: boolean
1933
+ ignoredNodes?: string[]
1934
+ ignoreComments?: boolean
1935
+ }]
1936
+ // ----- @typescript-eslint/init-declarations -----
1937
+ type TypescriptEslintInitDeclarations = ([]|["always"] | []|["never"]|["never", {
1938
+ ignoreForLoopInit?: boolean
1939
+ }])
1940
+ // ----- @typescript-eslint/key-spacing -----
1941
+ type TypescriptEslintKeySpacing = []|[({
1942
+ align?: (("colon" | "value") | {
1943
+ mode?: ("strict" | "minimum")
1944
+ on?: ("colon" | "value")
1945
+ beforeColon?: boolean
1946
+ afterColon?: boolean
1947
+ })
1948
+ mode?: ("strict" | "minimum")
1949
+ beforeColon?: boolean
1950
+ afterColon?: boolean
1951
+ } | {
1952
+ singleLine?: {
1953
+ mode?: ("strict" | "minimum")
1954
+ beforeColon?: boolean
1955
+ afterColon?: boolean
1956
+ }
1957
+ multiLine?: {
1958
+ align?: (("colon" | "value") | {
1959
+ mode?: ("strict" | "minimum")
1960
+ on?: ("colon" | "value")
1961
+ beforeColon?: boolean
1962
+ afterColon?: boolean
1963
+ })
1964
+ mode?: ("strict" | "minimum")
1965
+ beforeColon?: boolean
1966
+ afterColon?: boolean
1967
+ }
1968
+ } | {
1969
+ singleLine?: {
1970
+ mode?: ("strict" | "minimum")
1971
+ beforeColon?: boolean
1972
+ afterColon?: boolean
1973
+ }
1974
+ multiLine?: {
1975
+ mode?: ("strict" | "minimum")
1976
+ beforeColon?: boolean
1977
+ afterColon?: boolean
1978
+ }
1979
+ align?: {
1980
+ mode?: ("strict" | "minimum")
1981
+ on?: ("colon" | "value")
1982
+ beforeColon?: boolean
1983
+ afterColon?: boolean
1984
+ }
1985
+ })]
1986
+ // ----- @typescript-eslint/keyword-spacing -----
1987
+ type TypescriptEslintKeywordSpacing = []|[{
1988
+ before?: boolean
1989
+ after?: boolean
1990
+ overrides?: {
1991
+ abstract?: {
1992
+ before?: boolean
1993
+ after?: boolean
1994
+ }
1995
+ as?: {
1996
+ before?: boolean
1997
+ after?: boolean
1998
+ }
1999
+ async?: {
2000
+ before?: boolean
2001
+ after?: boolean
2002
+ }
2003
+ await?: {
2004
+ before?: boolean
2005
+ after?: boolean
2006
+ }
2007
+ boolean?: {
2008
+ before?: boolean
2009
+ after?: boolean
2010
+ }
2011
+ break?: {
2012
+ before?: boolean
2013
+ after?: boolean
2014
+ }
2015
+ byte?: {
2016
+ before?: boolean
2017
+ after?: boolean
2018
+ }
2019
+ case?: {
2020
+ before?: boolean
2021
+ after?: boolean
2022
+ }
2023
+ catch?: {
2024
+ before?: boolean
2025
+ after?: boolean
2026
+ }
2027
+ char?: {
2028
+ before?: boolean
2029
+ after?: boolean
2030
+ }
2031
+ class?: {
2032
+ before?: boolean
2033
+ after?: boolean
2034
+ }
2035
+ const?: {
2036
+ before?: boolean
2037
+ after?: boolean
2038
+ }
2039
+ continue?: {
2040
+ before?: boolean
2041
+ after?: boolean
2042
+ }
2043
+ debugger?: {
2044
+ before?: boolean
2045
+ after?: boolean
2046
+ }
2047
+ default?: {
2048
+ before?: boolean
2049
+ after?: boolean
2050
+ }
2051
+ delete?: {
2052
+ before?: boolean
2053
+ after?: boolean
2054
+ }
2055
+ do?: {
2056
+ before?: boolean
2057
+ after?: boolean
2058
+ }
2059
+ double?: {
2060
+ before?: boolean
2061
+ after?: boolean
2062
+ }
2063
+ else?: {
2064
+ before?: boolean
2065
+ after?: boolean
2066
+ }
2067
+ enum?: {
2068
+ before?: boolean
2069
+ after?: boolean
2070
+ }
2071
+ export?: {
2072
+ before?: boolean
2073
+ after?: boolean
2074
+ }
2075
+ extends?: {
2076
+ before?: boolean
2077
+ after?: boolean
2078
+ }
2079
+ false?: {
2080
+ before?: boolean
2081
+ after?: boolean
2082
+ }
2083
+ final?: {
2084
+ before?: boolean
2085
+ after?: boolean
2086
+ }
2087
+ finally?: {
2088
+ before?: boolean
2089
+ after?: boolean
2090
+ }
2091
+ float?: {
2092
+ before?: boolean
2093
+ after?: boolean
2094
+ }
2095
+ for?: {
2096
+ before?: boolean
2097
+ after?: boolean
2098
+ }
2099
+ from?: {
2100
+ before?: boolean
2101
+ after?: boolean
2102
+ }
2103
+ function?: {
2104
+ before?: boolean
2105
+ after?: boolean
2106
+ }
2107
+ get?: {
2108
+ before?: boolean
2109
+ after?: boolean
2110
+ }
2111
+ goto?: {
2112
+ before?: boolean
2113
+ after?: boolean
2114
+ }
2115
+ if?: {
2116
+ before?: boolean
2117
+ after?: boolean
2118
+ }
2119
+ implements?: {
2120
+ before?: boolean
2121
+ after?: boolean
2122
+ }
2123
+ import?: {
2124
+ before?: boolean
2125
+ after?: boolean
2126
+ }
2127
+ in?: {
2128
+ before?: boolean
2129
+ after?: boolean
2130
+ }
2131
+ instanceof?: {
2132
+ before?: boolean
2133
+ after?: boolean
2134
+ }
2135
+ int?: {
2136
+ before?: boolean
2137
+ after?: boolean
2138
+ }
2139
+ interface?: {
2140
+ before?: boolean
2141
+ after?: boolean
2142
+ }
2143
+ let?: {
2144
+ before?: boolean
2145
+ after?: boolean
2146
+ }
2147
+ long?: {
2148
+ before?: boolean
2149
+ after?: boolean
2150
+ }
2151
+ native?: {
2152
+ before?: boolean
2153
+ after?: boolean
2154
+ }
2155
+ new?: {
2156
+ before?: boolean
2157
+ after?: boolean
2158
+ }
2159
+ null?: {
2160
+ before?: boolean
2161
+ after?: boolean
2162
+ }
2163
+ of?: {
2164
+ before?: boolean
2165
+ after?: boolean
2166
+ }
2167
+ package?: {
2168
+ before?: boolean
2169
+ after?: boolean
2170
+ }
2171
+ private?: {
2172
+ before?: boolean
2173
+ after?: boolean
2174
+ }
2175
+ protected?: {
2176
+ before?: boolean
2177
+ after?: boolean
2178
+ }
2179
+ public?: {
2180
+ before?: boolean
2181
+ after?: boolean
2182
+ }
2183
+ return?: {
2184
+ before?: boolean
2185
+ after?: boolean
2186
+ }
2187
+ set?: {
2188
+ before?: boolean
2189
+ after?: boolean
2190
+ }
2191
+ short?: {
2192
+ before?: boolean
2193
+ after?: boolean
2194
+ }
2195
+ static?: {
2196
+ before?: boolean
2197
+ after?: boolean
2198
+ }
2199
+ super?: {
2200
+ before?: boolean
2201
+ after?: boolean
2202
+ }
2203
+ switch?: {
2204
+ before?: boolean
2205
+ after?: boolean
2206
+ }
2207
+ synchronized?: {
2208
+ before?: boolean
2209
+ after?: boolean
2210
+ }
2211
+ this?: {
2212
+ before?: boolean
2213
+ after?: boolean
2214
+ }
2215
+ throw?: {
2216
+ before?: boolean
2217
+ after?: boolean
2218
+ }
2219
+ throws?: {
2220
+ before?: boolean
2221
+ after?: boolean
2222
+ }
2223
+ transient?: {
2224
+ before?: boolean
2225
+ after?: boolean
2226
+ }
2227
+ true?: {
2228
+ before?: boolean
2229
+ after?: boolean
2230
+ }
2231
+ try?: {
2232
+ before?: boolean
2233
+ after?: boolean
2234
+ }
2235
+ typeof?: {
2236
+ before?: boolean
2237
+ after?: boolean
2238
+ }
2239
+ var?: {
2240
+ before?: boolean
2241
+ after?: boolean
2242
+ }
2243
+ void?: {
2244
+ before?: boolean
2245
+ after?: boolean
2246
+ }
2247
+ volatile?: {
2248
+ before?: boolean
2249
+ after?: boolean
2250
+ }
2251
+ while?: {
2252
+ before?: boolean
2253
+ after?: boolean
2254
+ }
2255
+ with?: {
2256
+ before?: boolean
2257
+ after?: boolean
2258
+ }
2259
+ yield?: {
2260
+ before?: boolean
2261
+ after?: boolean
2262
+ }
2263
+ type?: {
2264
+ before?: boolean
2265
+ after?: boolean
2266
+ }
2267
+ }
2268
+ }]
2269
+ // ----- @typescript-eslint/lines-around-comment -----
2270
+ type TypescriptEslintLinesAroundComment = []|[{
2271
+ beforeBlockComment?: boolean
2272
+ afterBlockComment?: boolean
2273
+ beforeLineComment?: boolean
2274
+ afterLineComment?: boolean
2275
+ allowBlockStart?: boolean
2276
+ allowBlockEnd?: boolean
2277
+ allowClassStart?: boolean
2278
+ allowClassEnd?: boolean
2279
+ allowObjectStart?: boolean
2280
+ allowObjectEnd?: boolean
2281
+ allowArrayStart?: boolean
2282
+ allowArrayEnd?: boolean
2283
+ allowInterfaceStart?: boolean
2284
+ allowInterfaceEnd?: boolean
2285
+ allowTypeStart?: boolean
2286
+ allowTypeEnd?: boolean
2287
+ allowEnumStart?: boolean
2288
+ allowEnumEnd?: boolean
2289
+ allowModuleStart?: boolean
2290
+ allowModuleEnd?: boolean
2291
+ ignorePattern?: string
2292
+ applyDefaultIgnorePatterns?: boolean
2293
+ }]
2294
+ // ----- @typescript-eslint/lines-between-class-members -----
2295
+ type TypescriptEslintLinesBetweenClassMembers = []|[({
2296
+
2297
+ enforce: [{
2298
+ blankLine: ("always" | "never")
2299
+ prev: ("method" | "field" | "*")
2300
+ next: ("method" | "field" | "*")
2301
+ }, ...({
2302
+ blankLine: ("always" | "never")
2303
+ prev: ("method" | "field" | "*")
2304
+ next: ("method" | "field" | "*")
2305
+ })[]]
2306
+ } | ("always" | "never"))]|[({
2307
+
2308
+ enforce: [{
2309
+ blankLine: ("always" | "never")
2310
+ prev: ("method" | "field" | "*")
2311
+ next: ("method" | "field" | "*")
2312
+ }, ...({
2313
+ blankLine: ("always" | "never")
2314
+ prev: ("method" | "field" | "*")
2315
+ next: ("method" | "field" | "*")
2316
+ })[]]
2317
+ } | ("always" | "never")), {
2318
+ exceptAfterSingleLine?: boolean
2319
+ exceptAfterOverload?: boolean
2320
+ }]
2321
+ // ----- @typescript-eslint/max-params -----
2322
+ type TypescriptEslintMaxParams = []|[{
2323
+ maximum?: number
2324
+ max?: number
2325
+ countVoidThis?: boolean
2326
+ }]
2327
+ // ----- @typescript-eslint/member-delimiter-style -----
2328
+ type TypescriptEslintMemberDelimiterStyle = []|[{
2329
+ multiline?: {
2330
+ delimiter?: ("none" | "semi" | "comma")
2331
+ requireLast?: boolean
2332
+ }
2333
+ singleline?: {
2334
+ delimiter?: ("semi" | "comma")
2335
+ requireLast?: boolean
2336
+ }
2337
+ overrides?: {
2338
+ interface?: _TypescriptEslintMemberDelimiterStyle_DelimiterConfig
2339
+ typeLiteral?: _TypescriptEslintMemberDelimiterStyle_DelimiterConfig
2340
+ }
2341
+ multilineDetection?: ("brackets" | "last-member")
2342
+ }]
2343
+ interface _TypescriptEslintMemberDelimiterStyle_DelimiterConfig {
2344
+ multiline?: {
2345
+ delimiter?: ("none" | "semi" | "comma")
2346
+ requireLast?: boolean
2347
+ }
2348
+ singleline?: {
2349
+ delimiter?: ("semi" | "comma")
2350
+ requireLast?: boolean
2351
+ }
2352
+ }
2353
+ // ----- @typescript-eslint/member-ordering -----
2354
+ type TypescriptEslintMemberOrdering = []|[{
2355
+ default?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
2356
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never")
2357
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2358
+ optionalityOrder?: ("optional-first" | "required-first")
2359
+ })
2360
+ classes?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
2361
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never")
2362
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2363
+ optionalityOrder?: ("optional-first" | "required-first")
2364
+ })
2365
+ classExpressions?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
2366
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never")
2367
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2368
+ optionalityOrder?: ("optional-first" | "required-first")
2369
+ })
2370
+ interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
2371
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
2372
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2373
+ optionalityOrder?: ("optional-first" | "required-first")
2374
+ })
2375
+ typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
2376
+ memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never")
2377
+ order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive")
2378
+ optionalityOrder?: ("optional-first" | "required-first")
2379
+ })
2380
+ }]
2381
+ // ----- @typescript-eslint/method-signature-style -----
2382
+ type TypescriptEslintMethodSignatureStyle = []|[("property" | "method")]
2383
+ // ----- @typescript-eslint/naming-convention -----
2384
+ type _TypescriptEslintNamingConventionFormatOptionsConfig = (_TypescriptEslintNamingConventionPredefinedFormats[] | null)
2385
+ type _TypescriptEslintNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE")
2386
+ type _TypescriptEslintNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble")
2387
+ type _TypescriptEslintNamingConvention_PrefixSuffixConfig = string[]
2388
+ type _TypescriptEslintNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array")
2389
+ type TypescriptEslintNamingConvention = ({
2390
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2391
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2392
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2393
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2394
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2395
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2396
+ failureMessage?: string
2397
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2398
+ selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "parameterProperty" | "classicAccessor" | "enumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[]
2399
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
2400
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2401
+ } | {
2402
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2403
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2404
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2405
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2406
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2407
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2408
+ failureMessage?: string
2409
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2410
+ selector: "default"
2411
+ modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[]
2412
+ } | {
2413
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2414
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2415
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2416
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2417
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2418
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2419
+ failureMessage?: string
2420
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2421
+ selector: "variableLike"
2422
+ modifiers?: ("unused" | "async")[]
2423
+ } | {
2424
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2425
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2426
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2427
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2428
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2429
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2430
+ failureMessage?: string
2431
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2432
+ selector: "variable"
2433
+ modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[]
2434
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2435
+ } | {
2436
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2437
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2438
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2439
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2440
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2441
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2442
+ failureMessage?: string
2443
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2444
+ selector: "function"
2445
+ modifiers?: ("exported" | "global" | "unused" | "async")[]
2446
+ } | {
2447
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2448
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2449
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2450
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2451
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2452
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2453
+ failureMessage?: string
2454
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2455
+ selector: "parameter"
2456
+ modifiers?: ("destructured" | "unused")[]
2457
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2458
+ } | {
2459
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2460
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2461
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2462
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2463
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2464
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2465
+ failureMessage?: string
2466
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2467
+ selector: "memberLike"
2468
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
2469
+ } | {
2470
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2471
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2472
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2473
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2474
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2475
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2476
+ failureMessage?: string
2477
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2478
+ selector: "classProperty"
2479
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[]
2480
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2481
+ } | {
2482
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2483
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2484
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2485
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2486
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2487
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2488
+ failureMessage?: string
2489
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2490
+ selector: "objectLiteralProperty"
2491
+ modifiers?: ("public" | "requiresQuotes")[]
2492
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2493
+ } | {
2494
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2495
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2496
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2497
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2498
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2499
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2500
+ failureMessage?: string
2501
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2502
+ selector: "typeProperty"
2503
+ modifiers?: ("public" | "readonly" | "requiresQuotes")[]
2504
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2505
+ } | {
2506
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2507
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2508
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2509
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2510
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2511
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2512
+ failureMessage?: string
2513
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2514
+ selector: "parameterProperty"
2515
+ modifiers?: ("private" | "protected" | "public" | "readonly")[]
2516
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2517
+ } | {
2518
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2519
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2520
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2521
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2522
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2523
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2524
+ failureMessage?: string
2525
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2526
+ selector: "property"
2527
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[]
2528
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2529
+ } | {
2530
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2531
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2532
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2533
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2534
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2535
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2536
+ failureMessage?: string
2537
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2538
+ selector: "classMethod"
2539
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
2540
+ } | {
2541
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2542
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2543
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2544
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2545
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2546
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2547
+ failureMessage?: string
2548
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2549
+ selector: "objectLiteralMethod"
2550
+ modifiers?: ("public" | "requiresQuotes" | "async")[]
2551
+ } | {
2552
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2553
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2554
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2555
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2556
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2557
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2558
+ failureMessage?: string
2559
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2560
+ selector: "typeMethod"
2561
+ modifiers?: ("public" | "requiresQuotes")[]
2562
+ } | {
2563
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2564
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2565
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2566
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2567
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2568
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2569
+ failureMessage?: string
2570
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2571
+ selector: "method"
2572
+ modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[]
2573
+ } | {
2574
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2575
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2576
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2577
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2578
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2579
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2580
+ failureMessage?: string
2581
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2582
+ selector: "classicAccessor"
2583
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2584
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2585
+ } | {
2586
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2587
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2588
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2589
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2590
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2591
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2592
+ failureMessage?: string
2593
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2594
+ selector: "autoAccessor"
2595
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2596
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2597
+ } | {
2598
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2599
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2600
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2601
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2602
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2603
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2604
+ failureMessage?: string
2605
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2606
+ selector: "accessor"
2607
+ modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[]
2608
+ types?: _TypescriptEslintNamingConventionTypeModifiers[]
2609
+ } | {
2610
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2611
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2612
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2613
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2614
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2615
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2616
+ failureMessage?: string
2617
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2618
+ selector: "enumMember"
2619
+ modifiers?: ("requiresQuotes")[]
2620
+ } | {
2621
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2622
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2623
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2624
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2625
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2626
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2627
+ failureMessage?: string
2628
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2629
+ selector: "typeLike"
2630
+ modifiers?: ("abstract" | "exported" | "unused")[]
2631
+ } | {
2632
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2633
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2634
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2635
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2636
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2637
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2638
+ failureMessage?: string
2639
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2640
+ selector: "class"
2641
+ modifiers?: ("abstract" | "exported" | "unused")[]
2642
+ } | {
2643
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2644
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2645
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2646
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2647
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2648
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2649
+ failureMessage?: string
2650
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2651
+ selector: "interface"
2652
+ modifiers?: ("exported" | "unused")[]
2653
+ } | {
2654
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2655
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2656
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2657
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2658
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2659
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2660
+ failureMessage?: string
2661
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2662
+ selector: "typeAlias"
2663
+ modifiers?: ("exported" | "unused")[]
2664
+ } | {
2665
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2666
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2667
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2668
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2669
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2670
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2671
+ failureMessage?: string
2672
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2673
+ selector: "enum"
2674
+ modifiers?: ("exported" | "unused")[]
2675
+ } | {
2676
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2677
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2678
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2679
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2680
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2681
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2682
+ failureMessage?: string
2683
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2684
+ selector: "typeParameter"
2685
+ modifiers?: ("unused")[]
2686
+ } | {
2687
+ format: _TypescriptEslintNamingConventionFormatOptionsConfig
2688
+ custom?: _TypescriptEslintNamingConvention_MatchRegexConfig
2689
+ leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2690
+ trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions
2691
+ prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2692
+ suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig
2693
+ failureMessage?: string
2694
+ filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig)
2695
+ selector: "import"
2696
+ modifiers?: ("default" | "namespace")[]
2697
+ })[]
2698
+ interface _TypescriptEslintNamingConvention_MatchRegexConfig {
2699
+ match: boolean
2700
+ regex: string
2701
+ }
2702
+ // ----- @typescript-eslint/no-base-to-string -----
2703
+ type TypescriptEslintNoBaseToString = []|[{
2704
+ ignoredTypeNames?: string[]
2705
+ }]
2706
+ // ----- @typescript-eslint/no-confusing-void-expression -----
2707
+ type TypescriptEslintNoConfusingVoidExpression = []|[{
2708
+ ignoreArrowShorthand?: boolean
2709
+ ignoreVoidOperator?: boolean
2710
+ }]
2711
+ // ----- @typescript-eslint/no-duplicate-type-constituents -----
2712
+ type TypescriptEslintNoDuplicateTypeConstituents = []|[{
2713
+ ignoreIntersections?: boolean
2714
+ ignoreUnions?: boolean
2715
+ }]
2716
+ // ----- @typescript-eslint/no-empty-function -----
2717
+ type TypescriptEslintNoEmptyFunction = []|[{
2718
+ allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[]
2719
+ }]
2720
+ // ----- @typescript-eslint/no-empty-interface -----
2721
+ type TypescriptEslintNoEmptyInterface = []|[{
2722
+ allowSingleExtends?: boolean
2723
+ }]
2724
+ // ----- @typescript-eslint/no-empty-object-type -----
2725
+ type TypescriptEslintNoEmptyObjectType = []|[{
2726
+ allowInterfaces?: ("always" | "never" | "with-single-extends")
2727
+ allowObjectTypes?: ("always" | "in-type-alias-with-name" | "never")
2728
+ allowWithName?: string
2729
+ }]
2730
+ // ----- @typescript-eslint/no-explicit-any -----
2731
+ type TypescriptEslintNoExplicitAny = []|[{
2732
+
2733
+ fixToUnknown?: boolean
2734
+
2735
+ ignoreRestArgs?: boolean
2736
+ }]
2737
+ // ----- @typescript-eslint/no-extra-parens -----
2738
+ type TypescriptEslintNoExtraParens = ([]|["functions"] | []|["all"]|["all", {
2739
+ conditionalAssign?: boolean
2740
+ ternaryOperandBinaryExpressions?: boolean
2741
+ nestedBinaryExpressions?: boolean
2742
+ returnAssign?: boolean
2743
+ ignoreJSX?: ("none" | "all" | "single-line" | "multi-line")
2744
+ enforceForArrowConditionals?: boolean
2745
+ enforceForSequenceExpressions?: boolean
2746
+ enforceForNewInMemberExpressions?: boolean
2747
+ enforceForFunctionPrototypeMethods?: boolean
2748
+ allowParensAfterCommentPattern?: string
2749
+ }])
2750
+ // ----- @typescript-eslint/no-extraneous-class -----
2751
+ type TypescriptEslintNoExtraneousClass = []|[{
2752
+
2753
+ allowConstructorOnly?: boolean
2754
+
2755
+ allowEmpty?: boolean
2756
+
2757
+ allowStaticOnly?: boolean
2758
+
2759
+ allowWithDecorator?: boolean
2760
+ }]
2761
+ // ----- @typescript-eslint/no-floating-promises -----
2762
+ type TypescriptEslintNoFloatingPromises = []|[{
2763
+ allowForKnownSafePromises?: (string | {
2764
+ from: "file"
2765
+ name: (string | [string, ...(string)[]])
2766
+ path?: string
2767
+ } | {
2768
+ from: "lib"
2769
+ name: (string | [string, ...(string)[]])
2770
+ } | {
2771
+ from: "package"
2772
+ name: (string | [string, ...(string)[]])
2773
+ package: string
2774
+ })[]
2775
+
2776
+ checkThenables?: boolean
2777
+
2778
+ ignoreVoid?: boolean
2779
+
2780
+ ignoreIIFE?: boolean
2781
+ }]
2782
+ // ----- @typescript-eslint/no-inferrable-types -----
2783
+ type TypescriptEslintNoInferrableTypes = []|[{
2784
+ ignoreParameters?: boolean
2785
+ ignoreProperties?: boolean
2786
+ }]
2787
+ // ----- @typescript-eslint/no-invalid-this -----
2788
+ type TypescriptEslintNoInvalidThis = []|[{
2789
+ capIsConstructor?: boolean
2790
+ }]
2791
+ // ----- @typescript-eslint/no-invalid-void-type -----
2792
+ type TypescriptEslintNoInvalidVoidType = []|[{
2793
+ allowInGenericTypeArguments?: (boolean | [string, ...(string)[]])
2794
+ allowAsThisParameter?: boolean
2795
+ }]
2796
+ // ----- @typescript-eslint/no-magic-numbers -----
2797
+ type TypescriptEslintNoMagicNumbers = []|[{
2798
+ detectObjects?: boolean
2799
+ enforceConst?: boolean
2800
+ ignore?: (number | string)[]
2801
+ ignoreArrayIndexes?: boolean
2802
+ ignoreDefaultValues?: boolean
2803
+ ignoreClassFieldInitialValues?: boolean
2804
+ ignoreNumericLiteralTypes?: boolean
2805
+ ignoreEnums?: boolean
2806
+ ignoreReadonlyClassProperties?: boolean
2807
+ ignoreTypeIndexes?: boolean
2808
+ }]
2809
+ // ----- @typescript-eslint/no-meaningless-void-operator -----
2810
+ type TypescriptEslintNoMeaninglessVoidOperator = []|[{
2811
+ checkNever?: boolean
2812
+ }]
2813
+ // ----- @typescript-eslint/no-misused-promises -----
2814
+ type TypescriptEslintNoMisusedPromises = []|[{
2815
+ checksConditionals?: boolean
2816
+ checksVoidReturn?: (boolean | {
2817
+ arguments?: boolean
2818
+ attributes?: boolean
2819
+ properties?: boolean
2820
+ returns?: boolean
2821
+ variables?: boolean
2822
+ })
2823
+ checksSpreads?: boolean
2824
+ }]
2825
+ // ----- @typescript-eslint/no-namespace -----
2826
+ type TypescriptEslintNoNamespace = []|[{
2827
+
2828
+ allowDeclarations?: boolean
2829
+
2830
+ allowDefinitionFiles?: boolean
2831
+ }]
2832
+ // ----- @typescript-eslint/no-redeclare -----
2833
+ type TypescriptEslintNoRedeclare = []|[{
2834
+ builtinGlobals?: boolean
2835
+ ignoreDeclarationMerge?: boolean
2836
+ }]
2837
+ // ----- @typescript-eslint/no-require-imports -----
2838
+ type TypescriptEslintNoRequireImports = []|[{
2839
+
2840
+ allow?: string[]
2841
+ }]
2842
+ // ----- @typescript-eslint/no-restricted-imports -----
2843
+ type TypescriptEslintNoRestrictedImports = ((string | {
2844
+ name: string
2845
+ message?: string
2846
+ importNames?: string[]
2847
+ allowImportNames?: string[]
2848
+
2849
+ allowTypeImports?: boolean
2850
+ })[] | []|[{
2851
+ paths?: (string | {
2852
+ name: string
2853
+ message?: string
2854
+ importNames?: string[]
2855
+ allowImportNames?: string[]
2856
+
2857
+ allowTypeImports?: boolean
2858
+ })[]
2859
+ patterns?: (string[] | {
2860
+
2861
+ importNames?: [string, ...(string)[]]
2862
+
2863
+ allowImportNames?: [string, ...(string)[]]
2864
+
2865
+ group: [string, ...(string)[]]
2866
+ importNamePattern?: string
2867
+ allowImportNamePattern?: string
2868
+ message?: string
2869
+ caseSensitive?: boolean
2870
+
2871
+ allowTypeImports?: boolean
2872
+ }[])
2873
+ }])
2874
+ // ----- @typescript-eslint/no-shadow -----
2875
+ type TypescriptEslintNoShadow = []|[{
2876
+ builtinGlobals?: boolean
2877
+ hoist?: ("all" | "functions" | "never")
2878
+ allow?: string[]
2879
+ ignoreOnInitialization?: boolean
2880
+ ignoreTypeValueShadow?: boolean
2881
+ ignoreFunctionTypeParameterNameValueShadow?: boolean
2882
+ }]
2883
+ // ----- @typescript-eslint/no-this-alias -----
2884
+ type TypescriptEslintNoThisAlias = []|[{
2885
+
2886
+ allowDestructuring?: boolean
2887
+
2888
+ allowedNames?: string[]
2889
+ }]
2890
+ // ----- @typescript-eslint/no-throw-literal -----
2891
+ type TypescriptEslintNoThrowLiteral = []|[{
2892
+ allowThrowingAny?: boolean
2893
+ allowThrowingUnknown?: boolean
2894
+ }]
2895
+ // ----- @typescript-eslint/no-type-alias -----
2896
+ type TypescriptEslintNoTypeAlias = []|[{
2897
+
2898
+ allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2899
+
2900
+ allowCallbacks?: ("always" | "never")
2901
+
2902
+ allowConditionalTypes?: ("always" | "never")
2903
+
2904
+ allowConstructors?: ("always" | "never")
2905
+
2906
+ allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2907
+
2908
+ allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2909
+
2910
+ allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections")
2911
+
2912
+ allowGenerics?: ("always" | "never")
2913
+ }]
2914
+ // ----- @typescript-eslint/no-unnecessary-boolean-literal-compare -----
2915
+ type TypescriptEslintNoUnnecessaryBooleanLiteralCompare = []|[{
2916
+
2917
+ allowComparingNullableBooleansToTrue?: boolean
2918
+
2919
+ allowComparingNullableBooleansToFalse?: boolean
2920
+ }]
2921
+ // ----- @typescript-eslint/no-unnecessary-condition -----
2922
+ type TypescriptEslintNoUnnecessaryCondition = []|[{
2923
+
2924
+ allowConstantLoopConditions?: boolean
2925
+
2926
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
2927
+ }]
2928
+ // ----- @typescript-eslint/no-unnecessary-type-assertion -----
2929
+ type TypescriptEslintNoUnnecessaryTypeAssertion = []|[{
2930
+
2931
+ typesToIgnore?: string[]
2932
+ }]
2933
+ // ----- @typescript-eslint/no-unused-expressions -----
2934
+ type TypescriptEslintNoUnusedExpressions = []|[{
2935
+ allowShortCircuit?: boolean
2936
+ allowTernary?: boolean
2937
+ allowTaggedTemplates?: boolean
2938
+ enforceForJSX?: boolean
2939
+ }]
2940
+ // ----- @typescript-eslint/no-unused-vars -----
2941
+ type TypescriptEslintNoUnusedVars = []|[(("all" | "local") | {
2942
+ vars?: ("all" | "local")
2943
+ varsIgnorePattern?: string
2944
+ args?: ("all" | "after-used" | "none")
2945
+ ignoreRestSiblings?: boolean
2946
+ argsIgnorePattern?: string
2947
+ caughtErrors?: ("all" | "none")
2948
+ caughtErrorsIgnorePattern?: string
2949
+ destructuredArrayIgnorePattern?: string
2950
+ })]
2951
+ // ----- @typescript-eslint/no-use-before-define -----
2952
+ type TypescriptEslintNoUseBeforeDefine = []|[("nofunc" | {
2953
+ functions?: boolean
2954
+ classes?: boolean
2955
+ enums?: boolean
2956
+ variables?: boolean
2957
+ typedefs?: boolean
2958
+ ignoreTypeReferences?: boolean
2959
+ allowNamedExports?: boolean
2960
+ })]
2961
+ // ----- @typescript-eslint/no-var-requires -----
2962
+ type TypescriptEslintNoVarRequires = []|[{
2963
+
2964
+ allow?: string[]
2965
+ }]
2966
+ // ----- @typescript-eslint/object-curly-spacing -----
2967
+ type TypescriptEslintObjectCurlySpacing = []|[("always" | "never")]|[("always" | "never"), {
2968
+ arraysInObjects?: boolean
2969
+ objectsInObjects?: boolean
2970
+ }]
2971
+ // ----- @typescript-eslint/only-throw-error -----
2972
+ type TypescriptEslintOnlyThrowError = []|[{
2973
+ allowThrowingAny?: boolean
2974
+ allowThrowingUnknown?: boolean
2975
+ }]
2976
+ // ----- @typescript-eslint/padding-line-between-statements -----
2977
+ type _TypescriptEslintPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always")
2978
+ type _TypescriptEslintPaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "interface" | "type") | [("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "interface" | "type"), ...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "interface" | "type"))[]])
2979
+ type TypescriptEslintPaddingLineBetweenStatements = {
2980
+ blankLine: _TypescriptEslintPaddingLineBetweenStatementsPaddingType
2981
+ prev: _TypescriptEslintPaddingLineBetweenStatementsStatementType
2982
+ next: _TypescriptEslintPaddingLineBetweenStatementsStatementType
2983
+ }[]
2984
+ // ----- @typescript-eslint/parameter-properties -----
2985
+ type TypescriptEslintParameterProperties = []|[{
2986
+ allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[]
2987
+ prefer?: ("class-property" | "parameter-property")
2988
+ }]
2989
+ // ----- @typescript-eslint/prefer-destructuring -----
2990
+ type TypescriptEslintPreferDestructuring = []|[({
2991
+ VariableDeclarator?: {
2992
+ array?: boolean
2993
+ object?: boolean
2994
+ }
2995
+ AssignmentExpression?: {
2996
+ array?: boolean
2997
+ object?: boolean
2998
+ }
2999
+ } | {
3000
+ array?: boolean
3001
+ object?: boolean
3002
+ })]|[({
3003
+ VariableDeclarator?: {
3004
+ array?: boolean
3005
+ object?: boolean
3006
+ }
3007
+ AssignmentExpression?: {
3008
+ array?: boolean
3009
+ object?: boolean
3010
+ }
3011
+ } | {
3012
+ array?: boolean
3013
+ object?: boolean
3014
+ }), {
3015
+ enforceForRenamedProperties?: boolean
3016
+ enforceForDeclarationWithTypeAnnotation?: boolean
3017
+ [k: string]: unknown | undefined
3018
+ }]
3019
+ // ----- @typescript-eslint/prefer-literal-enum-member -----
3020
+ type TypescriptEslintPreferLiteralEnumMember = []|[{
3021
+ allowBitwiseExpressions?: boolean
3022
+ }]
3023
+ // ----- @typescript-eslint/prefer-nullish-coalescing -----
3024
+ type TypescriptEslintPreferNullishCoalescing = []|[{
3025
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3026
+ ignoreConditionalTests?: boolean
3027
+ ignoreMixedLogicalExpressions?: boolean
3028
+ ignorePrimitives?: ({
3029
+ bigint?: boolean
3030
+ boolean?: boolean
3031
+ number?: boolean
3032
+ string?: boolean
3033
+ [k: string]: unknown | undefined
3034
+ } | true)
3035
+ ignoreTernaryTests?: boolean
3036
+ }]
3037
+ // ----- @typescript-eslint/prefer-optional-chain -----
3038
+ type TypescriptEslintPreferOptionalChain = []|[{
3039
+
3040
+ checkAny?: boolean
3041
+
3042
+ checkUnknown?: boolean
3043
+
3044
+ checkString?: boolean
3045
+
3046
+ checkNumber?: boolean
3047
+
3048
+ checkBoolean?: boolean
3049
+
3050
+ checkBigInt?: boolean
3051
+
3052
+ requireNullish?: boolean
3053
+
3054
+ allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean
3055
+ }]
3056
+ // ----- @typescript-eslint/prefer-promise-reject-errors -----
3057
+ type TypescriptEslintPreferPromiseRejectErrors = []|[{
3058
+ allowEmptyReject?: boolean
3059
+ }]
3060
+ // ----- @typescript-eslint/prefer-readonly -----
3061
+ type TypescriptEslintPreferReadonly = []|[{
3062
+ onlyInlineLambdas?: boolean
3063
+ }]
3064
+ // ----- @typescript-eslint/prefer-readonly-parameter-types -----
3065
+ type TypescriptEslintPreferReadonlyParameterTypes = []|[{
3066
+ allow?: (string | {
3067
+ from: "file"
3068
+ name: (string | [string, ...(string)[]])
3069
+ path?: string
3070
+ } | {
3071
+ from: "lib"
3072
+ name: (string | [string, ...(string)[]])
3073
+ } | {
3074
+ from: "package"
3075
+ name: (string | [string, ...(string)[]])
3076
+ package: string
3077
+ })[]
3078
+ checkParameterProperties?: boolean
3079
+ ignoreInferredTypes?: boolean
3080
+ treatMethodsAsReadonly?: boolean
3081
+ }]
3082
+ // ----- @typescript-eslint/prefer-string-starts-ends-with -----
3083
+ type TypescriptEslintPreferStringStartsEndsWith = []|[{
3084
+
3085
+ allowSingleElementEquality?: ("always" | "never")
3086
+ }]
3087
+ // ----- @typescript-eslint/promise-function-async -----
3088
+ type TypescriptEslintPromiseFunctionAsync = []|[{
3089
+
3090
+ allowAny?: boolean
3091
+
3092
+ allowedPromiseNames?: string[]
3093
+ checkArrowFunctions?: boolean
3094
+ checkFunctionDeclarations?: boolean
3095
+ checkFunctionExpressions?: boolean
3096
+ checkMethodDeclarations?: boolean
3097
+ }]
3098
+ // ----- @typescript-eslint/quotes -----
3099
+ type TypescriptEslintQuotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
3100
+ avoidEscape?: boolean
3101
+ allowTemplateLiterals?: boolean
3102
+ })]
3103
+ // ----- @typescript-eslint/require-array-sort-compare -----
3104
+ type TypescriptEslintRequireArraySortCompare = []|[{
3105
+
3106
+ ignoreStringArrays?: boolean
3107
+ }]
3108
+ // ----- @typescript-eslint/restrict-plus-operands -----
3109
+ type TypescriptEslintRestrictPlusOperands = []|[{
3110
+
3111
+ allowAny?: boolean
3112
+
3113
+ allowBoolean?: boolean
3114
+
3115
+ allowNullish?: boolean
3116
+
3117
+ allowNumberAndString?: boolean
3118
+
3119
+ allowRegExp?: boolean
3120
+
3121
+ skipCompoundAssignments?: boolean
3122
+ }]
3123
+ // ----- @typescript-eslint/restrict-template-expressions -----
3124
+ type TypescriptEslintRestrictTemplateExpressions = []|[{
3125
+
3126
+ allowAny?: boolean
3127
+
3128
+ allowArray?: boolean
3129
+
3130
+ allowBoolean?: boolean
3131
+
3132
+ allowNullish?: boolean
3133
+
3134
+ allowNumber?: boolean
3135
+
3136
+ allowRegExp?: boolean
3137
+
3138
+ allowNever?: boolean
3139
+ }]
3140
+ // ----- @typescript-eslint/return-await -----
3141
+ type TypescriptEslintReturnAwait = []|[("in-try-catch" | "always" | "never")]
3142
+ // ----- @typescript-eslint/semi -----
3143
+ type TypescriptEslintSemi = ([]|["never"]|["never", {
3144
+ beforeStatementContinuationChars?: ("always" | "any" | "never")
3145
+ }] | []|["always"]|["always", {
3146
+ omitLastInOneLineBlock?: boolean
3147
+ omitLastInOneLineClassBody?: boolean
3148
+ }])
3149
+ // ----- @typescript-eslint/sort-type-constituents -----
3150
+ type TypescriptEslintSortTypeConstituents = []|[{
3151
+
3152
+ checkIntersections?: boolean
3153
+
3154
+ checkUnions?: boolean
3155
+
3156
+ caseSensitive?: boolean
3157
+
3158
+ groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[]
3159
+ }]
3160
+ // ----- @typescript-eslint/space-before-blocks -----
3161
+ type TypescriptEslintSpaceBeforeBlocks = []|[(("always" | "never") | {
3162
+ keywords?: ("always" | "never" | "off")
3163
+ functions?: ("always" | "never" | "off")
3164
+ classes?: ("always" | "never" | "off")
3165
+ })]
3166
+ // ----- @typescript-eslint/space-before-function-paren -----
3167
+ type TypescriptEslintSpaceBeforeFunctionParen = []|[(("always" | "never") | {
3168
+ anonymous?: ("always" | "never" | "ignore")
3169
+ named?: ("always" | "never" | "ignore")
3170
+ asyncArrow?: ("always" | "never" | "ignore")
3171
+ })]
3172
+ // ----- @typescript-eslint/space-infix-ops -----
3173
+ type TypescriptEslintSpaceInfixOps = []|[{
3174
+ int32Hint?: boolean
3175
+ }]
3176
+ // ----- @typescript-eslint/strict-boolean-expressions -----
3177
+ type TypescriptEslintStrictBooleanExpressions = []|[{
3178
+ allowString?: boolean
3179
+ allowNumber?: boolean
3180
+ allowNullableObject?: boolean
3181
+ allowNullableBoolean?: boolean
3182
+ allowNullableString?: boolean
3183
+ allowNullableNumber?: boolean
3184
+ allowNullableEnum?: boolean
3185
+ allowAny?: boolean
3186
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
3187
+ }]
3188
+ // ----- @typescript-eslint/switch-exhaustiveness-check -----
3189
+ type TypescriptEslintSwitchExhaustivenessCheck = []|[{
3190
+
3191
+ allowDefaultCaseForExhaustiveSwitch?: boolean
3192
+
3193
+ requireDefaultForNonUnion?: boolean
3194
+ }]
3195
+ // ----- @typescript-eslint/triple-slash-reference -----
3196
+ type TypescriptEslintTripleSlashReference = []|[{
3197
+ lib?: ("always" | "never")
3198
+ path?: ("always" | "never")
3199
+ types?: ("always" | "never" | "prefer-import")
3200
+ }]
3201
+ // ----- @typescript-eslint/type-annotation-spacing -----
3202
+ type TypescriptEslintTypeAnnotationSpacing = []|[{
3203
+ before?: boolean
3204
+ after?: boolean
3205
+ overrides?: {
3206
+ colon?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3207
+ arrow?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3208
+ variable?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3209
+ parameter?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3210
+ property?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3211
+ returnType?: _TypescriptEslintTypeAnnotationSpacing_SpacingConfig
3212
+ }
3213
+ }]
3214
+ interface _TypescriptEslintTypeAnnotationSpacing_SpacingConfig {
3215
+ before?: boolean
3216
+ after?: boolean
3217
+ }
3218
+ // ----- @typescript-eslint/typedef -----
3219
+ type TypescriptEslintTypedef = []|[{
3220
+ arrayDestructuring?: boolean
3221
+ arrowParameter?: boolean
3222
+ memberVariableDeclaration?: boolean
3223
+ objectDestructuring?: boolean
3224
+ parameter?: boolean
3225
+ propertyDeclaration?: boolean
3226
+ variableDeclaration?: boolean
3227
+ variableDeclarationIgnoreFunction?: boolean
3228
+ }]
3229
+ // ----- @typescript-eslint/unbound-method -----
3230
+ type TypescriptEslintUnboundMethod = []|[{
3231
+
3232
+ ignoreStatic?: boolean
3233
+ }]
3234
+ // ----- @typescript-eslint/unified-signatures -----
3235
+ type TypescriptEslintUnifiedSignatures = []|[{
3236
+
3237
+ ignoreDifferentlyNamedParameters?: boolean
3238
+ }]
3239
+ // ----- banner/banner -----
3240
+ type BannerBanner = []|[{
3241
+
3242
+ banner?: string
3243
+
3244
+ repositoryName?: string
3245
+
3246
+ commentType?: string
3247
+
3248
+ numNewlines?: number
3249
+ }]
3250
+ // ----- prettier/prettier -----
3251
+ type PrettierPrettier = []|[{
3252
+ [k: string]: unknown | undefined
3253
+ }]|[{
3254
+ [k: string]: unknown | undefined
3255
+ }, {
3256
+ usePrettierrc?: boolean
3257
+ fileInfoOptions?: {
3258
+ [k: string]: unknown | undefined
3259
+ }
3260
+ [k: string]: unknown | undefined
3261
+ }]
3262
+ // ----- unicorn/better-regex -----
3263
+ type UnicornBetterRegex = []|[{
3264
+ sortCharacterClasses?: boolean
3265
+ }]
3266
+ // ----- unicorn/catch-error-name -----
3267
+ type UnicornCatchErrorName = []|[{
3268
+ name?: string
3269
+ ignore?: unknown[]
3270
+ }]
3271
+ // ----- unicorn/consistent-function-scoping -----
3272
+ type UnicornConsistentFunctionScoping = []|[{
3273
+ checkArrowFunctions?: boolean
3274
+ }]
3275
+ // ----- unicorn/expiring-todo-comments -----
3276
+ type UnicornExpiringTodoComments = []|[{
3277
+ terms?: string[]
3278
+ ignore?: unknown[]
3279
+ ignoreDatesOnPullRequests?: boolean
3280
+ allowWarningComments?: boolean
3281
+ date?: string
3282
+ }]
3283
+ // ----- unicorn/explicit-length-check -----
3284
+ type UnicornExplicitLengthCheck = []|[{
3285
+ "non-zero"?: ("greater-than" | "not-equal")
3286
+ }]
3287
+ // ----- unicorn/filename-case -----
3288
+ type UnicornFilenameCase = []|[({
3289
+ case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase")
3290
+ ignore?: unknown[]
3291
+ multipleFileExtensions?: boolean
3292
+ } | {
3293
+ cases?: {
3294
+ camelCase?: boolean
3295
+ snakeCase?: boolean
3296
+ kebabCase?: boolean
3297
+ pascalCase?: boolean
3298
+ }
3299
+ ignore?: unknown[]
3300
+ multipleFileExtensions?: boolean
3301
+ })]
3302
+ // ----- unicorn/import-style -----
3303
+ type UnicornImportStyle = []|[{
3304
+ checkImport?: boolean
3305
+ checkDynamicImport?: boolean
3306
+ checkExportFrom?: boolean
3307
+ checkRequire?: boolean
3308
+ extendDefaultStyles?: boolean
3309
+ styles?: _UnicornImportStyle_ModuleStyles
3310
+ }]
3311
+ type _UnicornImportStyleStyles = (false | _UnicornImportStyle_BooleanObject) | undefined
3312
+ interface _UnicornImportStyle_ModuleStyles {
3313
+ [k: string]: _UnicornImportStyleStyles | undefined
3314
+ }
3315
+ interface _UnicornImportStyle_BooleanObject {
3316
+ [k: string]: boolean | undefined
3317
+ }
3318
+ // ----- unicorn/no-array-push-push -----
3319
+ type UnicornNoArrayPushPush = []|[{
3320
+ ignore?: unknown[]
3321
+ }]
3322
+ // ----- unicorn/no-array-reduce -----
3323
+ type UnicornNoArrayReduce = []|[{
3324
+ allowSimpleOperations?: boolean
3325
+ }]
3326
+ // ----- unicorn/no-keyword-prefix -----
3327
+ type UnicornNoKeywordPrefix = []|[{
3328
+
3329
+ disallowedPrefixes?: []|[string]
3330
+ checkProperties?: boolean
3331
+ onlyCamelCase?: boolean
3332
+ }]
3333
+ // ----- unicorn/no-null -----
3334
+ type UnicornNoNull = []|[{
3335
+ checkStrictEquality?: boolean
3336
+ }]
3337
+ // ----- unicorn/no-typeof-undefined -----
3338
+ type UnicornNoTypeofUndefined = []|[{
3339
+ checkGlobalVariables?: boolean
3340
+ }]
3341
+ // ----- unicorn/no-unnecessary-polyfills -----
3342
+ type UnicornNoUnnecessaryPolyfills = []|[{
3343
+ targets: (string | unknown[] | {
3344
+ [k: string]: unknown | undefined
3345
+ })
3346
+ }]
3347
+ // ----- unicorn/no-useless-undefined -----
3348
+ type UnicornNoUselessUndefined = []|[{
3349
+ checkArguments?: boolean
3350
+ checkArrowFunctionBody?: boolean
3351
+ }]
3352
+ // ----- unicorn/numeric-separators-style -----
3353
+ type UnicornNumericSeparatorsStyle = []|[{
3354
+ binary?: {
3355
+ onlyIfContainsSeparator?: boolean
3356
+ minimumDigits?: number
3357
+ groupLength?: number
3358
+ }
3359
+ octal?: {
3360
+ onlyIfContainsSeparator?: boolean
3361
+ minimumDigits?: number
3362
+ groupLength?: number
3363
+ }
3364
+ hexadecimal?: {
3365
+ onlyIfContainsSeparator?: boolean
3366
+ minimumDigits?: number
3367
+ groupLength?: number
3368
+ }
3369
+ number?: {
3370
+ onlyIfContainsSeparator?: boolean
3371
+ minimumDigits?: number
3372
+ groupLength?: number
3373
+ }
3374
+ onlyIfContainsSeparator?: boolean
3375
+ }]
3376
+ // ----- unicorn/prefer-add-event-listener -----
3377
+ type UnicornPreferAddEventListener = []|[{
3378
+ excludedPackages?: string[]
3379
+ }]
3380
+ // ----- unicorn/prefer-array-find -----
3381
+ type UnicornPreferArrayFind = []|[{
3382
+ checkFromLast?: boolean
3383
+ }]
3384
+ // ----- unicorn/prefer-array-flat -----
3385
+ type UnicornPreferArrayFlat = []|[{
3386
+ functions?: unknown[]
3387
+ }]
3388
+ // ----- unicorn/prefer-at -----
3389
+ type UnicornPreferAt = []|[{
3390
+ getLastElementFunctions?: unknown[]
3391
+ checkAllIndexAccess?: boolean
3392
+ }]
3393
+ // ----- unicorn/prefer-export-from -----
3394
+ type UnicornPreferExportFrom = []|[{
3395
+ ignoreUsedVariables?: boolean
3396
+ }]
3397
+ // ----- unicorn/prefer-number-properties -----
3398
+ type UnicornPreferNumberProperties = []|[{
3399
+ checkInfinity?: boolean
3400
+ checkNaN?: boolean
3401
+ }]
3402
+ // ----- unicorn/prefer-object-from-entries -----
3403
+ type UnicornPreferObjectFromEntries = []|[{
3404
+ functions?: unknown[]
3405
+ }]
3406
+ // ----- unicorn/prefer-structured-clone -----
3407
+ type UnicornPreferStructuredClone = []|[{
3408
+ functions?: unknown[]
3409
+ }]
3410
+ // ----- unicorn/prefer-switch -----
3411
+ type UnicornPreferSwitch = []|[{
3412
+ minimumCases?: number
3413
+ emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case")
3414
+ }]
3415
+ // ----- unicorn/prefer-ternary -----
3416
+ type UnicornPreferTernary = []|[("always" | "only-single-line")]
3417
+ // ----- unicorn/prevent-abbreviations -----
3418
+ type UnicornPreventAbbreviations = []|[{
3419
+ checkProperties?: boolean
3420
+ checkVariables?: boolean
3421
+ checkDefaultAndNamespaceImports?: (boolean | string)
3422
+ checkShorthandImports?: (boolean | string)
3423
+ checkShorthandProperties?: boolean
3424
+ checkFilenames?: boolean
3425
+ extendDefaultReplacements?: boolean
3426
+ replacements?: _UnicornPreventAbbreviations_Abbreviations
3427
+ extendDefaultAllowList?: boolean
3428
+ allowList?: _UnicornPreventAbbreviations_BooleanObject
3429
+ ignore?: unknown[]
3430
+ }]
3431
+ type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined
3432
+ interface _UnicornPreventAbbreviations_Abbreviations {
3433
+ [k: string]: _UnicornPreventAbbreviationsReplacements | undefined
3434
+ }
3435
+ interface _UnicornPreventAbbreviations_BooleanObject {
3436
+ [k: string]: boolean | undefined
3437
+ }
3438
+ // ----- unicorn/relative-url-style -----
3439
+ type UnicornRelativeUrlStyle = []|[("never" | "always")]
3440
+ // ----- unicorn/string-content -----
3441
+ type UnicornStringContent = []|[{
3442
+ patterns?: {
3443
+ [k: string]: (string | {
3444
+ suggest: string
3445
+ fix?: boolean
3446
+ message?: string
3447
+ }) | undefined
3448
+ }
3449
+ }]
3450
+ // ----- unicorn/switch-case-braces -----
3451
+ type UnicornSwitchCaseBraces = []|[("always" | "avoid")]
3452
+ // ----- unicorn/template-indent -----
3453
+ type UnicornTemplateIndent = []|[{
3454
+ indent?: (string | number)
3455
+ tags?: string[]
3456
+ functions?: string[]
3457
+ selectors?: string[]
3458
+ comments?: string[]
328
3459
  }]
329
3460
  // ----- yml/block-mapping -----
330
3461
  type YmlBlockMapping = []|[(("always" | "never") | {