Files
routie/frontend/node_modules/eslint-config-vuetify/dist/index.d.mts
T

15580 lines
613 KiB
TypeScript

import { Arrayable, Awaitable, FlatConfigComposer } from "eslint-flat-config-utils";
import { Linter } from "eslint";
//#region src/typegen.d.ts
interface RuleOptions {
/**
* Enforce linebreaks after opening and before closing array brackets
* @see https://eslint.style/rules/array-bracket-newline
*/
'@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>;
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.style/rules/array-bracket-spacing
*/
'@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>;
/**
* Enforce line breaks after each array element
* @see https://eslint.style/rules/array-element-newline
*/
'@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>;
/**
* Require parentheses around arrow function arguments
* @see https://eslint.style/rules/arrow-parens
*/
'@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>;
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.style/rules/arrow-spacing
*/
'@stylistic/arrow-spacing'?: Linter.RuleEntry<StylisticArrowSpacing>;
/**
* Disallow or enforce spaces inside of blocks after opening block and before closing block
* @see https://eslint.style/rules/block-spacing
*/
'@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>;
/**
* Enforce consistent brace style for blocks
* @see https://eslint.style/rules/brace-style
*/
'@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>;
/**
* Require or disallow trailing commas
* @see https://eslint.style/rules/comma-dangle
*/
'@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>;
/**
* Enforce consistent spacing before and after commas
* @see https://eslint.style/rules/comma-spacing
*/
'@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>;
/**
* Enforce consistent comma style
* @see https://eslint.style/rules/comma-style
*/
'@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>;
/**
* Enforce consistent spacing inside computed property brackets
* @see https://eslint.style/rules/computed-property-spacing
*/
'@stylistic/computed-property-spacing'?: Linter.RuleEntry<StylisticComputedPropertySpacing>;
/**
* Enforce consistent line breaks after opening and before closing braces
* @see https://eslint.style/rules/curly-newline
*/
'@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>;
/**
* Enforce consistent newlines before and after dots
* @see https://eslint.style/rules/dot-location
*/
'@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>;
/**
* Require or disallow newline at the end of files
* @see https://eslint.style/rules/eol-last
*/
'@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>;
/**
* Enforce consistent line break styles for JSX props
* @see https://eslint.style/rules/jsx-props-style
*/
'@stylistic/exp-jsx-props-style'?: Linter.RuleEntry<StylisticExpJsxPropsStyle>;
/**
* Enforce consistent spacing and line break styles inside brackets.
* @see https://eslint.style/rules/list-style
*/
'@stylistic/exp-list-style'?: Linter.RuleEntry<StylisticExpListStyle>;
/**
* Enforce line breaks between arguments of a function call
* @see https://eslint.style/rules/function-call-argument-newline
*/
'@stylistic/function-call-argument-newline'?: Linter.RuleEntry<StylisticFunctionCallArgumentNewline>;
/**
* Require or disallow spacing between function identifiers and their invocations
* @see https://eslint.style/rules/function-call-spacing
*/
'@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>;
/**
* Enforce consistent line breaks inside function parentheses
* @see https://eslint.style/rules/function-paren-newline
*/
'@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>;
/**
* Enforce consistent spacing around `*` operators in generator functions
* @see https://eslint.style/rules/generator-star-spacing
*/
'@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>;
/**
* Enforce the location of arrow function bodies
* @see https://eslint.style/rules/implicit-arrow-linebreak
*/
'@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>;
/**
* Enforce consistent indentation
* @see https://eslint.style/rules/indent
*/
'@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>;
/**
* Indentation for binary operators
* @see https://eslint.style/rules/indent-binary-ops
*/
'@stylistic/indent-binary-ops'?: Linter.RuleEntry<StylisticIndentBinaryOps>;
/**
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
* @see https://eslint.style/rules/jsx-child-element-spacing
*/
'@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>;
/**
* Enforce closing bracket location in JSX
* @see https://eslint.style/rules/jsx-closing-bracket-location
*/
'@stylistic/jsx-closing-bracket-location'?: Linter.RuleEntry<StylisticJsxClosingBracketLocation>;
/**
* Enforce closing tag location for multiline JSX
* @see https://eslint.style/rules/jsx-closing-tag-location
*/
'@stylistic/jsx-closing-tag-location'?: Linter.RuleEntry<StylisticJsxClosingTagLocation>;
/**
* Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
* @see https://eslint.style/rules/jsx-curly-brace-presence
*/
'@stylistic/jsx-curly-brace-presence'?: Linter.RuleEntry<StylisticJsxCurlyBracePresence>;
/**
* Enforce consistent linebreaks in curly braces in JSX attributes and expressions
* @see https://eslint.style/rules/jsx-curly-newline
*/
'@stylistic/jsx-curly-newline'?: Linter.RuleEntry<StylisticJsxCurlyNewline>;
/**
* Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
* @see https://eslint.style/rules/jsx-curly-spacing
*/
'@stylistic/jsx-curly-spacing'?: Linter.RuleEntry<StylisticJsxCurlySpacing>;
/**
* Enforce or disallow spaces around equal signs in JSX attributes
* @see https://eslint.style/rules/jsx-equals-spacing
*/
'@stylistic/jsx-equals-spacing'?: Linter.RuleEntry<StylisticJsxEqualsSpacing>;
/**
* Enforce proper position of the first property in JSX
* @see https://eslint.style/rules/jsx-first-prop-new-line
*/
'@stylistic/jsx-first-prop-new-line'?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>;
/**
* Enforce line breaks before and after JSX elements when they are used as arguments to a function.
* @see https://eslint.style/rules/jsx-function-call-newline
*/
'@stylistic/jsx-function-call-newline'?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>;
/**
* Enforce JSX indentation. Deprecated, use `indent` rule instead.
* @see https://eslint.style/rules/jsx-indent
* @deprecated
*/
'@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>;
/**
* Enforce props indentation in JSX
* @see https://eslint.style/rules/jsx-indent-props
*/
'@stylistic/jsx-indent-props'?: Linter.RuleEntry<StylisticJsxIndentProps>;
/**
* Enforce maximum of props on a single line in JSX
* @see https://eslint.style/rules/jsx-max-props-per-line
*/
'@stylistic/jsx-max-props-per-line'?: Linter.RuleEntry<StylisticJsxMaxPropsPerLine>;
/**
* Require or prevent a new line after jsx elements and expressions.
* @see https://eslint.style/rules/jsx-newline
*/
'@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>;
/**
* Require one JSX element per line
* @see https://eslint.style/rules/jsx-one-expression-per-line
*/
'@stylistic/jsx-one-expression-per-line'?: Linter.RuleEntry<StylisticJsxOneExpressionPerLine>;
/**
* Enforce PascalCase for user-defined JSX components
* @see https://eslint.style/rules/jsx-pascal-case
*/
'@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>;
/**
* Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead.
* @see https://eslint.style/rules/jsx-props-no-multi-spaces
* @deprecated
*/
'@stylistic/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>;
/**
* Enforce the consistent use of either double or single quotes in JSX attributes
* @see https://eslint.style/rules/jsx-quotes
*/
'@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>;
/**
* Disallow extra closing tags for components without children
* @see https://eslint.style/rules/jsx-self-closing-comp
*/
'@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>;
/**
* Enforce props alphabetical sorting
* @see https://eslint.style/rules/jsx-sort-props
* @deprecated
*/
'@stylistic/jsx-sort-props'?: Linter.RuleEntry<StylisticJsxSortProps>;
/**
* Enforce whitespace in and around the JSX opening and closing brackets
* @see https://eslint.style/rules/jsx-tag-spacing
*/
'@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>;
/**
* Disallow missing parentheses around multiline JSX
* @see https://eslint.style/rules/jsx-wrap-multilines
*/
'@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxWrapMultilines>;
/**
* Enforce consistent spacing between property names and type annotations in types and interfaces
* @see https://eslint.style/rules/key-spacing
*/
'@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>;
/**
* Enforce consistent spacing before and after keywords
* @see https://eslint.style/rules/keyword-spacing
*/
'@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>;
/**
* Enforce position of line comments
* @see https://eslint.style/rules/line-comment-position
*/
'@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>;
/**
* Enforce consistent linebreak style
* @see https://eslint.style/rules/linebreak-style
*/
'@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>;
/**
* Require empty lines around comments
* @see https://eslint.style/rules/lines-around-comment
*/
'@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>;
/**
* Require or disallow an empty line between class members
* @see https://eslint.style/rules/lines-between-class-members
*/
'@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>;
/**
* Enforce a maximum line length
* @see https://eslint.style/rules/max-len
*/
'@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>;
/**
* Enforce a maximum number of statements allowed per line
* @see https://eslint.style/rules/max-statements-per-line
*/
'@stylistic/max-statements-per-line'?: Linter.RuleEntry<StylisticMaxStatementsPerLine>;
/**
* Require a specific member delimiter style for interfaces and type literals
* @see https://eslint.style/rules/member-delimiter-style
*/
'@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>;
/**
* Enforce a particular style for multiline comments
* @see https://eslint.style/rules/multiline-comment-style
*/
'@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>;
/**
* Enforce newlines between operands of ternary expressions
* @see https://eslint.style/rules/multiline-ternary
*/
'@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>;
/**
* Enforce or disallow parentheses when invoking a constructor with no arguments
* @see https://eslint.style/rules/new-parens
*/
'@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>;
/**
* Require a newline after each call in a method chain
* @see https://eslint.style/rules/newline-per-chained-call
*/
'@stylistic/newline-per-chained-call'?: Linter.RuleEntry<StylisticNewlinePerChainedCall>;
/**
* Disallow arrow functions where they could be confused with comparisons
* @see https://eslint.style/rules/no-confusing-arrow
*/
'@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>;
/**
* Disallow unnecessary parentheses
* @see https://eslint.style/rules/no-extra-parens
*/
'@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>;
/**
* Disallow unnecessary semicolons
* @see https://eslint.style/rules/no-extra-semi
*/
'@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>;
/**
* Disallow leading or trailing decimal points in numeric literals
* @see https://eslint.style/rules/no-floating-decimal
*/
'@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>;
/**
* Disallow mixed binary operators
* @see https://eslint.style/rules/no-mixed-operators
*/
'@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>;
/**
* Disallow mixed spaces and tabs for indentation
* @see https://eslint.style/rules/no-mixed-spaces-and-tabs
*/
'@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>;
/**
* Disallow multiple spaces
* @see https://eslint.style/rules/no-multi-spaces
*/
'@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>;
/**
* Disallow multiple empty lines
* @see https://eslint.style/rules/no-multiple-empty-lines
*/
'@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>;
/**
* Disallow all tabs
* @see https://eslint.style/rules/no-tabs
*/
'@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>;
/**
* Disallow trailing whitespace at the end of lines
* @see https://eslint.style/rules/no-trailing-spaces
*/
'@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>;
/**
* Disallow whitespace before properties
* @see https://eslint.style/rules/no-whitespace-before-property
*/
'@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>;
/**
* Enforce the location of single-line statements
* @see https://eslint.style/rules/nonblock-statement-body-position
*/
'@stylistic/nonblock-statement-body-position'?: Linter.RuleEntry<StylisticNonblockStatementBodyPosition>;
/**
* Enforce consistent line breaks after opening and before closing braces
* @see https://eslint.style/rules/object-curly-newline
*/
'@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>;
/**
* Enforce consistent spacing inside braces
* @see https://eslint.style/rules/object-curly-spacing
*/
'@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>;
/**
* Enforce placing object properties on separate lines
* @see https://eslint.style/rules/object-property-newline
*/
'@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>;
/**
* Require or disallow newlines around variable declarations
* @see https://eslint.style/rules/one-var-declaration-per-line
*/
'@stylistic/one-var-declaration-per-line'?: Linter.RuleEntry<StylisticOneVarDeclarationPerLine>;
/**
* Enforce consistent linebreak style for operators
* @see https://eslint.style/rules/operator-linebreak
*/
'@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>;
/**
* Require or disallow padding within blocks
* @see https://eslint.style/rules/padded-blocks
*/
'@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>;
/**
* Require or disallow padding lines between statements
* @see https://eslint.style/rules/padding-line-between-statements
*/
'@stylistic/padding-line-between-statements'?: Linter.RuleEntry<StylisticPaddingLineBetweenStatements>;
/**
* Require quotes around object literal, type literal, interfaces and enums property names
* @see https://eslint.style/rules/quote-props
*/
'@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>;
/**
* Enforce the consistent use of either backticks, double, or single quotes
* @see https://eslint.style/rules/quotes
*/
'@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>;
/**
* Enforce spacing between rest and spread operators and their expressions
* @see https://eslint.style/rules/rest-spread-spacing
*/
'@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>;
/**
* Require or disallow semicolons instead of ASI
* @see https://eslint.style/rules/semi
*/
'@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>;
/**
* Enforce consistent spacing before and after semicolons
* @see https://eslint.style/rules/semi-spacing
*/
'@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>;
/**
* Enforce location of semicolons
* @see https://eslint.style/rules/semi-style
*/
'@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>;
/**
* Enforce consistent spacing before blocks
* @see https://eslint.style/rules/space-before-blocks
*/
'@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>;
/**
* Enforce consistent spacing before function parenthesis
* @see https://eslint.style/rules/space-before-function-paren
*/
'@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>;
/**
* Enforce consistent spacing inside parentheses
* @see https://eslint.style/rules/space-in-parens
*/
'@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>;
/**
* Require spacing around infix operators
* @see https://eslint.style/rules/space-infix-ops
*/
'@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>;
/**
* Enforce consistent spacing before or after unary operators
* @see https://eslint.style/rules/space-unary-ops
*/
'@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>;
/**
* Enforce consistent spacing after the `//` or `/*` in a comment
* @see https://eslint.style/rules/spaced-comment
*/
'@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>;
/**
* Enforce spacing around colons of switch statements
* @see https://eslint.style/rules/switch-colon-spacing
*/
'@stylistic/switch-colon-spacing'?: Linter.RuleEntry<StylisticSwitchColonSpacing>;
/**
* Require or disallow spacing around embedded expressions of template strings
* @see https://eslint.style/rules/template-curly-spacing
*/
'@stylistic/template-curly-spacing'?: Linter.RuleEntry<StylisticTemplateCurlySpacing>;
/**
* Require or disallow spacing between template tags and their literals
* @see https://eslint.style/rules/template-tag-spacing
*/
'@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>;
/**
* Require consistent spacing around type annotations
* @see https://eslint.style/rules/type-annotation-spacing
*/
'@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>;
/**
* Enforces consistent spacing inside TypeScript type generics
* @see https://eslint.style/rules/type-generic-spacing
*/
'@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>;
/**
* Expect space before the type declaration in the named tuple
* @see https://eslint.style/rules/type-named-tuple-spacing
*/
'@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>;
/**
* Require parentheses around immediate `function` invocations
* @see https://eslint.style/rules/wrap-iife
*/
'@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>;
/**
* Require parenthesis around regex literals
* @see https://eslint.style/rules/wrap-regex
*/
'@stylistic/wrap-regex'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing around the `*` in `yield*` expressions
* @see https://eslint.style/rules/yield-star-spacing
*/
'@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>;
/**
* Require that function overload signatures be consecutive
* @see https://typescript-eslint.io/rules/adjacent-overload-signatures
*/
'@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>;
/**
* Require consistently using either `T[]` or `Array<T>` for arrays
* @see https://typescript-eslint.io/rules/array-type
*/
'@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>;
/**
* Disallow awaiting a value that is not a Thenable
* @see https://typescript-eslint.io/rules/await-thenable
*/
'@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>;
/**
* Disallow `@ts-<directive>` comments or require descriptions after directives
* @see https://typescript-eslint.io/rules/ban-ts-comment
*/
'@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>;
/**
* Disallow `// tslint:<rule-flag>` comments
* @see https://typescript-eslint.io/rules/ban-tslint-comment
*/
'@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>;
/**
* Enforce that literals on classes are exposed in a consistent style
* @see https://typescript-eslint.io/rules/class-literal-property-style
*/
'@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>;
/**
* Enforce that class methods utilize `this`
* @see https://typescript-eslint.io/rules/class-methods-use-this
*/
'@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>;
/**
* Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
* @see https://typescript-eslint.io/rules/consistent-generic-constructors
*/
'@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>;
/**
* Require or disallow the `Record` type
* @see https://typescript-eslint.io/rules/consistent-indexed-object-style
*/
'@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>;
/**
* Require `return` statements to either always or never specify values
* @see https://typescript-eslint.io/rules/consistent-return
*/
'@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>;
/**
* Enforce consistent usage of type assertions
* @see https://typescript-eslint.io/rules/consistent-type-assertions
*/
'@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>;
/**
* Enforce type definitions to consistently use either `interface` or `type`
* @see https://typescript-eslint.io/rules/consistent-type-definitions
*/
'@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeDefinitions>;
/**
* Enforce consistent usage of type exports
* @see https://typescript-eslint.io/rules/consistent-type-exports
*/
'@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>;
/**
* Enforce consistent usage of type imports
* @see https://typescript-eslint.io/rules/consistent-type-imports
*/
'@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>;
/**
* Enforce default parameters to be last
* @see https://typescript-eslint.io/rules/default-param-last
*/
'@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>;
/**
* Enforce dot notation whenever possible
* @see https://typescript-eslint.io/rules/dot-notation
*/
'@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>;
/**
* Require explicit return types on functions and class methods
* @see https://typescript-eslint.io/rules/explicit-function-return-type
*/
'@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>;
/**
* Require explicit accessibility modifiers on class properties and methods
* @see https://typescript-eslint.io/rules/explicit-member-accessibility
*/
'@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>;
/**
* Require explicit return and argument types on exported functions' and classes' public class methods
* @see https://typescript-eslint.io/rules/explicit-module-boundary-types
*/
'@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>;
/**
* Require or disallow initialization in variable declarations
* @see https://typescript-eslint.io/rules/init-declarations
*/
'@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>;
/**
* Enforce a maximum number of parameters in function definitions
* @see https://typescript-eslint.io/rules/max-params
*/
'@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>;
/**
* Require a consistent member declaration order
* @see https://typescript-eslint.io/rules/member-ordering
*/
'@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>;
/**
* Enforce using a particular method signature syntax
* @see https://typescript-eslint.io/rules/method-signature-style
*/
'@typescript-eslint/method-signature-style'?: Linter.RuleEntry<TypescriptEslintMethodSignatureStyle>;
/**
* Enforce naming conventions for everything across a codebase
* @see https://typescript-eslint.io/rules/naming-convention
*/
'@typescript-eslint/naming-convention'?: Linter.RuleEntry<TypescriptEslintNamingConvention>;
/**
* Disallow generic `Array` constructors
* @see https://typescript-eslint.io/rules/no-array-constructor
*/
'@typescript-eslint/no-array-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow using the `delete` operator on array values
* @see https://typescript-eslint.io/rules/no-array-delete
*/
'@typescript-eslint/no-array-delete'?: Linter.RuleEntry<[]>;
/**
* Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified
* @see https://typescript-eslint.io/rules/no-base-to-string
*/
'@typescript-eslint/no-base-to-string'?: Linter.RuleEntry<TypescriptEslintNoBaseToString>;
/**
* Disallow non-null assertion in locations that may be confusing
* @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
*/
'@typescript-eslint/no-confusing-non-null-assertion'?: Linter.RuleEntry<[]>;
/**
* Require expressions of type void to appear in statement position
* @see https://typescript-eslint.io/rules/no-confusing-void-expression
*/
'@typescript-eslint/no-confusing-void-expression'?: Linter.RuleEntry<TypescriptEslintNoConfusingVoidExpression>;
/**
* Disallow using code marked as `@deprecated`
* @see https://typescript-eslint.io/rules/no-deprecated
*/
'@typescript-eslint/no-deprecated'?: Linter.RuleEntry<TypescriptEslintNoDeprecated>;
/**
* Disallow duplicate class members
* @see https://typescript-eslint.io/rules/no-dupe-class-members
*/
'@typescript-eslint/no-dupe-class-members'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate enum member values
* @see https://typescript-eslint.io/rules/no-duplicate-enum-values
*/
'@typescript-eslint/no-duplicate-enum-values'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate constituents of union or intersection types
* @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
*/
'@typescript-eslint/no-duplicate-type-constituents'?: Linter.RuleEntry<TypescriptEslintNoDuplicateTypeConstituents>;
/**
* Disallow using the `delete` operator on computed key expressions
* @see https://typescript-eslint.io/rules/no-dynamic-delete
*/
'@typescript-eslint/no-dynamic-delete'?: Linter.RuleEntry<[]>;
/**
* Disallow empty functions
* @see https://typescript-eslint.io/rules/no-empty-function
*/
'@typescript-eslint/no-empty-function'?: Linter.RuleEntry<TypescriptEslintNoEmptyFunction>;
/**
* Disallow the declaration of empty interfaces
* @see https://typescript-eslint.io/rules/no-empty-interface
* @deprecated
*/
'@typescript-eslint/no-empty-interface'?: Linter.RuleEntry<TypescriptEslintNoEmptyInterface>;
/**
* Disallow accidentally using the "empty object" type
* @see https://typescript-eslint.io/rules/no-empty-object-type
*/
'@typescript-eslint/no-empty-object-type'?: Linter.RuleEntry<TypescriptEslintNoEmptyObjectType>;
/**
* Disallow the `any` type
* @see https://typescript-eslint.io/rules/no-explicit-any
*/
'@typescript-eslint/no-explicit-any'?: Linter.RuleEntry<TypescriptEslintNoExplicitAny>;
/**
* Disallow extra non-null assertions
* @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
*/
'@typescript-eslint/no-extra-non-null-assertion'?: Linter.RuleEntry<[]>;
/**
* Disallow classes used as namespaces
* @see https://typescript-eslint.io/rules/no-extraneous-class
*/
'@typescript-eslint/no-extraneous-class'?: Linter.RuleEntry<TypescriptEslintNoExtraneousClass>;
/**
* Require Promise-like statements to be handled appropriately
* @see https://typescript-eslint.io/rules/no-floating-promises
*/
'@typescript-eslint/no-floating-promises'?: Linter.RuleEntry<TypescriptEslintNoFloatingPromises>;
/**
* Disallow iterating over an array with a for-in loop
* @see https://typescript-eslint.io/rules/no-for-in-array
*/
'@typescript-eslint/no-for-in-array'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `eval()`-like functions
* @see https://typescript-eslint.io/rules/no-implied-eval
*/
'@typescript-eslint/no-implied-eval'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
* @see https://typescript-eslint.io/rules/no-import-type-side-effects
*/
'@typescript-eslint/no-import-type-side-effects'?: Linter.RuleEntry<[]>;
/**
* Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
* @see https://typescript-eslint.io/rules/no-inferrable-types
*/
'@typescript-eslint/no-inferrable-types'?: Linter.RuleEntry<TypescriptEslintNoInferrableTypes>;
/**
* Disallow `this` keywords outside of classes or class-like objects
* @see https://typescript-eslint.io/rules/no-invalid-this
*/
'@typescript-eslint/no-invalid-this'?: Linter.RuleEntry<TypescriptEslintNoInvalidThis>;
/**
* Disallow `void` type outside of generic or return types
* @see https://typescript-eslint.io/rules/no-invalid-void-type
*/
'@typescript-eslint/no-invalid-void-type'?: Linter.RuleEntry<TypescriptEslintNoInvalidVoidType>;
/**
* Disallow function declarations that contain unsafe references inside loop statements
* @see https://typescript-eslint.io/rules/no-loop-func
*/
'@typescript-eslint/no-loop-func'?: Linter.RuleEntry<[]>;
/**
* Disallow literal numbers that lose precision
* @see https://typescript-eslint.io/rules/no-loss-of-precision
* @deprecated
*/
'@typescript-eslint/no-loss-of-precision'?: Linter.RuleEntry<[]>;
/**
* Disallow magic numbers
* @see https://typescript-eslint.io/rules/no-magic-numbers
*/
'@typescript-eslint/no-magic-numbers'?: Linter.RuleEntry<TypescriptEslintNoMagicNumbers>;
/**
* Disallow the `void` operator except when used to discard a value
* @see https://typescript-eslint.io/rules/no-meaningless-void-operator
*/
'@typescript-eslint/no-meaningless-void-operator'?: Linter.RuleEntry<TypescriptEslintNoMeaninglessVoidOperator>;
/**
* Enforce valid definition of `new` and `constructor`
* @see https://typescript-eslint.io/rules/no-misused-new
*/
'@typescript-eslint/no-misused-new'?: Linter.RuleEntry<[]>;
/**
* Disallow Promises in places not designed to handle them
* @see https://typescript-eslint.io/rules/no-misused-promises
*/
'@typescript-eslint/no-misused-promises'?: Linter.RuleEntry<TypescriptEslintNoMisusedPromises>;
/**
* Disallow using the spread operator when it might cause unexpected behavior
* @see https://typescript-eslint.io/rules/no-misused-spread
*/
'@typescript-eslint/no-misused-spread'?: Linter.RuleEntry<TypescriptEslintNoMisusedSpread>;
/**
* Disallow enums from having both number and string members
* @see https://typescript-eslint.io/rules/no-mixed-enums
*/
'@typescript-eslint/no-mixed-enums'?: Linter.RuleEntry<[]>;
/**
* Disallow TypeScript namespaces
* @see https://typescript-eslint.io/rules/no-namespace
*/
'@typescript-eslint/no-namespace'?: Linter.RuleEntry<TypescriptEslintNoNamespace>;
/**
* Disallow non-null assertions in the left operand of a nullish coalescing operator
* @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
*/
'@typescript-eslint/no-non-null-asserted-nullish-coalescing'?: Linter.RuleEntry<[]>;
/**
* Disallow non-null assertions after an optional chain expression
* @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
*/
'@typescript-eslint/no-non-null-asserted-optional-chain'?: Linter.RuleEntry<[]>;
/**
* Disallow non-null assertions using the `!` postfix operator
* @see https://typescript-eslint.io/rules/no-non-null-assertion
*/
'@typescript-eslint/no-non-null-assertion'?: Linter.RuleEntry<[]>;
/**
* Disallow variable redeclaration
* @see https://typescript-eslint.io/rules/no-redeclare
*/
'@typescript-eslint/no-redeclare'?: Linter.RuleEntry<TypescriptEslintNoRedeclare>;
/**
* Disallow members of unions and intersections that do nothing or override type information
* @see https://typescript-eslint.io/rules/no-redundant-type-constituents
*/
'@typescript-eslint/no-redundant-type-constituents'?: Linter.RuleEntry<[]>;
/**
* Disallow invocation of `require()`
* @see https://typescript-eslint.io/rules/no-require-imports
*/
'@typescript-eslint/no-require-imports'?: Linter.RuleEntry<TypescriptEslintNoRequireImports>;
/**
* Disallow specified modules when loaded by `import`
* @see https://typescript-eslint.io/rules/no-restricted-imports
*/
'@typescript-eslint/no-restricted-imports'?: Linter.RuleEntry<TypescriptEslintNoRestrictedImports>;
/**
* Disallow certain types
* @see https://typescript-eslint.io/rules/no-restricted-types
*/
'@typescript-eslint/no-restricted-types'?: Linter.RuleEntry<TypescriptEslintNoRestrictedTypes>;
/**
* Disallow variable declarations from shadowing variables declared in the outer scope
* @see https://typescript-eslint.io/rules/no-shadow
*/
'@typescript-eslint/no-shadow'?: Linter.RuleEntry<TypescriptEslintNoShadow>;
/**
* Disallow aliasing `this`
* @see https://typescript-eslint.io/rules/no-this-alias
*/
'@typescript-eslint/no-this-alias'?: Linter.RuleEntry<TypescriptEslintNoThisAlias>;
/**
* Disallow type aliases
* @see https://typescript-eslint.io/rules/no-type-alias
* @deprecated
*/
'@typescript-eslint/no-type-alias'?: Linter.RuleEntry<TypescriptEslintNoTypeAlias>;
/**
* Disallow unnecessary equality comparisons against boolean literals
* @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
*/
'@typescript-eslint/no-unnecessary-boolean-literal-compare'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryBooleanLiteralCompare>;
/**
* Disallow conditionals where the type is always truthy or always falsy
* @see https://typescript-eslint.io/rules/no-unnecessary-condition
*/
'@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryCondition>;
/**
* Disallow unnecessary assignment of constructor property parameter
* @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
*/
'@typescript-eslint/no-unnecessary-parameter-property-assignment'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary namespace qualifiers
* @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
*/
'@typescript-eslint/no-unnecessary-qualifier'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary template expressions
* @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
*/
'@typescript-eslint/no-unnecessary-template-expression'?: Linter.RuleEntry<[]>;
/**
* Disallow type arguments that are equal to the default
* @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
*/
'@typescript-eslint/no-unnecessary-type-arguments'?: Linter.RuleEntry<[]>;
/**
* Disallow type assertions that do not change the type of an expression
* @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
*/
'@typescript-eslint/no-unnecessary-type-assertion'?: Linter.RuleEntry<TypescriptEslintNoUnnecessaryTypeAssertion>;
/**
* Disallow unnecessary constraints on generic types
* @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
*/
'@typescript-eslint/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>;
/**
* Disallow conversion idioms when they do not change the type or value of the expression
* @see https://typescript-eslint.io/rules/no-unnecessary-type-conversion
*/
'@typescript-eslint/no-unnecessary-type-conversion'?: Linter.RuleEntry<[]>;
/**
* Disallow type parameters that aren't used multiple times
* @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
*/
'@typescript-eslint/no-unnecessary-type-parameters'?: Linter.RuleEntry<[]>;
/**
* Disallow calling a function with a value with type `any`
* @see https://typescript-eslint.io/rules/no-unsafe-argument
*/
'@typescript-eslint/no-unsafe-argument'?: Linter.RuleEntry<[]>;
/**
* Disallow assigning a value with type `any` to variables and properties
* @see https://typescript-eslint.io/rules/no-unsafe-assignment
*/
'@typescript-eslint/no-unsafe-assignment'?: Linter.RuleEntry<[]>;
/**
* Disallow calling a value with type `any`
* @see https://typescript-eslint.io/rules/no-unsafe-call
*/
'@typescript-eslint/no-unsafe-call'?: Linter.RuleEntry<[]>;
/**
* Disallow unsafe declaration merging
* @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
*/
'@typescript-eslint/no-unsafe-declaration-merging'?: Linter.RuleEntry<[]>;
/**
* Disallow comparing an enum value with a non-enum value
* @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
*/
'@typescript-eslint/no-unsafe-enum-comparison'?: Linter.RuleEntry<[]>;
/**
* Disallow using the unsafe built-in Function type
* @see https://typescript-eslint.io/rules/no-unsafe-function-type
*/
'@typescript-eslint/no-unsafe-function-type'?: Linter.RuleEntry<[]>;
/**
* Disallow member access on a value with type `any`
* @see https://typescript-eslint.io/rules/no-unsafe-member-access
*/
'@typescript-eslint/no-unsafe-member-access'?: Linter.RuleEntry<TypescriptEslintNoUnsafeMemberAccess>;
/**
* Disallow returning a value with type `any` from a function
* @see https://typescript-eslint.io/rules/no-unsafe-return
*/
'@typescript-eslint/no-unsafe-return'?: Linter.RuleEntry<[]>;
/**
* Disallow type assertions that narrow a type
* @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
*/
'@typescript-eslint/no-unsafe-type-assertion'?: Linter.RuleEntry<[]>;
/**
* Require unary negation to take a number
* @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
*/
'@typescript-eslint/no-unsafe-unary-minus'?: Linter.RuleEntry<[]>;
/**
* Disallow unused expressions
* @see https://typescript-eslint.io/rules/no-unused-expressions
*/
'@typescript-eslint/no-unused-expressions'?: Linter.RuleEntry<TypescriptEslintNoUnusedExpressions>;
/**
* Disallow unused private class members
* @see https://typescript-eslint.io/rules/no-unused-private-class-members
*/
'@typescript-eslint/no-unused-private-class-members'?: Linter.RuleEntry<[]>;
/**
* Disallow unused variables
* @see https://typescript-eslint.io/rules/no-unused-vars
*/
'@typescript-eslint/no-unused-vars'?: Linter.RuleEntry<TypescriptEslintNoUnusedVars>;
/**
* Disallow the use of variables before they are defined
* @see https://typescript-eslint.io/rules/no-use-before-define
*/
'@typescript-eslint/no-use-before-define'?: Linter.RuleEntry<TypescriptEslintNoUseBeforeDefine>;
/**
* Disallow unnecessary constructors
* @see https://typescript-eslint.io/rules/no-useless-constructor
*/
'@typescript-eslint/no-useless-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow default values that will never be used
* @see https://typescript-eslint.io/rules/no-useless-default-assignment
*/
'@typescript-eslint/no-useless-default-assignment'?: Linter.RuleEntry<TypescriptEslintNoUselessDefaultAssignment>;
/**
* Disallow empty exports that don't change anything in a module file
* @see https://typescript-eslint.io/rules/no-useless-empty-export
*/
'@typescript-eslint/no-useless-empty-export'?: Linter.RuleEntry<[]>;
/**
* Disallow `require` statements except in import statements
* @see https://typescript-eslint.io/rules/no-var-requires
* @deprecated
*/
'@typescript-eslint/no-var-requires'?: Linter.RuleEntry<TypescriptEslintNoVarRequires>;
/**
* Disallow using confusing built-in primitive class wrappers
* @see https://typescript-eslint.io/rules/no-wrapper-object-types
*/
'@typescript-eslint/no-wrapper-object-types'?: Linter.RuleEntry<[]>;
/**
* Enforce non-null assertions over explicit type assertions
* @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
*/
'@typescript-eslint/non-nullable-type-assertion-style'?: Linter.RuleEntry<[]>;
/**
* Disallow throwing non-`Error` values as exceptions
* @see https://typescript-eslint.io/rules/only-throw-error
*/
'@typescript-eslint/only-throw-error'?: Linter.RuleEntry<TypescriptEslintOnlyThrowError>;
/**
* Require or disallow parameter properties in class constructors
* @see https://typescript-eslint.io/rules/parameter-properties
*/
'@typescript-eslint/parameter-properties'?: Linter.RuleEntry<TypescriptEslintParameterProperties>;
/**
* Enforce the use of `as const` over literal type
* @see https://typescript-eslint.io/rules/prefer-as-const
*/
'@typescript-eslint/prefer-as-const'?: Linter.RuleEntry<[]>;
/**
* Require destructuring from arrays and/or objects
* @see https://typescript-eslint.io/rules/prefer-destructuring
*/
'@typescript-eslint/prefer-destructuring'?: Linter.RuleEntry<TypescriptEslintPreferDestructuring>;
/**
* Require each enum member value to be explicitly initialized
* @see https://typescript-eslint.io/rules/prefer-enum-initializers
*/
'@typescript-eslint/prefer-enum-initializers'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
* @see https://typescript-eslint.io/rules/prefer-find
*/
'@typescript-eslint/prefer-find'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of `for-of` loop over the standard `for` loop where possible
* @see https://typescript-eslint.io/rules/prefer-for-of
*/
'@typescript-eslint/prefer-for-of'?: Linter.RuleEntry<[]>;
/**
* Enforce using function types instead of interfaces with call signatures
* @see https://typescript-eslint.io/rules/prefer-function-type
*/
'@typescript-eslint/prefer-function-type'?: Linter.RuleEntry<[]>;
/**
* Enforce `includes` method over `indexOf` method
* @see https://typescript-eslint.io/rules/prefer-includes
*/
'@typescript-eslint/prefer-includes'?: Linter.RuleEntry<[]>;
/**
* Require all enum members to be literal values
* @see https://typescript-eslint.io/rules/prefer-literal-enum-member
*/
'@typescript-eslint/prefer-literal-enum-member'?: Linter.RuleEntry<TypescriptEslintPreferLiteralEnumMember>;
/**
* Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
* @see https://typescript-eslint.io/rules/prefer-namespace-keyword
*/
'@typescript-eslint/prefer-namespace-keyword'?: Linter.RuleEntry<[]>;
/**
* Enforce using the nullish coalescing operator instead of logical assignments or chaining
* @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
*/
'@typescript-eslint/prefer-nullish-coalescing'?: Linter.RuleEntry<TypescriptEslintPreferNullishCoalescing>;
/**
* Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
* @see https://typescript-eslint.io/rules/prefer-optional-chain
*/
'@typescript-eslint/prefer-optional-chain'?: Linter.RuleEntry<TypescriptEslintPreferOptionalChain>;
/**
* Require using Error objects as Promise rejection reasons
* @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
*/
'@typescript-eslint/prefer-promise-reject-errors'?: Linter.RuleEntry<TypescriptEslintPreferPromiseRejectErrors>;
/**
* Require private members to be marked as `readonly` if they're never modified outside of the constructor
* @see https://typescript-eslint.io/rules/prefer-readonly
*/
'@typescript-eslint/prefer-readonly'?: Linter.RuleEntry<TypescriptEslintPreferReadonly>;
/**
* Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
* @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
*/
'@typescript-eslint/prefer-readonly-parameter-types'?: Linter.RuleEntry<TypescriptEslintPreferReadonlyParameterTypes>;
/**
* Enforce using type parameter when calling `Array#reduce` instead of using a type assertion
* @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
*/
'@typescript-eslint/prefer-reduce-type-parameter'?: Linter.RuleEntry<[]>;
/**
* Enforce `RegExp#exec` over `String#match` if no global flag is provided
* @see https://typescript-eslint.io/rules/prefer-regexp-exec
*/
'@typescript-eslint/prefer-regexp-exec'?: Linter.RuleEntry<[]>;
/**
* Enforce that `this` is used when only `this` type is returned
* @see https://typescript-eslint.io/rules/prefer-return-this-type
*/
'@typescript-eslint/prefer-return-this-type'?: Linter.RuleEntry<[]>;
/**
* Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
* @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
*/
'@typescript-eslint/prefer-string-starts-ends-with'?: Linter.RuleEntry<TypescriptEslintPreferStringStartsEndsWith>;
/**
* Enforce using `@ts-expect-error` over `@ts-ignore`
* @see https://typescript-eslint.io/rules/prefer-ts-expect-error
* @deprecated
*/
'@typescript-eslint/prefer-ts-expect-error'?: Linter.RuleEntry<[]>;
/**
* Require any function or method that returns a Promise to be marked async
* @see https://typescript-eslint.io/rules/promise-function-async
*/
'@typescript-eslint/promise-function-async'?: Linter.RuleEntry<TypescriptEslintPromiseFunctionAsync>;
/**
* Enforce that `get()` types should be assignable to their equivalent `set()` type
* @see https://typescript-eslint.io/rules/related-getter-setter-pairs
*/
'@typescript-eslint/related-getter-setter-pairs'?: Linter.RuleEntry<[]>;
/**
* Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
* @see https://typescript-eslint.io/rules/require-array-sort-compare
*/
'@typescript-eslint/require-array-sort-compare'?: Linter.RuleEntry<TypescriptEslintRequireArraySortCompare>;
/**
* Disallow async functions which do not return promises and have no `await` expression
* @see https://typescript-eslint.io/rules/require-await
*/
'@typescript-eslint/require-await'?: Linter.RuleEntry<[]>;
/**
* Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
* @see https://typescript-eslint.io/rules/restrict-plus-operands
*/
'@typescript-eslint/restrict-plus-operands'?: Linter.RuleEntry<TypescriptEslintRestrictPlusOperands>;
/**
* Enforce template literal expressions to be of `string` type
* @see https://typescript-eslint.io/rules/restrict-template-expressions
*/
'@typescript-eslint/restrict-template-expressions'?: Linter.RuleEntry<TypescriptEslintRestrictTemplateExpressions>;
/**
* Enforce consistent awaiting of returned promises
* @see https://typescript-eslint.io/rules/return-await
*/
'@typescript-eslint/return-await'?: Linter.RuleEntry<TypescriptEslintReturnAwait>;
/**
* Enforce constituents of a type union/intersection to be sorted alphabetically
* @see https://typescript-eslint.io/rules/sort-type-constituents
* @deprecated
*/
'@typescript-eslint/sort-type-constituents'?: Linter.RuleEntry<TypescriptEslintSortTypeConstituents>;
/**
* Disallow certain types in boolean expressions
* @see https://typescript-eslint.io/rules/strict-boolean-expressions
*/
'@typescript-eslint/strict-boolean-expressions'?: Linter.RuleEntry<TypescriptEslintStrictBooleanExpressions>;
/**
* Disallow passing a value-returning function in a position accepting a void function
* @see https://typescript-eslint.io/rules/strict-void-return
*/
'@typescript-eslint/strict-void-return'?: Linter.RuleEntry<TypescriptEslintStrictVoidReturn>;
/**
* Require switch-case statements to be exhaustive
* @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
*/
'@typescript-eslint/switch-exhaustiveness-check'?: Linter.RuleEntry<TypescriptEslintSwitchExhaustivenessCheck>;
/**
* Disallow certain triple slash directives in favor of ES6-style import declarations
* @see https://typescript-eslint.io/rules/triple-slash-reference
*/
'@typescript-eslint/triple-slash-reference'?: Linter.RuleEntry<TypescriptEslintTripleSlashReference>;
/**
* Require type annotations in certain places
* @see https://typescript-eslint.io/rules/typedef
* @deprecated
*/
'@typescript-eslint/typedef'?: Linter.RuleEntry<TypescriptEslintTypedef>;
/**
* Enforce unbound methods are called with their expected scope
* @see https://typescript-eslint.io/rules/unbound-method
*/
'@typescript-eslint/unbound-method'?: Linter.RuleEntry<TypescriptEslintUnboundMethod>;
/**
* Disallow two overloads that could be unified into one with a union or an optional/rest parameter
* @see https://typescript-eslint.io/rules/unified-signatures
*/
'@typescript-eslint/unified-signatures'?: Linter.RuleEntry<TypescriptEslintUnifiedSignatures>;
/**
* Enforce typing arguments in Promise rejection callbacks as `unknown`
* @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
*/
'@typescript-eslint/use-unknown-in-catch-callback-variable'?: Linter.RuleEntry<[]>;
/**
* Enforce getter and setter pairs in objects and classes
* @see https://eslint.org/docs/latest/rules/accessor-pairs
*/
'accessor-pairs'?: Linter.RuleEntry<AccessorPairs>;
/**
* Having line breaks styles to object, array and named imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-chaining.md
*/
'antfu/consistent-chaining'?: Linter.RuleEntry<AntfuConsistentChaining>;
/**
* Having line breaks styles to object, array and named imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-list-newline.md
*/
'antfu/consistent-list-newline'?: Linter.RuleEntry<AntfuConsistentListNewline>;
/**
* Enforce Anthony's style of curly bracket
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/curly.md
*/
'antfu/curly'?: Linter.RuleEntry<[]>;
/**
* Newline after if
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/if-newline.md
*/
'antfu/if-newline'?: Linter.RuleEntry<[]>;
/**
* Fix duplication in imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/import-dedupe.md
*/
'antfu/import-dedupe'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent indentation in `unindent` template tag
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/indent-unindent.md
*/
'antfu/indent-unindent'?: Linter.RuleEntry<AntfuIndentUnindent>;
/**
* Prevent importing modules in `dist` folder
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-dist.test.ts
*/
'antfu/no-import-dist'?: Linter.RuleEntry<[]>;
/**
* Prevent importing modules in `node_modules` folder by relative or absolute path
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-node-modules-by-path.test.ts
*/
'antfu/no-import-node-modules-by-path'?: Linter.RuleEntry<[]>;
/**
* Prevent using top-level await
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-top-level-await.test.ts
*/
'antfu/no-top-level-await'?: Linter.RuleEntry<[]>;
/**
* Do not use `exports =`
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-ts-export-equal.test.ts
*/
'antfu/no-ts-export-equal'?: Linter.RuleEntry<[]>;
/**
* Enforce top-level functions to be declared with function keyword
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/top-level-function.md
*/
'antfu/top-level-function'?: Linter.RuleEntry<[]>;
/**
* Enforce linebreaks after opening and before closing array brackets
* @see https://eslint.org/docs/latest/rules/array-bracket-newline
* @deprecated
*/
'array-bracket-newline'?: Linter.RuleEntry<ArrayBracketNewline>;
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.org/docs/latest/rules/array-bracket-spacing
* @deprecated
*/
'array-bracket-spacing'?: Linter.RuleEntry<ArrayBracketSpacing>;
/**
* Enforce `return` statements in callbacks of array methods
* @see https://eslint.org/docs/latest/rules/array-callback-return
*/
'array-callback-return'?: Linter.RuleEntry<ArrayCallbackReturn>;
/**
* Enforce line breaks after each array element
* @see https://eslint.org/docs/latest/rules/array-element-newline
* @deprecated
*/
'array-element-newline'?: Linter.RuleEntry<ArrayElementNewline>;
/**
* Require braces around arrow function bodies
* @see https://eslint.org/docs/latest/rules/arrow-body-style
*/
'arrow-body-style'?: Linter.RuleEntry<ArrowBodyStyle>;
/**
* Require parentheses around arrow function arguments
* @see https://eslint.org/docs/latest/rules/arrow-parens
* @deprecated
*/
'arrow-parens'?: Linter.RuleEntry<ArrowParens>;
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.org/docs/latest/rules/arrow-spacing
* @deprecated
*/
'arrow-spacing'?: Linter.RuleEntry<ArrowSpacing>;
/**
* Enforce the use of variables within the scope they are defined
* @see https://eslint.org/docs/latest/rules/block-scoped-var
*/
'block-scoped-var'?: Linter.RuleEntry<[]>;
/**
* Disallow or enforce spaces inside of blocks after opening block and before closing block
* @see https://eslint.org/docs/latest/rules/block-spacing
* @deprecated
*/
'block-spacing'?: Linter.RuleEntry<BlockSpacing>;
/**
* Enforce consistent brace style for blocks
* @see https://eslint.org/docs/latest/rules/brace-style
* @deprecated
*/
'brace-style'?: Linter.RuleEntry<BraceStyle>;
/**
* Require `return` statements after callbacks
* @see https://eslint.org/docs/latest/rules/callback-return
* @deprecated
*/
'callback-return'?: Linter.RuleEntry<CallbackReturn>;
/**
* Enforce camelcase naming convention
* @see https://eslint.org/docs/latest/rules/camelcase
*/
'camelcase'?: Linter.RuleEntry<Camelcase>;
/**
* Enforce or disallow capitalization of the first letter of a comment
* @see https://eslint.org/docs/latest/rules/capitalized-comments
*/
'capitalized-comments'?: Linter.RuleEntry<CapitalizedComments>;
/**
* Enforce that class methods utilize `this`
* @see https://eslint.org/docs/latest/rules/class-methods-use-this
*/
'class-methods-use-this'?: Linter.RuleEntry<ClassMethodsUseThis>;
/**
* Require or disallow trailing commas
* @see https://eslint.org/docs/latest/rules/comma-dangle
* @deprecated
*/
'comma-dangle'?: Linter.RuleEntry<CommaDangle>;
/**
* Enforce consistent spacing before and after commas
* @see https://eslint.org/docs/latest/rules/comma-spacing
* @deprecated
*/
'comma-spacing'?: Linter.RuleEntry<CommaSpacing>;
/**
* Enforce consistent comma style
* @see https://eslint.org/docs/latest/rules/comma-style
* @deprecated
*/
'comma-style'?: Linter.RuleEntry<CommaStyle>;
/**
* Enforce a maximum cyclomatic complexity allowed in a program
* @see https://eslint.org/docs/latest/rules/complexity
*/
'complexity'?: Linter.RuleEntry<Complexity>;
/**
* Enforce consistent spacing inside computed property brackets
* @see https://eslint.org/docs/latest/rules/computed-property-spacing
* @deprecated
*/
'computed-property-spacing'?: Linter.RuleEntry<ComputedPropertySpacing>;
/**
* Require `return` statements to either always or never specify values
* @see https://eslint.org/docs/latest/rules/consistent-return
*/
'consistent-return'?: Linter.RuleEntry<ConsistentReturn>;
/**
* Enforce consistent naming when capturing the current execution context
* @see https://eslint.org/docs/latest/rules/consistent-this
*/
'consistent-this'?: Linter.RuleEntry<ConsistentThis>;
/**
* Require `super()` calls in constructors
* @see https://eslint.org/docs/latest/rules/constructor-super
*/
'constructor-super'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent brace style for all control statements
* @see https://eslint.org/docs/latest/rules/curly
*/
'curly'?: Linter.RuleEntry<Curly>;
/**
* Require `default` cases in `switch` statements
* @see https://eslint.org/docs/latest/rules/default-case
*/
'default-case'?: Linter.RuleEntry<DefaultCase>;
/**
* Enforce `default` clauses in `switch` statements to be last
* @see https://eslint.org/docs/latest/rules/default-case-last
*/
'default-case-last'?: Linter.RuleEntry<[]>;
/**
* Enforce default parameters to be last
* @see https://eslint.org/docs/latest/rules/default-param-last
*/
'default-param-last'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent newlines before and after dots
* @see https://eslint.org/docs/latest/rules/dot-location
* @deprecated
*/
'dot-location'?: Linter.RuleEntry<DotLocation>;
/**
* Enforce dot notation whenever possible
* @see https://eslint.org/docs/latest/rules/dot-notation
*/
'dot-notation'?: Linter.RuleEntry<DotNotation>;
/**
* Require or disallow newline at the end of files
* @see https://eslint.org/docs/latest/rules/eol-last
* @deprecated
*/
'eol-last'?: Linter.RuleEntry<EolLast>;
/**
* Require the use of `===` and `!==`
* @see https://eslint.org/docs/latest/rules/eqeqeq
*/
'eqeqeq'?: Linter.RuleEntry<Eqeqeq>;
/**
* Enforce `for` loop update clause moving the counter in the right direction
* @see https://eslint.org/docs/latest/rules/for-direction
*/
'for-direction'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing between function identifiers and their invocations
* @see https://eslint.org/docs/latest/rules/func-call-spacing
* @deprecated
*/
'func-call-spacing'?: Linter.RuleEntry<FuncCallSpacing>;
/**
* Require function names to match the name of the variable or property to which they are assigned
* @see https://eslint.org/docs/latest/rules/func-name-matching
*/
'func-name-matching'?: Linter.RuleEntry<FuncNameMatching>;
/**
* Require or disallow named `function` expressions
* @see https://eslint.org/docs/latest/rules/func-names
*/
'func-names'?: Linter.RuleEntry<FuncNames>;
/**
* Enforce the consistent use of either `function` declarations or expressions assigned to variables
* @see https://eslint.org/docs/latest/rules/func-style
*/
'func-style'?: Linter.RuleEntry<FuncStyle>;
/**
* Enforce line breaks between arguments of a function call
* @see https://eslint.org/docs/latest/rules/function-call-argument-newline
* @deprecated
*/
'function-call-argument-newline'?: Linter.RuleEntry<FunctionCallArgumentNewline>;
/**
* Enforce consistent line breaks inside function parentheses
* @see https://eslint.org/docs/latest/rules/function-paren-newline
* @deprecated
*/
'function-paren-newline'?: Linter.RuleEntry<FunctionParenNewline>;
/**
* Enforce consistent spacing around `*` operators in generator functions
* @see https://eslint.org/docs/latest/rules/generator-star-spacing
* @deprecated
*/
'generator-star-spacing'?: Linter.RuleEntry<GeneratorStarSpacing>;
/**
* Enforce `return` statements in getters
* @see https://eslint.org/docs/latest/rules/getter-return
*/
'getter-return'?: Linter.RuleEntry<GetterReturn>;
/**
* Require `require()` calls to be placed at top-level module scope
* @see https://eslint.org/docs/latest/rules/global-require
* @deprecated
*/
'global-require'?: Linter.RuleEntry<[]>;
/**
* Require grouped accessor pairs in object literals and classes
* @see https://eslint.org/docs/latest/rules/grouped-accessor-pairs
*/
'grouped-accessor-pairs'?: Linter.RuleEntry<GroupedAccessorPairs>;
/**
* Require `for-in` loops to include an `if` statement
* @see https://eslint.org/docs/latest/rules/guard-for-in
*/
'guard-for-in'?: Linter.RuleEntry<[]>;
/**
* Require error handling in callbacks
* @see https://eslint.org/docs/latest/rules/handle-callback-err
* @deprecated
*/
'handle-callback-err'?: Linter.RuleEntry<HandleCallbackErr>;
/**
* Disallow specified identifiers
* @see https://eslint.org/docs/latest/rules/id-blacklist
* @deprecated
*/
'id-blacklist'?: Linter.RuleEntry<IdBlacklist>;
/**
* Disallow specified identifiers
* @see https://eslint.org/docs/latest/rules/id-denylist
*/
'id-denylist'?: Linter.RuleEntry<IdDenylist>;
/**
* Enforce minimum and maximum identifier lengths
* @see https://eslint.org/docs/latest/rules/id-length
*/
'id-length'?: Linter.RuleEntry<IdLength>;
/**
* Require identifiers to match a specified regular expression
* @see https://eslint.org/docs/latest/rules/id-match
*/
'id-match'?: Linter.RuleEntry<IdMatch>;
/**
* Enforce the location of arrow function bodies
* @see https://eslint.org/docs/latest/rules/implicit-arrow-linebreak
* @deprecated
*/
'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>;
/**
* Enforce or ban the use of inline type-only markers for named imports.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/consistent-type-specifier-style/README.md
*/
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
/**
* Ensure all exports appear after other statements.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/exports-last/README.md
*/
'import/exports-last'?: Linter.RuleEntry<[]>;
/**
* Ensure all imports appear before other statements.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/first/README.md
*/
'import/first'?: Linter.RuleEntry<ImportFirst>;
/**
* Enforce a newline after import statements.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/newline-after-import/README.md
*/
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>;
/**
* Forbid default exports.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-default-export/README.md
*/
'import/no-default-export'?: Linter.RuleEntry<[]>;
/**
* Forbid repeated import of the same module in multiple places.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-duplicates/README.md
*/
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>;
/**
* Forbid the use of mutable exports with `var` or `let`.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-mutable-exports/README.md
*/
'import/no-mutable-exports'?: Linter.RuleEntry<[]>;
/**
* Forbid named default exports.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/no-named-default/README.md
*/
'import/no-named-default'?: Linter.RuleEntry<[]>;
/**
* Prefer a default export if module exports a single name or multiple names.
* @see https://github.com/9romise/eslint-plugin-import-lite/blob/main/src/rules/prefer-default-export/README.md
*/
'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>;
/**
* Enforce consistent indentation
* @see https://eslint.org/docs/latest/rules/indent
* @deprecated
*/
'indent'?: Linter.RuleEntry<Indent>;
/**
* Enforce consistent indentation
* @see https://eslint.org/docs/latest/rules/indent-legacy
* @deprecated
*/
'indent-legacy'?: Linter.RuleEntry<IndentLegacy>;
/**
* Require or disallow initialization in variable declarations
* @see https://eslint.org/docs/latest/rules/init-declarations
*/
'init-declarations'?: Linter.RuleEntry<InitDeclarations>;
/**
* Enforce `test` and `it` usage conventions
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/consistent-test-it.md
*/
'jest/consistent-test-it'?: Linter.RuleEntry<JestConsistentTestIt>;
/**
* Enforce assertion to be made in a test body
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/expect-expect.md
*/
'jest/expect-expect'?: Linter.RuleEntry<JestExpectExpect>;
/**
* Enforces a maximum number assertion calls in a test body
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/max-expects.md
*/
'jest/max-expects'?: Linter.RuleEntry<JestMaxExpects>;
/**
* Enforces a maximum depth to nested describe calls
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/max-nested-describe.md
*/
'jest/max-nested-describe'?: Linter.RuleEntry<JestMaxNestedDescribe>;
/**
* Disallow alias methods
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-alias-methods.md
*/
'jest/no-alias-methods'?: Linter.RuleEntry<[]>;
/**
* Disallow commented out tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-commented-out-tests.md
*/
'jest/no-commented-out-tests'?: Linter.RuleEntry<[]>;
/**
* Disallow calling `expect` conditionally
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-conditional-expect.md
*/
'jest/no-conditional-expect'?: Linter.RuleEntry<[]>;
/**
* Disallow conditional logic in tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-conditional-in-test.md
*/
'jest/no-conditional-in-test'?: Linter.RuleEntry<[]>;
/**
* Disallow confusing usages of jest.setTimeout
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-confusing-set-timeout.md
*/
'jest/no-confusing-set-timeout'?: Linter.RuleEntry<[]>;
/**
* Disallow use of deprecated functions
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-deprecated-functions.md
*/
'jest/no-deprecated-functions'?: Linter.RuleEntry<[]>;
/**
* Disallow disabled tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-disabled-tests.md
*/
'jest/no-disabled-tests'?: Linter.RuleEntry<[]>;
/**
* Disallow using a callback in asynchronous tests and hooks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-done-callback.md
*/
'jest/no-done-callback'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate setup and teardown hooks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-duplicate-hooks.md
*/
'jest/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
/**
* Disallow using `exports` in files containing tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-export.md
*/
'jest/no-export'?: Linter.RuleEntry<[]>;
/**
* Disallow focused tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-focused-tests.md
*/
'jest/no-focused-tests'?: Linter.RuleEntry<[]>;
/**
* Disallow setup and teardown hooks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-hooks.md
*/
'jest/no-hooks'?: Linter.RuleEntry<JestNoHooks>;
/**
* Disallow identical titles
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-identical-title.md
*/
'jest/no-identical-title'?: Linter.RuleEntry<[]>;
/**
* Disallow string interpolation inside snapshots
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-interpolation-in-snapshots.md
*/
'jest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>;
/**
* Disallow Jasmine globals
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-jasmine-globals.md
*/
'jest/no-jasmine-globals'?: Linter.RuleEntry<[]>;
/**
* Disallow large snapshots
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-large-snapshots.md
*/
'jest/no-large-snapshots'?: Linter.RuleEntry<JestNoLargeSnapshots>;
/**
* Disallow manually importing from `__mocks__`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-mocks-import.md
*/
'jest/no-mocks-import'?: Linter.RuleEntry<[]>;
/**
* Disallow specific `jest.` methods
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-restricted-jest-methods.md
*/
'jest/no-restricted-jest-methods'?: Linter.RuleEntry<JestNoRestrictedJestMethods>;
/**
* Disallow specific matchers & modifiers
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-restricted-matchers.md
*/
'jest/no-restricted-matchers'?: Linter.RuleEntry<JestNoRestrictedMatchers>;
/**
* Disallow using `expect` outside of `it` or `test` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-standalone-expect.md
*/
'jest/no-standalone-expect'?: Linter.RuleEntry<JestNoStandaloneExpect>;
/**
* Require using `.only` and `.skip` over `f` and `x`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-test-prefixes.md
*/
'jest/no-test-prefixes'?: Linter.RuleEntry<[]>;
/**
* Disallow explicitly returning from tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-test-return-statement.md
*/
'jest/no-test-return-statement'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary async function wrapper for expected promises
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-unneeded-async-expect-function.md
*/
'jest/no-unneeded-async-expect-function'?: Linter.RuleEntry<[]>;
/**
* Disallow using `jest.mock()` factories without an explicit type parameter
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/no-untyped-mock-factory.md
*/
'jest/no-untyped-mock-factory'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `afterAll` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-after-all-blocks.md
*/
'jest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `afterEach` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-after-each-blocks.md
*/
'jest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around Jest functions
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-all.md
*/
'jest/padding-around-all'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `beforeAll` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-before-all-blocks.md
*/
'jest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `beforeEach` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-before-each-blocks.md
*/
'jest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `describe` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-describe-blocks.md
*/
'jest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `expect` groups
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-expect-groups.md
*/
'jest/padding-around-expect-groups'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `test` and `it` blocks
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/padding-around-test-blocks.md
*/
'jest/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toHaveBeenCalledWith()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-called-with.md
*/
'jest/prefer-called-with'?: Linter.RuleEntry<[]>;
/**
* Suggest using the built-in comparison matchers
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-comparison-matcher.md
*/
'jest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
/**
* Prefer using `.each` rather than manual loops
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-each.md
*/
'jest/prefer-each'?: Linter.RuleEntry<[]>;
/**
* Prefer having the last statement in a test be an assertion
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-ending-with-an-expect.md
*/
'jest/prefer-ending-with-an-expect'?: Linter.RuleEntry<JestPreferEndingWithAnExpect>;
/**
* Suggest using the built-in equality matchers
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-equality-matcher.md
*/
'jest/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
/**
* Suggest using `expect.assertions()` OR `expect.hasAssertions()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-expect-assertions.md
*/
'jest/prefer-expect-assertions'?: Linter.RuleEntry<JestPreferExpectAssertions>;
/**
* Prefer `await expect(...).resolves` over `expect(await ...)` syntax
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-expect-resolves.md
*/
'jest/prefer-expect-resolves'?: Linter.RuleEntry<[]>;
/**
* Prefer having hooks in a consistent order
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-hooks-in-order.md
*/
'jest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
/**
* Suggest having hooks before any test cases
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-hooks-on-top.md
*/
'jest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
/**
* Prefer importing Jest globals
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-importing-jest-globals.md
*/
'jest/prefer-importing-jest-globals'?: Linter.RuleEntry<JestPreferImportingJestGlobals>;
/**
* Prefer `jest.mocked()` over `fn as jest.Mock`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-jest-mocked.md
*/
'jest/prefer-jest-mocked'?: Linter.RuleEntry<[]>;
/**
* Enforce lowercase test names
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-lowercase-title.md
*/
'jest/prefer-lowercase-title'?: Linter.RuleEntry<JestPreferLowercaseTitle>;
/**
* Prefer mock resolved/rejected shorthands for promises
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-mock-promise-shorthand.md
*/
'jest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
/**
* Prefer including a hint with external snapshots
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-snapshot-hint.md
*/
'jest/prefer-snapshot-hint'?: Linter.RuleEntry<JestPreferSnapshotHint>;
/**
* Suggest using `jest.spyOn()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-spy-on.md
*/
'jest/prefer-spy-on'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toStrictEqual()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-strict-equal.md
*/
'jest/prefer-strict-equal'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toBe()` for primitive literals
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-to-be.md
*/
'jest/prefer-to-be'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toContain()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-to-contain.md
*/
'jest/prefer-to-contain'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toHaveBeenCalled`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-to-have-been-called.md
*/
'jest/prefer-to-have-been-called'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toHaveBeenCalledTimes()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-to-have-been-called-times.md
*/
'jest/prefer-to-have-been-called-times'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toHaveLength()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-to-have-length.md
*/
'jest/prefer-to-have-length'?: Linter.RuleEntry<[]>;
/**
* Suggest using `test.todo`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/prefer-todo.md
*/
'jest/prefer-todo'?: Linter.RuleEntry<[]>;
/**
* Require setup and teardown code to be within a hook
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/require-hook.md
*/
'jest/require-hook'?: Linter.RuleEntry<JestRequireHook>;
/**
* Require a message for `toThrow()`
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/require-to-throw-message.md
*/
'jest/require-to-throw-message'?: Linter.RuleEntry<[]>;
/**
* Require test cases and hooks to be inside a `describe` block
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/require-top-level-describe.md
*/
'jest/require-top-level-describe'?: Linter.RuleEntry<JestRequireTopLevelDescribe>;
/**
* Enforce unbound methods are called with their expected scope
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/unbound-method.md
*/
'jest/unbound-method'?: Linter.RuleEntry<JestUnboundMethod>;
/**
* Enforce valid `describe()` callback
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-describe-callback.md
*/
'jest/valid-describe-callback'?: Linter.RuleEntry<[]>;
/**
* Enforce valid `expect()` usage
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-expect.md
*/
'jest/valid-expect'?: Linter.RuleEntry<JestValidExpect>;
/**
* Require promises that have expectations in their chain to be valid
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-expect-in-promise.md
*/
'jest/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
/**
* Disallow mocking of non-existing module paths
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-mock-module-path.md
*/
'jest/valid-mock-module-path'?: Linter.RuleEntry<JestValidMockModulePath>;
/**
* Enforce valid titles
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.5.0/docs/rules/valid-title.md
*/
'jest/valid-title'?: Linter.RuleEntry<JestValidTitle>;
/**
* enforce line breaks after opening and before closing array brackets
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
*/
'jsonc/array-bracket-newline'?: Linter.RuleEntry<JsoncArrayBracketNewline>;
/**
* disallow or enforce spaces inside of brackets
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-spacing.html
*/
'jsonc/array-bracket-spacing'?: Linter.RuleEntry<JsoncArrayBracketSpacing>;
/**
* enforce line breaks between array elements
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-element-newline.html
*/
'jsonc/array-element-newline'?: Linter.RuleEntry<JsoncArrayElementNewline>;
/**
* apply jsonc rules similar to your configured ESLint core rules
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/auto.html
*/
'jsonc/auto'?: Linter.RuleEntry<[]>;
/**
* require or disallow trailing commas
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-dangle.html
*/
'jsonc/comma-dangle'?: Linter.RuleEntry<JsoncCommaDangle>;
/**
* enforce consistent comma style
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-style.html
*/
'jsonc/comma-style'?: Linter.RuleEntry<JsoncCommaStyle>;
/**
* enforce consistent indentation
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/indent.html
*/
'jsonc/indent'?: Linter.RuleEntry<JsoncIndent>;
/**
* enforce naming convention to property key names
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-name-casing.html
*/
'jsonc/key-name-casing'?: Linter.RuleEntry<JsoncKeyNameCasing>;
/**
* enforce consistent spacing between keys and values in object literal properties
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-spacing.html
*/
'jsonc/key-spacing'?: Linter.RuleEntry<JsoncKeySpacing>;
/**
* disallow BigInt literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-bigint-literals.html
*/
'jsonc/no-bigint-literals'?: Linter.RuleEntry<[]>;
/**
* disallow binary expression
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-expression.html
*/
'jsonc/no-binary-expression'?: Linter.RuleEntry<[]>;
/**
* disallow binary numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-numeric-literals.html
*/
'jsonc/no-binary-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* disallow comments
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-comments.html
*/
'jsonc/no-comments'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate keys in object literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-dupe-keys.html
*/
'jsonc/no-dupe-keys'?: Linter.RuleEntry<[]>;
/**
* disallow escape sequences in identifiers.
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-escape-sequence-in-identifier.html
*/
'jsonc/no-escape-sequence-in-identifier'?: Linter.RuleEntry<[]>;
/**
* disallow leading or trailing decimal points in numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-floating-decimal.html
*/
'jsonc/no-floating-decimal'?: Linter.RuleEntry<[]>;
/**
* disallow hexadecimal numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-hexadecimal-numeric-literals.html
*/
'jsonc/no-hexadecimal-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* disallow Infinity
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-infinity.html
*/
'jsonc/no-infinity'?: Linter.RuleEntry<[]>;
/**
* disallow irregular whitespace
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
*/
'jsonc/no-irregular-whitespace'?: Linter.RuleEntry<JsoncNoIrregularWhitespace>;
/**
* disallow multiline strings
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-multi-str.html
*/
'jsonc/no-multi-str'?: Linter.RuleEntry<[]>;
/**
* disallow NaN
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-nan.html
*/
'jsonc/no-nan'?: Linter.RuleEntry<[]>;
/**
* disallow number property keys
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-number-props.html
*/
'jsonc/no-number-props'?: Linter.RuleEntry<[]>;
/**
* disallow numeric separators
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-numeric-separators.html
*/
'jsonc/no-numeric-separators'?: Linter.RuleEntry<[]>;
/**
* disallow legacy octal literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal.html
*/
'jsonc/no-octal'?: Linter.RuleEntry<[]>;
/**
* disallow octal escape sequences in string literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-escape.html
*/
'jsonc/no-octal-escape'?: Linter.RuleEntry<[]>;
/**
* disallow octal numeric literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-numeric-literals.html
*/
'jsonc/no-octal-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* disallow parentheses around the expression
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-parenthesized.html
*/
'jsonc/no-parenthesized'?: Linter.RuleEntry<[]>;
/**
* disallow plus sign
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-plus-sign.html
*/
'jsonc/no-plus-sign'?: Linter.RuleEntry<[]>;
/**
* disallow RegExp literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-regexp-literals.html
*/
'jsonc/no-regexp-literals'?: Linter.RuleEntry<[]>;
/**
* disallow sparse arrays
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-sparse-arrays.html
*/
'jsonc/no-sparse-arrays'?: Linter.RuleEntry<[]>;
/**
* disallow template literals
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-template-literals.html
*/
'jsonc/no-template-literals'?: Linter.RuleEntry<[]>;
/**
* disallow `undefined`
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-undefined-value.html
*/
'jsonc/no-undefined-value'?: Linter.RuleEntry<[]>;
/**
* disallow Unicode code point escape sequences.
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-unicode-codepoint-escapes.html
*/
'jsonc/no-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary escape usage
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
*/
'jsonc/no-useless-escape'?: Linter.RuleEntry<JsoncNoUselessEscape>;
/**
* enforce consistent line breaks inside braces
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
*/
'jsonc/object-curly-newline'?: Linter.RuleEntry<JsoncObjectCurlyNewline>;
/**
* enforce consistent spacing inside braces
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-spacing.html
*/
'jsonc/object-curly-spacing'?: Linter.RuleEntry<JsoncObjectCurlySpacing>;
/**
* enforce placing object properties on separate lines
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-property-newline.html
*/
'jsonc/object-property-newline'?: Linter.RuleEntry<JsoncObjectPropertyNewline>;
/**
* require quotes around object literal property names
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quote-props.html
*/
'jsonc/quote-props'?: Linter.RuleEntry<JsoncQuoteProps>;
/**
* enforce use of double or single quotes
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quotes.html
*/
'jsonc/quotes'?: Linter.RuleEntry<JsoncQuotes>;
/**
* require array values to be sorted
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-array-values.html
*/
'jsonc/sort-array-values'?: Linter.RuleEntry<JsoncSortArrayValues>;
/**
* require object keys to be sorted
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html
*/
'jsonc/sort-keys'?: Linter.RuleEntry<JsoncSortKeys>;
/**
* disallow spaces after unary operators
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/space-unary-ops.html
*/
'jsonc/space-unary-ops'?: Linter.RuleEntry<JsoncSpaceUnaryOps>;
/**
* disallow invalid number for JSON
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/valid-json-number.html
*/
'jsonc/valid-json-number'?: Linter.RuleEntry<[]>;
/**
* disallow parsing errors in Vue custom blocks
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
*/
'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>;
/**
* Enforce the consistent use of either double or single quotes in JSX attributes
* @see https://eslint.org/docs/latest/rules/jsx-quotes
* @deprecated
*/
'jsx-quotes'?: Linter.RuleEntry<JsxQuotes>;
/**
* Enforce consistent spacing between keys and values in object literal properties
* @see https://eslint.org/docs/latest/rules/key-spacing
* @deprecated
*/
'key-spacing'?: Linter.RuleEntry<KeySpacing>;
/**
* Enforce consistent spacing before and after keywords
* @see https://eslint.org/docs/latest/rules/keyword-spacing
* @deprecated
*/
'keyword-spacing'?: Linter.RuleEntry<KeywordSpacing>;
/**
* Enforce position of line comments
* @see https://eslint.org/docs/latest/rules/line-comment-position
* @deprecated
*/
'line-comment-position'?: Linter.RuleEntry<LineCommentPosition>;
/**
* Enforce consistent linebreak style
* @see https://eslint.org/docs/latest/rules/linebreak-style
* @deprecated
*/
'linebreak-style'?: Linter.RuleEntry<LinebreakStyle>;
/**
* Require empty lines around comments
* @see https://eslint.org/docs/latest/rules/lines-around-comment
* @deprecated
*/
'lines-around-comment'?: Linter.RuleEntry<LinesAroundComment>;
/**
* Require or disallow newlines around directives
* @see https://eslint.org/docs/latest/rules/lines-around-directive
* @deprecated
*/
'lines-around-directive'?: Linter.RuleEntry<LinesAroundDirective>;
/**
* Require or disallow an empty line between class members
* @see https://eslint.org/docs/latest/rules/lines-between-class-members
* @deprecated
*/
'lines-between-class-members'?: Linter.RuleEntry<LinesBetweenClassMembers>;
/**
* Require or disallow logical assignment operator shorthand
* @see https://eslint.org/docs/latest/rules/logical-assignment-operators
*/
'logical-assignment-operators'?: Linter.RuleEntry<LogicalAssignmentOperators>;
/**
* Enforce a maximum number of classes per file
* @see https://eslint.org/docs/latest/rules/max-classes-per-file
*/
'max-classes-per-file'?: Linter.RuleEntry<MaxClassesPerFile>;
/**
* Enforce a maximum depth that blocks can be nested
* @see https://eslint.org/docs/latest/rules/max-depth
*/
'max-depth'?: Linter.RuleEntry<MaxDepth>;
/**
* Enforce a maximum line length
* @see https://eslint.org/docs/latest/rules/max-len
* @deprecated
*/
'max-len'?: Linter.RuleEntry<MaxLen>;
/**
* Enforce a maximum number of lines per file
* @see https://eslint.org/docs/latest/rules/max-lines
*/
'max-lines'?: Linter.RuleEntry<MaxLines>;
/**
* Enforce a maximum number of lines of code in a function
* @see https://eslint.org/docs/latest/rules/max-lines-per-function
*/
'max-lines-per-function'?: Linter.RuleEntry<MaxLinesPerFunction>;
/**
* Enforce a maximum depth that callbacks can be nested
* @see https://eslint.org/docs/latest/rules/max-nested-callbacks
*/
'max-nested-callbacks'?: Linter.RuleEntry<MaxNestedCallbacks>;
/**
* Enforce a maximum number of parameters in function definitions
* @see https://eslint.org/docs/latest/rules/max-params
*/
'max-params'?: Linter.RuleEntry<MaxParams>;
/**
* Enforce a maximum number of statements allowed in function blocks
* @see https://eslint.org/docs/latest/rules/max-statements
*/
'max-statements'?: Linter.RuleEntry<MaxStatements>;
/**
* Enforce a maximum number of statements allowed per line
* @see https://eslint.org/docs/latest/rules/max-statements-per-line
* @deprecated
*/
'max-statements-per-line'?: Linter.RuleEntry<MaxStatementsPerLine>;
/**
* Enforce a particular style for multiline comments
* @see https://eslint.org/docs/latest/rules/multiline-comment-style
* @deprecated
*/
'multiline-comment-style'?: Linter.RuleEntry<MultilineCommentStyle>;
/**
* Enforce newlines between operands of ternary expressions
* @see https://eslint.org/docs/latest/rules/multiline-ternary
* @deprecated
*/
'multiline-ternary'?: Linter.RuleEntry<MultilineTernary>;
/**
* Require constructor names to begin with a capital letter
* @see https://eslint.org/docs/latest/rules/new-cap
*/
'new-cap'?: Linter.RuleEntry<NewCap>;
/**
* Enforce or disallow parentheses when invoking a constructor with no arguments
* @see https://eslint.org/docs/latest/rules/new-parens
* @deprecated
*/
'new-parens'?: Linter.RuleEntry<NewParens>;
/**
* Require or disallow an empty line after variable declarations
* @see https://eslint.org/docs/latest/rules/newline-after-var
* @deprecated
*/
'newline-after-var'?: Linter.RuleEntry<NewlineAfterVar>;
/**
* Require an empty line before `return` statements
* @see https://eslint.org/docs/latest/rules/newline-before-return
* @deprecated
*/
'newline-before-return'?: Linter.RuleEntry<[]>;
/**
* Require a newline after each call in a method chain
* @see https://eslint.org/docs/latest/rules/newline-per-chained-call
* @deprecated
*/
'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>;
/**
* Disallow the use of `alert`, `confirm`, and `prompt`
* @see https://eslint.org/docs/latest/rules/no-alert
*/
'no-alert'?: Linter.RuleEntry<[]>;
/**
* Disallow `Array` constructors
* @see https://eslint.org/docs/latest/rules/no-array-constructor
*/
'no-array-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow using an async function as a Promise executor
* @see https://eslint.org/docs/latest/rules/no-async-promise-executor
*/
'no-async-promise-executor'?: Linter.RuleEntry<[]>;
/**
* Disallow `await` inside of loops
* @see https://eslint.org/docs/latest/rules/no-await-in-loop
*/
'no-await-in-loop'?: Linter.RuleEntry<[]>;
/**
* Disallow bitwise operators
* @see https://eslint.org/docs/latest/rules/no-bitwise
*/
'no-bitwise'?: Linter.RuleEntry<NoBitwise>;
/**
* Disallow use of the `Buffer()` constructor
* @see https://eslint.org/docs/latest/rules/no-buffer-constructor
* @deprecated
*/
'no-buffer-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `arguments.caller` or `arguments.callee`
* @see https://eslint.org/docs/latest/rules/no-caller
*/
'no-caller'?: Linter.RuleEntry<[]>;
/**
* Disallow lexical declarations in case clauses
* @see https://eslint.org/docs/latest/rules/no-case-declarations
*/
'no-case-declarations'?: Linter.RuleEntry<[]>;
/**
* Disallow `catch` clause parameters from shadowing variables in the outer scope
* @see https://eslint.org/docs/latest/rules/no-catch-shadow
* @deprecated
*/
'no-catch-shadow'?: Linter.RuleEntry<[]>;
/**
* Disallow reassigning class members
* @see https://eslint.org/docs/latest/rules/no-class-assign
*/
'no-class-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow comparing against `-0`
* @see https://eslint.org/docs/latest/rules/no-compare-neg-zero
*/
'no-compare-neg-zero'?: Linter.RuleEntry<[]>;
/**
* Disallow assignment operators in conditional expressions
* @see https://eslint.org/docs/latest/rules/no-cond-assign
*/
'no-cond-assign'?: Linter.RuleEntry<NoCondAssign>;
/**
* Disallow arrow functions where they could be confused with comparisons
* @see https://eslint.org/docs/latest/rules/no-confusing-arrow
* @deprecated
*/
'no-confusing-arrow'?: Linter.RuleEntry<NoConfusingArrow>;
/**
* Disallow the use of `console`
* @see https://eslint.org/docs/latest/rules/no-console
*/
'no-console'?: Linter.RuleEntry<NoConsole>;
/**
* Disallow reassigning `const`, `using`, and `await using` variables
* @see https://eslint.org/docs/latest/rules/no-const-assign
*/
'no-const-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow expressions where the operation doesn't affect the value
* @see https://eslint.org/docs/latest/rules/no-constant-binary-expression
*/
'no-constant-binary-expression'?: Linter.RuleEntry<[]>;
/**
* Disallow constant expressions in conditions
* @see https://eslint.org/docs/latest/rules/no-constant-condition
*/
'no-constant-condition'?: Linter.RuleEntry<NoConstantCondition>;
/**
* Disallow returning value from constructor
* @see https://eslint.org/docs/latest/rules/no-constructor-return
*/
'no-constructor-return'?: Linter.RuleEntry<[]>;
/**
* Disallow `continue` statements
* @see https://eslint.org/docs/latest/rules/no-continue
*/
'no-continue'?: Linter.RuleEntry<[]>;
/**
* Disallow control characters in regular expressions
* @see https://eslint.org/docs/latest/rules/no-control-regex
*/
'no-control-regex'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `debugger`
* @see https://eslint.org/docs/latest/rules/no-debugger
*/
'no-debugger'?: Linter.RuleEntry<[]>;
/**
* Disallow deleting variables
* @see https://eslint.org/docs/latest/rules/no-delete-var
*/
'no-delete-var'?: Linter.RuleEntry<[]>;
/**
* Disallow equal signs explicitly at the beginning of regular expressions
* @see https://eslint.org/docs/latest/rules/no-div-regex
*/
'no-div-regex'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate arguments in `function` definitions
* @see https://eslint.org/docs/latest/rules/no-dupe-args
*/
'no-dupe-args'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate class members
* @see https://eslint.org/docs/latest/rules/no-dupe-class-members
*/
'no-dupe-class-members'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate conditions in if-else-if chains
* @see https://eslint.org/docs/latest/rules/no-dupe-else-if
*/
'no-dupe-else-if'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate keys in object literals
* @see https://eslint.org/docs/latest/rules/no-dupe-keys
*/
'no-dupe-keys'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate case labels
* @see https://eslint.org/docs/latest/rules/no-duplicate-case
*/
'no-duplicate-case'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate module imports
* @see https://eslint.org/docs/latest/rules/no-duplicate-imports
*/
'no-duplicate-imports'?: Linter.RuleEntry<NoDuplicateImports>;
/**
* Disallow `else` blocks after `return` statements in `if` statements
* @see https://eslint.org/docs/latest/rules/no-else-return
*/
'no-else-return'?: Linter.RuleEntry<NoElseReturn>;
/**
* Disallow empty block statements
* @see https://eslint.org/docs/latest/rules/no-empty
*/
'no-empty'?: Linter.RuleEntry<NoEmpty>;
/**
* Disallow empty character classes in regular expressions
* @see https://eslint.org/docs/latest/rules/no-empty-character-class
*/
'no-empty-character-class'?: Linter.RuleEntry<[]>;
/**
* Disallow empty functions
* @see https://eslint.org/docs/latest/rules/no-empty-function
*/
'no-empty-function'?: Linter.RuleEntry<NoEmptyFunction>;
/**
* Disallow empty destructuring patterns
* @see https://eslint.org/docs/latest/rules/no-empty-pattern
*/
'no-empty-pattern'?: Linter.RuleEntry<NoEmptyPattern>;
/**
* Disallow empty static blocks
* @see https://eslint.org/docs/latest/rules/no-empty-static-block
*/
'no-empty-static-block'?: Linter.RuleEntry<[]>;
/**
* Disallow `null` comparisons without type-checking operators
* @see https://eslint.org/docs/latest/rules/no-eq-null
*/
'no-eq-null'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `eval()`
* @see https://eslint.org/docs/latest/rules/no-eval
*/
'no-eval'?: Linter.RuleEntry<NoEval>;
/**
* Disallow reassigning exceptions in `catch` clauses
* @see https://eslint.org/docs/latest/rules/no-ex-assign
*/
'no-ex-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow extending native types
* @see https://eslint.org/docs/latest/rules/no-extend-native
*/
'no-extend-native'?: Linter.RuleEntry<NoExtendNative>;
/**
* Disallow unnecessary calls to `.bind()`
* @see https://eslint.org/docs/latest/rules/no-extra-bind
*/
'no-extra-bind'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary boolean casts
* @see https://eslint.org/docs/latest/rules/no-extra-boolean-cast
*/
'no-extra-boolean-cast'?: Linter.RuleEntry<NoExtraBooleanCast>;
/**
* Disallow unnecessary labels
* @see https://eslint.org/docs/latest/rules/no-extra-label
*/
'no-extra-label'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary parentheses
* @see https://eslint.org/docs/latest/rules/no-extra-parens
* @deprecated
*/
'no-extra-parens'?: Linter.RuleEntry<NoExtraParens>;
/**
* Disallow unnecessary semicolons
* @see https://eslint.org/docs/latest/rules/no-extra-semi
* @deprecated
*/
'no-extra-semi'?: Linter.RuleEntry<[]>;
/**
* Disallow fallthrough of `case` statements
* @see https://eslint.org/docs/latest/rules/no-fallthrough
*/
'no-fallthrough'?: Linter.RuleEntry<NoFallthrough>;
/**
* Disallow leading or trailing decimal points in numeric literals
* @see https://eslint.org/docs/latest/rules/no-floating-decimal
* @deprecated
*/
'no-floating-decimal'?: Linter.RuleEntry<[]>;
/**
* Disallow reassigning `function` declarations
* @see https://eslint.org/docs/latest/rules/no-func-assign
*/
'no-func-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow assignments to native objects or read-only global variables
* @see https://eslint.org/docs/latest/rules/no-global-assign
*/
'no-global-assign'?: Linter.RuleEntry<NoGlobalAssign>;
/**
* Disallow shorthand type conversions
* @see https://eslint.org/docs/latest/rules/no-implicit-coercion
*/
'no-implicit-coercion'?: Linter.RuleEntry<NoImplicitCoercion>;
/**
* Disallow declarations in the global scope
* @see https://eslint.org/docs/latest/rules/no-implicit-globals
*/
'no-implicit-globals'?: Linter.RuleEntry<NoImplicitGlobals>;
/**
* Disallow the use of `eval()`-like methods
* @see https://eslint.org/docs/latest/rules/no-implied-eval
*/
'no-implied-eval'?: Linter.RuleEntry<[]>;
/**
* Disallow assigning to imported bindings
* @see https://eslint.org/docs/latest/rules/no-import-assign
*/
'no-import-assign'?: Linter.RuleEntry<[]>;
/**
* Disallow inline comments after code
* @see https://eslint.org/docs/latest/rules/no-inline-comments
*/
'no-inline-comments'?: Linter.RuleEntry<NoInlineComments>;
/**
* Disallow variable or `function` declarations in nested blocks
* @see https://eslint.org/docs/latest/rules/no-inner-declarations
*/
'no-inner-declarations'?: Linter.RuleEntry<NoInnerDeclarations>;
/**
* Disallow invalid regular expression strings in `RegExp` constructors
* @see https://eslint.org/docs/latest/rules/no-invalid-regexp
*/
'no-invalid-regexp'?: Linter.RuleEntry<NoInvalidRegexp>;
/**
* Disallow use of `this` in contexts where the value of `this` is `undefined`
* @see https://eslint.org/docs/latest/rules/no-invalid-this
*/
'no-invalid-this'?: Linter.RuleEntry<NoInvalidThis>;
/**
* Disallow irregular whitespace
* @see https://eslint.org/docs/latest/rules/no-irregular-whitespace
*/
'no-irregular-whitespace'?: Linter.RuleEntry<NoIrregularWhitespace>;
/**
* Disallow the use of the `__iterator__` property
* @see https://eslint.org/docs/latest/rules/no-iterator
*/
'no-iterator'?: Linter.RuleEntry<[]>;
/**
* Disallow labels that share a name with a variable
* @see https://eslint.org/docs/latest/rules/no-label-var
*/
'no-label-var'?: Linter.RuleEntry<[]>;
/**
* Disallow labeled statements
* @see https://eslint.org/docs/latest/rules/no-labels
*/
'no-labels'?: Linter.RuleEntry<NoLabels>;
/**
* Disallow unnecessary nested blocks
* @see https://eslint.org/docs/latest/rules/no-lone-blocks
*/
'no-lone-blocks'?: Linter.RuleEntry<[]>;
/**
* Disallow `if` statements as the only statement in `else` blocks
* @see https://eslint.org/docs/latest/rules/no-lonely-if
*/
'no-lonely-if'?: Linter.RuleEntry<[]>;
/**
* Disallow function declarations that contain unsafe references inside loop statements
* @see https://eslint.org/docs/latest/rules/no-loop-func
*/
'no-loop-func'?: Linter.RuleEntry<[]>;
/**
* Disallow literal numbers that lose precision
* @see https://eslint.org/docs/latest/rules/no-loss-of-precision
*/
'no-loss-of-precision'?: Linter.RuleEntry<[]>;
/**
* Disallow magic numbers
* @see https://eslint.org/docs/latest/rules/no-magic-numbers
*/
'no-magic-numbers'?: Linter.RuleEntry<NoMagicNumbers>;
/**
* Disallow characters which are made with multiple code points in character class syntax
* @see https://eslint.org/docs/latest/rules/no-misleading-character-class
*/
'no-misleading-character-class'?: Linter.RuleEntry<NoMisleadingCharacterClass>;
/**
* Disallow mixed binary operators
* @see https://eslint.org/docs/latest/rules/no-mixed-operators
* @deprecated
*/
'no-mixed-operators'?: Linter.RuleEntry<NoMixedOperators>;
/**
* Disallow `require` calls to be mixed with regular variable declarations
* @see https://eslint.org/docs/latest/rules/no-mixed-requires
* @deprecated
*/
'no-mixed-requires'?: Linter.RuleEntry<NoMixedRequires>;
/**
* Disallow mixed spaces and tabs for indentation
* @see https://eslint.org/docs/latest/rules/no-mixed-spaces-and-tabs
* @deprecated
*/
'no-mixed-spaces-and-tabs'?: Linter.RuleEntry<NoMixedSpacesAndTabs>;
/**
* Disallow use of chained assignment expressions
* @see https://eslint.org/docs/latest/rules/no-multi-assign
*/
'no-multi-assign'?: Linter.RuleEntry<NoMultiAssign>;
/**
* Disallow multiple spaces
* @see https://eslint.org/docs/latest/rules/no-multi-spaces
* @deprecated
*/
'no-multi-spaces'?: Linter.RuleEntry<NoMultiSpaces>;
/**
* Disallow multiline strings
* @see https://eslint.org/docs/latest/rules/no-multi-str
*/
'no-multi-str'?: Linter.RuleEntry<[]>;
/**
* Disallow multiple empty lines
* @see https://eslint.org/docs/latest/rules/no-multiple-empty-lines
* @deprecated
*/
'no-multiple-empty-lines'?: Linter.RuleEntry<NoMultipleEmptyLines>;
/**
* Disallow assignments to native objects or read-only global variables
* @see https://eslint.org/docs/latest/rules/no-native-reassign
* @deprecated
*/
'no-native-reassign'?: Linter.RuleEntry<NoNativeReassign>;
/**
* Disallow negated conditions
* @see https://eslint.org/docs/latest/rules/no-negated-condition
*/
'no-negated-condition'?: Linter.RuleEntry<[]>;
/**
* Disallow negating the left operand in `in` expressions
* @see https://eslint.org/docs/latest/rules/no-negated-in-lhs
* @deprecated
*/
'no-negated-in-lhs'?: Linter.RuleEntry<[]>;
/**
* Disallow nested ternary expressions
* @see https://eslint.org/docs/latest/rules/no-nested-ternary
*/
'no-nested-ternary'?: Linter.RuleEntry<[]>;
/**
* Disallow `new` operators outside of assignments or comparisons
* @see https://eslint.org/docs/latest/rules/no-new
*/
'no-new'?: Linter.RuleEntry<[]>;
/**
* Disallow `new` operators with the `Function` object
* @see https://eslint.org/docs/latest/rules/no-new-func
*/
'no-new-func'?: Linter.RuleEntry<[]>;
/**
* Disallow `new` operators with global non-constructor functions
* @see https://eslint.org/docs/latest/rules/no-new-native-nonconstructor
*/
'no-new-native-nonconstructor'?: Linter.RuleEntry<[]>;
/**
* Disallow `Object` constructors
* @see https://eslint.org/docs/latest/rules/no-new-object
* @deprecated
*/
'no-new-object'?: Linter.RuleEntry<[]>;
/**
* Disallow `new` operators with calls to `require`
* @see https://eslint.org/docs/latest/rules/no-new-require
* @deprecated
*/
'no-new-require'?: Linter.RuleEntry<[]>;
/**
* Disallow `new` operators with the `Symbol` object
* @see https://eslint.org/docs/latest/rules/no-new-symbol
* @deprecated
*/
'no-new-symbol'?: Linter.RuleEntry<[]>;
/**
* Disallow `new` operators with the `String`, `Number`, and `Boolean` objects
* @see https://eslint.org/docs/latest/rules/no-new-wrappers
*/
'no-new-wrappers'?: Linter.RuleEntry<[]>;
/**
* Disallow `\8` and `\9` escape sequences in string literals
* @see https://eslint.org/docs/latest/rules/no-nonoctal-decimal-escape
*/
'no-nonoctal-decimal-escape'?: Linter.RuleEntry<[]>;
/**
* Disallow calling global object properties as functions
* @see https://eslint.org/docs/latest/rules/no-obj-calls
*/
'no-obj-calls'?: Linter.RuleEntry<[]>;
/**
* Disallow calls to the `Object` constructor without an argument
* @see https://eslint.org/docs/latest/rules/no-object-constructor
*/
'no-object-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow octal literals
* @see https://eslint.org/docs/latest/rules/no-octal
*/
'no-octal'?: Linter.RuleEntry<[]>;
/**
* Disallow octal escape sequences in string literals
* @see https://eslint.org/docs/latest/rules/no-octal-escape
*/
'no-octal-escape'?: Linter.RuleEntry<[]>;
/**
* disallow .only blocks in tests
* @see https://github.com/levibuzolic/eslint-plugin-no-only-tests
*/
'no-only-tests/no-only-tests'?: Linter.RuleEntry<NoOnlyTestsNoOnlyTests>;
/**
* Disallow reassigning function parameters
* @see https://eslint.org/docs/latest/rules/no-param-reassign
*/
'no-param-reassign'?: Linter.RuleEntry<NoParamReassign>;
/**
* Disallow string concatenation with `__dirname` and `__filename`
* @see https://eslint.org/docs/latest/rules/no-path-concat
* @deprecated
*/
'no-path-concat'?: Linter.RuleEntry<[]>;
/**
* Disallow the unary operators `++` and `--`
* @see https://eslint.org/docs/latest/rules/no-plusplus
*/
'no-plusplus'?: Linter.RuleEntry<NoPlusplus>;
/**
* Disallow the use of `process.env`
* @see https://eslint.org/docs/latest/rules/no-process-env
* @deprecated
*/
'no-process-env'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `process.exit()`
* @see https://eslint.org/docs/latest/rules/no-process-exit
* @deprecated
*/
'no-process-exit'?: Linter.RuleEntry<[]>;
/**
* Disallow returning values from Promise executor functions
* @see https://eslint.org/docs/latest/rules/no-promise-executor-return
*/
'no-promise-executor-return'?: Linter.RuleEntry<NoPromiseExecutorReturn>;
/**
* Disallow the use of the `__proto__` property
* @see https://eslint.org/docs/latest/rules/no-proto
*/
'no-proto'?: Linter.RuleEntry<[]>;
/**
* Disallow calling some `Object.prototype` methods directly on objects
* @see https://eslint.org/docs/latest/rules/no-prototype-builtins
*/
'no-prototype-builtins'?: Linter.RuleEntry<[]>;
/**
* Disallow variable redeclaration
* @see https://eslint.org/docs/latest/rules/no-redeclare
*/
'no-redeclare'?: Linter.RuleEntry<NoRedeclare>;
/**
* Disallow multiple spaces in regular expressions
* @see https://eslint.org/docs/latest/rules/no-regex-spaces
*/
'no-regex-spaces'?: Linter.RuleEntry<[]>;
/**
* Disallow specified names in exports
* @see https://eslint.org/docs/latest/rules/no-restricted-exports
*/
'no-restricted-exports'?: Linter.RuleEntry<NoRestrictedExports>;
/**
* Disallow specified global variables
* @see https://eslint.org/docs/latest/rules/no-restricted-globals
*/
'no-restricted-globals'?: Linter.RuleEntry<NoRestrictedGlobals>;
/**
* Disallow specified modules when loaded by `import`
* @see https://eslint.org/docs/latest/rules/no-restricted-imports
*/
'no-restricted-imports'?: Linter.RuleEntry<NoRestrictedImports>;
/**
* Disallow specified modules when loaded by `require`
* @see https://eslint.org/docs/latest/rules/no-restricted-modules
* @deprecated
*/
'no-restricted-modules'?: Linter.RuleEntry<NoRestrictedModules>;
/**
* Disallow certain properties on certain objects
* @see https://eslint.org/docs/latest/rules/no-restricted-properties
*/
'no-restricted-properties'?: Linter.RuleEntry<NoRestrictedProperties>;
/**
* Disallow specified syntax
* @see https://eslint.org/docs/latest/rules/no-restricted-syntax
*/
'no-restricted-syntax'?: Linter.RuleEntry<NoRestrictedSyntax>;
/**
* Disallow assignment operators in `return` statements
* @see https://eslint.org/docs/latest/rules/no-return-assign
*/
'no-return-assign'?: Linter.RuleEntry<NoReturnAssign>;
/**
* Disallow unnecessary `return await`
* @see https://eslint.org/docs/latest/rules/no-return-await
* @deprecated
*/
'no-return-await'?: Linter.RuleEntry<[]>;
/**
* Disallow `javascript:` URLs
* @see https://eslint.org/docs/latest/rules/no-script-url
*/
'no-script-url'?: Linter.RuleEntry<[]>;
/**
* Disallow assignments where both sides are exactly the same
* @see https://eslint.org/docs/latest/rules/no-self-assign
*/
'no-self-assign'?: Linter.RuleEntry<NoSelfAssign>;
/**
* Disallow comparisons where both sides are exactly the same
* @see https://eslint.org/docs/latest/rules/no-self-compare
*/
'no-self-compare'?: Linter.RuleEntry<[]>;
/**
* Disallow comma operators
* @see https://eslint.org/docs/latest/rules/no-sequences
*/
'no-sequences'?: Linter.RuleEntry<NoSequences>;
/**
* Disallow returning values from setters
* @see https://eslint.org/docs/latest/rules/no-setter-return
*/
'no-setter-return'?: Linter.RuleEntry<[]>;
/**
* Disallow variable declarations from shadowing variables declared in the outer scope
* @see https://eslint.org/docs/latest/rules/no-shadow
*/
'no-shadow'?: Linter.RuleEntry<NoShadow>;
/**
* Disallow identifiers from shadowing restricted names
* @see https://eslint.org/docs/latest/rules/no-shadow-restricted-names
*/
'no-shadow-restricted-names'?: Linter.RuleEntry<NoShadowRestrictedNames>;
/**
* Disallow spacing between function identifiers and their applications (deprecated)
* @see https://eslint.org/docs/latest/rules/no-spaced-func
* @deprecated
*/
'no-spaced-func'?: Linter.RuleEntry<[]>;
/**
* Disallow sparse arrays
* @see https://eslint.org/docs/latest/rules/no-sparse-arrays
*/
'no-sparse-arrays'?: Linter.RuleEntry<[]>;
/**
* Disallow synchronous methods
* @see https://eslint.org/docs/latest/rules/no-sync
* @deprecated
*/
'no-sync'?: Linter.RuleEntry<NoSync>;
/**
* Disallow all tabs
* @see https://eslint.org/docs/latest/rules/no-tabs
* @deprecated
*/
'no-tabs'?: Linter.RuleEntry<NoTabs>;
/**
* Disallow template literal placeholder syntax in regular strings
* @see https://eslint.org/docs/latest/rules/no-template-curly-in-string
*/
'no-template-curly-in-string'?: Linter.RuleEntry<[]>;
/**
* Disallow ternary operators
* @see https://eslint.org/docs/latest/rules/no-ternary
*/
'no-ternary'?: Linter.RuleEntry<[]>;
/**
* Disallow `this`/`super` before calling `super()` in constructors
* @see https://eslint.org/docs/latest/rules/no-this-before-super
*/
'no-this-before-super'?: Linter.RuleEntry<[]>;
/**
* Disallow throwing literals as exceptions
* @see https://eslint.org/docs/latest/rules/no-throw-literal
*/
'no-throw-literal'?: Linter.RuleEntry<[]>;
/**
* Disallow trailing whitespace at the end of lines
* @see https://eslint.org/docs/latest/rules/no-trailing-spaces
* @deprecated
*/
'no-trailing-spaces'?: Linter.RuleEntry<NoTrailingSpaces>;
/**
* Disallow `let` or `var` variables that are read but never assigned
* @see https://eslint.org/docs/latest/rules/no-unassigned-vars
*/
'no-unassigned-vars'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of undeclared variables unless mentioned in `/*global *\/` comments
* @see https://eslint.org/docs/latest/rules/no-undef
*/
'no-undef'?: Linter.RuleEntry<NoUndef>;
/**
* Disallow initializing variables to `undefined`
* @see https://eslint.org/docs/latest/rules/no-undef-init
*/
'no-undef-init'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `undefined` as an identifier
* @see https://eslint.org/docs/latest/rules/no-undefined
*/
'no-undefined'?: Linter.RuleEntry<[]>;
/**
* Disallow dangling underscores in identifiers
* @see https://eslint.org/docs/latest/rules/no-underscore-dangle
*/
'no-underscore-dangle'?: Linter.RuleEntry<NoUnderscoreDangle>;
/**
* Disallow confusing multiline expressions
* @see https://eslint.org/docs/latest/rules/no-unexpected-multiline
*/
'no-unexpected-multiline'?: Linter.RuleEntry<[]>;
/**
* Disallow unmodified loop conditions
* @see https://eslint.org/docs/latest/rules/no-unmodified-loop-condition
*/
'no-unmodified-loop-condition'?: Linter.RuleEntry<[]>;
/**
* Disallow ternary operators when simpler alternatives exist
* @see https://eslint.org/docs/latest/rules/no-unneeded-ternary
*/
'no-unneeded-ternary'?: Linter.RuleEntry<NoUnneededTernary>;
/**
* Disallow unreachable code after `return`, `throw`, `continue`, and `break` statements
* @see https://eslint.org/docs/latest/rules/no-unreachable
*/
'no-unreachable'?: Linter.RuleEntry<[]>;
/**
* Disallow loops with a body that allows only one iteration
* @see https://eslint.org/docs/latest/rules/no-unreachable-loop
*/
'no-unreachable-loop'?: Linter.RuleEntry<NoUnreachableLoop>;
/**
* Disallow control flow statements in `finally` blocks
* @see https://eslint.org/docs/latest/rules/no-unsafe-finally
*/
'no-unsafe-finally'?: Linter.RuleEntry<[]>;
/**
* Disallow negating the left operand of relational operators
* @see https://eslint.org/docs/latest/rules/no-unsafe-negation
*/
'no-unsafe-negation'?: Linter.RuleEntry<NoUnsafeNegation>;
/**
* Disallow use of optional chaining in contexts where the `undefined` value is not allowed
* @see https://eslint.org/docs/latest/rules/no-unsafe-optional-chaining
*/
'no-unsafe-optional-chaining'?: Linter.RuleEntry<NoUnsafeOptionalChaining>;
/**
* Disallow unused expressions
* @see https://eslint.org/docs/latest/rules/no-unused-expressions
*/
'no-unused-expressions'?: Linter.RuleEntry<NoUnusedExpressions>;
/**
* Disallow unused labels
* @see https://eslint.org/docs/latest/rules/no-unused-labels
*/
'no-unused-labels'?: Linter.RuleEntry<[]>;
/**
* Disallow unused private class members
* @see https://eslint.org/docs/latest/rules/no-unused-private-class-members
*/
'no-unused-private-class-members'?: Linter.RuleEntry<[]>;
/**
* Disallow unused variables
* @see https://eslint.org/docs/latest/rules/no-unused-vars
*/
'no-unused-vars'?: Linter.RuleEntry<NoUnusedVars>;
/**
* Disallow the use of variables before they are defined
* @see https://eslint.org/docs/latest/rules/no-use-before-define
*/
'no-use-before-define'?: Linter.RuleEntry<NoUseBeforeDefine>;
/**
* Disallow variable assignments when the value is not used
* @see https://eslint.org/docs/latest/rules/no-useless-assignment
*/
'no-useless-assignment'?: Linter.RuleEntry<[]>;
/**
* Disallow useless backreferences in regular expressions
* @see https://eslint.org/docs/latest/rules/no-useless-backreference
*/
'no-useless-backreference'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary calls to `.call()` and `.apply()`
* @see https://eslint.org/docs/latest/rules/no-useless-call
*/
'no-useless-call'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary `catch` clauses
* @see https://eslint.org/docs/latest/rules/no-useless-catch
*/
'no-useless-catch'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary computed property keys in objects and classes
* @see https://eslint.org/docs/latest/rules/no-useless-computed-key
*/
'no-useless-computed-key'?: Linter.RuleEntry<NoUselessComputedKey>;
/**
* Disallow unnecessary concatenation of literals or template literals
* @see https://eslint.org/docs/latest/rules/no-useless-concat
*/
'no-useless-concat'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary constructors
* @see https://eslint.org/docs/latest/rules/no-useless-constructor
*/
'no-useless-constructor'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary escape characters
* @see https://eslint.org/docs/latest/rules/no-useless-escape
*/
'no-useless-escape'?: Linter.RuleEntry<NoUselessEscape>;
/**
* Disallow renaming import, export, and destructured assignments to the same name
* @see https://eslint.org/docs/latest/rules/no-useless-rename
*/
'no-useless-rename'?: Linter.RuleEntry<NoUselessRename>;
/**
* Disallow redundant return statements
* @see https://eslint.org/docs/latest/rules/no-useless-return
*/
'no-useless-return'?: Linter.RuleEntry<[]>;
/**
* Require `let` or `const` instead of `var`
* @see https://eslint.org/docs/latest/rules/no-var
*/
'no-var'?: Linter.RuleEntry<[]>;
/**
* Disallow `void` operators
* @see https://eslint.org/docs/latest/rules/no-void
*/
'no-void'?: Linter.RuleEntry<NoVoid>;
/**
* Disallow specified warning terms in comments
* @see https://eslint.org/docs/latest/rules/no-warning-comments
*/
'no-warning-comments'?: Linter.RuleEntry<NoWarningComments>;
/**
* Disallow whitespace before properties
* @see https://eslint.org/docs/latest/rules/no-whitespace-before-property
* @deprecated
*/
'no-whitespace-before-property'?: Linter.RuleEntry<[]>;
/**
* Disallow `with` statements
* @see https://eslint.org/docs/latest/rules/no-with
*/
'no-with'?: Linter.RuleEntry<[]>;
/**
* Enforce the location of single-line statements
* @see https://eslint.org/docs/latest/rules/nonblock-statement-body-position
* @deprecated
*/
'nonblock-statement-body-position'?: Linter.RuleEntry<NonblockStatementBodyPosition>;
/**
* Enforce consistent line breaks after opening and before closing braces
* @see https://eslint.org/docs/latest/rules/object-curly-newline
* @deprecated
*/
'object-curly-newline'?: Linter.RuleEntry<ObjectCurlyNewline>;
/**
* Enforce consistent spacing inside braces
* @see https://eslint.org/docs/latest/rules/object-curly-spacing
* @deprecated
*/
'object-curly-spacing'?: Linter.RuleEntry<ObjectCurlySpacing>;
/**
* Enforce placing object properties on separate lines
* @see https://eslint.org/docs/latest/rules/object-property-newline
* @deprecated
*/
'object-property-newline'?: Linter.RuleEntry<ObjectPropertyNewline>;
/**
* Require or disallow method and property shorthand syntax for object literals
* @see https://eslint.org/docs/latest/rules/object-shorthand
*/
'object-shorthand'?: Linter.RuleEntry<ObjectShorthand>;
/**
* Enforce variables to be declared either together or separately in functions
* @see https://eslint.org/docs/latest/rules/one-var
*/
'one-var'?: Linter.RuleEntry<OneVar>;
/**
* Require or disallow newlines around variable declarations
* @see https://eslint.org/docs/latest/rules/one-var-declaration-per-line
* @deprecated
*/
'one-var-declaration-per-line'?: Linter.RuleEntry<OneVarDeclarationPerLine>;
/**
* Require or disallow assignment operator shorthand where possible
* @see https://eslint.org/docs/latest/rules/operator-assignment
*/
'operator-assignment'?: Linter.RuleEntry<OperatorAssignment>;
/**
* Enforce consistent linebreak style for operators
* @see https://eslint.org/docs/latest/rules/operator-linebreak
* @deprecated
*/
'operator-linebreak'?: Linter.RuleEntry<OperatorLinebreak>;
/**
* Require or disallow padding within blocks
* @see https://eslint.org/docs/latest/rules/padded-blocks
* @deprecated
*/
'padded-blocks'?: Linter.RuleEntry<PaddedBlocks>;
/**
* Require or disallow padding lines between statements
* @see https://eslint.org/docs/latest/rules/padding-line-between-statements
* @deprecated
*/
'padding-line-between-statements'?: Linter.RuleEntry<PaddingLineBetweenStatements>;
/**
* Enforce sorted arrays before include method.
* @see https://perfectionist.dev/rules/sort-array-includes
*/
'perfectionist/sort-array-includes'?: Linter.RuleEntry<PerfectionistSortArrayIncludes>;
/**
* Enforce sorted arrays.
* @see https://perfectionist.dev/rules/sort-arrays
*/
'perfectionist/sort-arrays'?: Linter.RuleEntry<PerfectionistSortArrays>;
/**
* Enforce sorted classes.
* @see https://perfectionist.dev/rules/sort-classes
*/
'perfectionist/sort-classes'?: Linter.RuleEntry<PerfectionistSortClasses>;
/**
* Enforce sorted decorators.
* @see https://perfectionist.dev/rules/sort-decorators
*/
'perfectionist/sort-decorators'?: Linter.RuleEntry<PerfectionistSortDecorators>;
/**
* Enforce sorted TypeScript enums.
* @see https://perfectionist.dev/rules/sort-enums
*/
'perfectionist/sort-enums'?: Linter.RuleEntry<PerfectionistSortEnums>;
/**
* Enforce sorted export attributes.
* @see https://perfectionist.dev/rules/sort-export-attributes
*/
'perfectionist/sort-export-attributes'?: Linter.RuleEntry<PerfectionistSortExportAttributes>;
/**
* Enforce sorted exports.
* @see https://perfectionist.dev/rules/sort-exports
*/
'perfectionist/sort-exports'?: Linter.RuleEntry<PerfectionistSortExports>;
/**
* Enforce sorted heritage clauses.
* @see https://perfectionist.dev/rules/sort-heritage-clauses
*/
'perfectionist/sort-heritage-clauses'?: Linter.RuleEntry<PerfectionistSortHeritageClauses>;
/**
* Enforce sorted import attributes.
* @see https://perfectionist.dev/rules/sort-import-attributes
*/
'perfectionist/sort-import-attributes'?: Linter.RuleEntry<PerfectionistSortImportAttributes>;
/**
* Enforce sorted imports.
* @see https://perfectionist.dev/rules/sort-imports
*/
'perfectionist/sort-imports'?: Linter.RuleEntry<PerfectionistSortImports>;
/**
* Enforce sorted interface properties.
* @see https://perfectionist.dev/rules/sort-interfaces
*/
'perfectionist/sort-interfaces'?: Linter.RuleEntry<PerfectionistSortInterfaces>;
/**
* Enforce sorted intersection types.
* @see https://perfectionist.dev/rules/sort-intersection-types
*/
'perfectionist/sort-intersection-types'?: Linter.RuleEntry<PerfectionistSortIntersectionTypes>;
/**
* Enforce sorted JSX props.
* @see https://perfectionist.dev/rules/sort-jsx-props
*/
'perfectionist/sort-jsx-props'?: Linter.RuleEntry<PerfectionistSortJsxProps>;
/**
* Enforce sorted Map elements.
* @see https://perfectionist.dev/rules/sort-maps
*/
'perfectionist/sort-maps'?: Linter.RuleEntry<PerfectionistSortMaps>;
/**
* Enforce sorted modules.
* @see https://perfectionist.dev/rules/sort-modules
*/
'perfectionist/sort-modules'?: Linter.RuleEntry<PerfectionistSortModules>;
/**
* Enforce sorted named exports.
* @see https://perfectionist.dev/rules/sort-named-exports
*/
'perfectionist/sort-named-exports'?: Linter.RuleEntry<PerfectionistSortNamedExports>;
/**
* Enforce sorted named imports.
* @see https://perfectionist.dev/rules/sort-named-imports
*/
'perfectionist/sort-named-imports'?: Linter.RuleEntry<PerfectionistSortNamedImports>;
/**
* Enforce sorted object types.
* @see https://perfectionist.dev/rules/sort-object-types
*/
'perfectionist/sort-object-types'?: Linter.RuleEntry<PerfectionistSortObjectTypes>;
/**
* Enforce sorted objects.
* @see https://perfectionist.dev/rules/sort-objects
*/
'perfectionist/sort-objects'?: Linter.RuleEntry<PerfectionistSortObjects>;
/**
* Enforce sorted sets.
* @see https://perfectionist.dev/rules/sort-sets
*/
'perfectionist/sort-sets'?: Linter.RuleEntry<PerfectionistSortSets>;
/**
* Enforce sorted switch cases.
* @see https://perfectionist.dev/rules/sort-switch-case
*/
'perfectionist/sort-switch-case'?: Linter.RuleEntry<PerfectionistSortSwitchCase>;
/**
* Enforce sorted union types.
* @see https://perfectionist.dev/rules/sort-union-types
*/
'perfectionist/sort-union-types'?: Linter.RuleEntry<PerfectionistSortUnionTypes>;
/**
* Enforce sorted variable declarations.
* @see https://perfectionist.dev/rules/sort-variable-declarations
*/
'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>;
/**
* Enforce using "catalog:" in `package.json`
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-enforce-catalog.test.ts
*/
'pnpm/json-enforce-catalog'?: Linter.RuleEntry<PnpmJsonEnforceCatalog>;
/**
* Prefer having pnpm settings in `pnpm-workspace.yaml` instead of `package.json`. This requires pnpm v10.6+, see https://github.com/orgs/pnpm/discussions/9037.
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-prefer-workspace-settings.test.ts
*/
'pnpm/json-prefer-workspace-settings'?: Linter.RuleEntry<PnpmJsonPreferWorkspaceSettings>;
/**
* Enforce using valid catalog in `package.json`
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-valid-catalog.test.ts
*/
'pnpm/json-valid-catalog'?: Linter.RuleEntry<PnpmJsonValidCatalog>;
/**
* Enforce settings in `pnpm-workspace.yaml`
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-enforce-settings.test.ts
*/
'pnpm/yaml-enforce-settings'?: Linter.RuleEntry<PnpmYamlEnforceSettings>;
/**
* Disallow duplicate catalog items in `pnpm-workspace.yaml`
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-duplicate-catalog-item.test.ts
*/
'pnpm/yaml-no-duplicate-catalog-item'?: Linter.RuleEntry<PnpmYamlNoDuplicateCatalogItem>;
/**
* Disallow unused catalogs in `pnpm-workspace.yaml`
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-unused-catalog-item.test.ts
*/
'pnpm/yaml-no-unused-catalog-item'?: Linter.RuleEntry<[]>;
/**
* Ensure all package patterns in `pnpm-workspace.yaml` match at least one directory
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-valid-packages.test.ts
*/
'pnpm/yaml-valid-packages'?: Linter.RuleEntry<[]>;
/**
* Require using arrow functions for callbacks
* @see https://eslint.org/docs/latest/rules/prefer-arrow-callback
*/
'prefer-arrow-callback'?: Linter.RuleEntry<PreferArrowCallback>;
/**
* Require `const` declarations for variables that are never reassigned after declared
* @see https://eslint.org/docs/latest/rules/prefer-const
*/
'prefer-const'?: Linter.RuleEntry<PreferConst>;
/**
* Require destructuring from arrays and/or objects
* @see https://eslint.org/docs/latest/rules/prefer-destructuring
*/
'prefer-destructuring'?: Linter.RuleEntry<PreferDestructuring>;
/**
* Disallow the use of `Math.pow` in favor of the `**` operator
* @see https://eslint.org/docs/latest/rules/prefer-exponentiation-operator
*/
'prefer-exponentiation-operator'?: Linter.RuleEntry<[]>;
/**
* Enforce using named capture group in regular expression
* @see https://eslint.org/docs/latest/rules/prefer-named-capture-group
*/
'prefer-named-capture-group'?: Linter.RuleEntry<[]>;
/**
* Disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals
* @see https://eslint.org/docs/latest/rules/prefer-numeric-literals
*/
'prefer-numeric-literals'?: Linter.RuleEntry<[]>;
/**
* Disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`
* @see https://eslint.org/docs/latest/rules/prefer-object-has-own
*/
'prefer-object-has-own'?: Linter.RuleEntry<[]>;
/**
* Disallow using `Object.assign` with an object literal as the first argument and prefer the use of object spread instead
* @see https://eslint.org/docs/latest/rules/prefer-object-spread
*/
'prefer-object-spread'?: Linter.RuleEntry<[]>;
/**
* Require using Error objects as Promise rejection reasons
* @see https://eslint.org/docs/latest/rules/prefer-promise-reject-errors
*/
'prefer-promise-reject-errors'?: Linter.RuleEntry<PreferPromiseRejectErrors>;
/**
* Require `Reflect` methods where applicable
* @see https://eslint.org/docs/latest/rules/prefer-reflect
* @deprecated
*/
'prefer-reflect'?: Linter.RuleEntry<PreferReflect>;
/**
* Disallow use of the `RegExp` constructor in favor of regular expression literals
* @see https://eslint.org/docs/latest/rules/prefer-regex-literals
*/
'prefer-regex-literals'?: Linter.RuleEntry<PreferRegexLiterals>;
/**
* Require rest parameters instead of `arguments`
* @see https://eslint.org/docs/latest/rules/prefer-rest-params
*/
'prefer-rest-params'?: Linter.RuleEntry<[]>;
/**
* Require spread operators instead of `.apply()`
* @see https://eslint.org/docs/latest/rules/prefer-spread
*/
'prefer-spread'?: Linter.RuleEntry<[]>;
/**
* Require template literals instead of string concatenation
* @see https://eslint.org/docs/latest/rules/prefer-template
*/
'prefer-template'?: Linter.RuleEntry<[]>;
/**
* Disallow losing originally caught error when re-throwing custom errors
* @see https://eslint.org/docs/latest/rules/preserve-caught-error
*/
'preserve-caught-error'?: Linter.RuleEntry<PreserveCaughtError>;
/**
* Require quotes around object literal property names
* @see https://eslint.org/docs/latest/rules/quote-props
* @deprecated
*/
'quote-props'?: Linter.RuleEntry<QuoteProps>;
/**
* Enforce the consistent use of either backticks, double, or single quotes
* @see https://eslint.org/docs/latest/rules/quotes
* @deprecated
*/
'quotes'?: Linter.RuleEntry<Quotes>;
/**
* Enforce the use of the radix argument when using `parseInt()`
* @see https://eslint.org/docs/latest/rules/radix
*/
'radix'?: Linter.RuleEntry<Radix>;
/**
* Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
* @see https://eslint.org/docs/latest/rules/require-atomic-updates
*/
'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>;
/**
* Disallow async functions which have no `await` expression
* @see https://eslint.org/docs/latest/rules/require-await
*/
'require-await'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of `u` or `v` flag on regular expressions
* @see https://eslint.org/docs/latest/rules/require-unicode-regexp
*/
'require-unicode-regexp'?: Linter.RuleEntry<RequireUnicodeRegexp>;
/**
* Require generator functions to contain `yield`
* @see https://eslint.org/docs/latest/rules/require-yield
*/
'require-yield'?: Linter.RuleEntry<[]>;
/**
* Enforce spacing between rest and spread operators and their expressions
* @see https://eslint.org/docs/latest/rules/rest-spread-spacing
* @deprecated
*/
'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>;
/**
* Require or disallow semicolons instead of ASI
* @see https://eslint.org/docs/latest/rules/semi
* @deprecated
*/
'semi'?: Linter.RuleEntry<Semi>;
/**
* Enforce consistent spacing before and after semicolons
* @see https://eslint.org/docs/latest/rules/semi-spacing
* @deprecated
*/
'semi-spacing'?: Linter.RuleEntry<SemiSpacing>;
/**
* Enforce location of semicolons
* @see https://eslint.org/docs/latest/rules/semi-style
* @deprecated
*/
'semi-style'?: Linter.RuleEntry<SemiStyle>;
/**
* Enforce sorted `import` declarations within modules
* @see https://eslint.org/docs/latest/rules/sort-imports
*/
'sort-imports'?: Linter.RuleEntry<SortImports>;
/**
* Require object keys to be sorted
* @see https://eslint.org/docs/latest/rules/sort-keys
*/
'sort-keys'?: Linter.RuleEntry<SortKeys>;
/**
* Require variables within the same declaration block to be sorted
* @see https://eslint.org/docs/latest/rules/sort-vars
*/
'sort-vars'?: Linter.RuleEntry<SortVars>;
/**
* Enforce consistent spacing before blocks
* @see https://eslint.org/docs/latest/rules/space-before-blocks
* @deprecated
*/
'space-before-blocks'?: Linter.RuleEntry<SpaceBeforeBlocks>;
/**
* Enforce consistent spacing before `function` definition opening parenthesis
* @see https://eslint.org/docs/latest/rules/space-before-function-paren
* @deprecated
*/
'space-before-function-paren'?: Linter.RuleEntry<SpaceBeforeFunctionParen>;
/**
* Enforce consistent spacing inside parentheses
* @see https://eslint.org/docs/latest/rules/space-in-parens
* @deprecated
*/
'space-in-parens'?: Linter.RuleEntry<SpaceInParens>;
/**
* Require spacing around infix operators
* @see https://eslint.org/docs/latest/rules/space-infix-ops
* @deprecated
*/
'space-infix-ops'?: Linter.RuleEntry<SpaceInfixOps>;
/**
* Enforce consistent spacing before or after unary operators
* @see https://eslint.org/docs/latest/rules/space-unary-ops
* @deprecated
*/
'space-unary-ops'?: Linter.RuleEntry<SpaceUnaryOps>;
/**
* Enforce consistent spacing after the `//` or `/*` in a comment
* @see https://eslint.org/docs/latest/rules/spaced-comment
* @deprecated
*/
'spaced-comment'?: Linter.RuleEntry<SpacedComment>;
/**
* Require or disallow strict mode directives
* @see https://eslint.org/docs/latest/rules/strict
*/
'strict'?: Linter.RuleEntry<Strict>;
/**
* Enforce spacing around colons of switch statements
* @see https://eslint.org/docs/latest/rules/switch-colon-spacing
* @deprecated
*/
'switch-colon-spacing'?: Linter.RuleEntry<SwitchColonSpacing>;
/**
* Require symbol descriptions
* @see https://eslint.org/docs/latest/rules/symbol-description
*/
'symbol-description'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing around embedded expressions of template strings
* @see https://eslint.org/docs/latest/rules/template-curly-spacing
* @deprecated
*/
'template-curly-spacing'?: Linter.RuleEntry<TemplateCurlySpacing>;
/**
* Require or disallow spacing between template tags and their literals
* @see https://eslint.org/docs/latest/rules/template-tag-spacing
* @deprecated
*/
'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>;
/**
* Require or disallow Unicode byte order mark (BOM)
* @see https://eslint.org/docs/latest/rules/unicode-bom
*/
'unicode-bom'?: Linter.RuleEntry<UnicodeBom>;
/**
* Improve regexes by making them shorter, consistent, and safer.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/better-regex.md
*/
'unicorn/better-regex'?: Linter.RuleEntry<UnicornBetterRegex>;
/**
* Enforce a specific parameter name in catch clauses.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/catch-error-name.md
*/
'unicorn/catch-error-name'?: Linter.RuleEntry<UnicornCatchErrorName>;
/**
* Enforce consistent assertion style with `node:assert`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-assert.md
*/
'unicorn/consistent-assert'?: Linter.RuleEntry<[]>;
/**
* Prefer passing `Date` directly to the constructor when cloning.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-date-clone.md
*/
'unicorn/consistent-date-clone'?: Linter.RuleEntry<[]>;
/**
* Use destructured variables over properties.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-destructuring.md
*/
'unicorn/consistent-destructuring'?: Linter.RuleEntry<[]>;
/**
* Prefer consistent types when spreading a ternary in an array literal.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-empty-array-spread.md
*/
'unicorn/consistent-empty-array-spread'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-existence-index-check.md
*/
'unicorn/consistent-existence-index-check'?: Linter.RuleEntry<[]>;
/**
* Move function definitions to the highest possible scope.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-function-scoping.md
*/
'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
/**
* Enforce consistent style for escaping `${` in template literals.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/consistent-template-literal-escape.md
*/
'unicorn/consistent-template-literal-escape'?: Linter.RuleEntry<[]>;
/**
* Enforce correct `Error` subclassing.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/custom-error-definition.md
*/
'unicorn/custom-error-definition'?: Linter.RuleEntry<[]>;
/**
* Enforce no spaces between braces.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/empty-brace-spaces.md
*/
'unicorn/empty-brace-spaces'?: Linter.RuleEntry<[]>;
/**
* Enforce passing a `message` value when creating a built-in error.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/error-message.md
*/
'unicorn/error-message'?: Linter.RuleEntry<[]>;
/**
* Require escape sequences to use uppercase or lowercase values.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/escape-case.md
*/
'unicorn/escape-case'?: Linter.RuleEntry<UnicornEscapeCase>;
/**
* Add expiration conditions to TODO comments.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/expiring-todo-comments.md
*/
'unicorn/expiring-todo-comments'?: Linter.RuleEntry<UnicornExpiringTodoComments>;
/**
* Enforce explicitly comparing the `length` or `size` property of a value.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/explicit-length-check.md
*/
'unicorn/explicit-length-check'?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
/**
* Enforce a case style for filenames.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/filename-case.md
*/
'unicorn/filename-case'?: Linter.RuleEntry<UnicornFilenameCase>;
/**
* Enforce specific import styles per module.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/import-style.md
*/
'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
/**
* Prevent usage of variables from outside the scope of isolated functions.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/isolated-functions.md
*/
'unicorn/isolated-functions'?: Linter.RuleEntry<UnicornIsolatedFunctions>;
/**
* Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/new-for-builtins.md
*/
'unicorn/new-for-builtins'?: Linter.RuleEntry<[]>;
/**
* Enforce specifying rules to disable in `eslint-disable` comments.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-abusive-eslint-disable.md
*/
'unicorn/no-abusive-eslint-disable'?: Linter.RuleEntry<[]>;
/**
* Disallow recursive access to `this` within getters and setters.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-accessor-recursion.md
*/
'unicorn/no-accessor-recursion'?: Linter.RuleEntry<[]>;
/**
* Disallow anonymous functions and classes as the default export.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-anonymous-default-export.md
*/
'unicorn/no-anonymous-default-export'?: Linter.RuleEntry<[]>;
/**
* Prevent passing a function reference directly to iterator methods.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-callback-reference.md
*/
'unicorn/no-array-callback-reference'?: Linter.RuleEntry<[]>;
/**
* Prefer `for…of` over the `forEach` method.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-for-each.md
*/
'unicorn/no-array-for-each'?: Linter.RuleEntry<[]>;
/**
* Disallow using the `this` argument in array methods.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-method-this-argument.md
*/
'unicorn/no-array-method-this-argument'?: Linter.RuleEntry<[]>;
/**
* Replaced by `unicorn/prefer-single-call` which covers more cases.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-array-push-push
* @deprecated
*/
'unicorn/no-array-push-push'?: Linter.RuleEntry<[]>;
/**
* Disallow `Array#reduce()` and `Array#reduceRight()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reduce.md
*/
'unicorn/no-array-reduce'?: Linter.RuleEntry<UnicornNoArrayReduce>;
/**
* Prefer `Array#toReversed()` over `Array#reverse()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-reverse.md
*/
'unicorn/no-array-reverse'?: Linter.RuleEntry<UnicornNoArrayReverse>;
/**
* Prefer `Array#toSorted()` over `Array#sort()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-array-sort.md
*/
'unicorn/no-array-sort'?: Linter.RuleEntry<UnicornNoArraySort>;
/**
* Disallow member access from await expression.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-expression-member.md
*/
'unicorn/no-await-expression-member'?: Linter.RuleEntry<[]>;
/**
* Disallow using `await` in `Promise` method parameters.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-await-in-promise-methods.md
*/
'unicorn/no-await-in-promise-methods'?: Linter.RuleEntry<[]>;
/**
* Do not use leading/trailing space between `console.log` parameters.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-console-spaces.md
*/
'unicorn/no-console-spaces'?: Linter.RuleEntry<[]>;
/**
* Do not use `document.cookie` directly.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-document-cookie.md
*/
'unicorn/no-document-cookie'?: Linter.RuleEntry<[]>;
/**
* Disallow empty files.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-empty-file.md
*/
'unicorn/no-empty-file'?: Linter.RuleEntry<[]>;
/**
* Do not use a `for` loop that can be replaced with a `for-of` loop.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-for-loop.md
*/
'unicorn/no-for-loop'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of Unicode escapes instead of hexadecimal escapes.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-hex-escape.md
*/
'unicorn/no-hex-escape'?: Linter.RuleEntry<[]>;
/**
* Disallow immediate mutation after variable assignment.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-immediate-mutation.md
*/
'unicorn/no-immediate-mutation'?: Linter.RuleEntry<[]>;
/**
* Replaced by `unicorn/no-instanceof-builtins` which covers more cases.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-instanceof-array
* @deprecated
*/
'unicorn/no-instanceof-array'?: Linter.RuleEntry<[]>;
/**
* Disallow `instanceof` with built-in objects
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-instanceof-builtins.md
*/
'unicorn/no-instanceof-builtins'?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
/**
* Disallow invalid options in `fetch()` and `new Request()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-fetch-options.md
*/
'unicorn/no-invalid-fetch-options'?: Linter.RuleEntry<[]>;
/**
* Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-invalid-remove-event-listener.md
*/
'unicorn/no-invalid-remove-event-listener'?: Linter.RuleEntry<[]>;
/**
* Disallow identifiers starting with `new` or `class`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-keyword-prefix.md
*/
'unicorn/no-keyword-prefix'?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
/**
* Replaced by `unicorn/no-unnecessary-slice-end` which covers more cases.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/deleted-and-deprecated-rules.md#no-length-as-slice-end
* @deprecated
*/
'unicorn/no-length-as-slice-end'?: Linter.RuleEntry<[]>;
/**
* Disallow `if` statements as the only statement in `if` blocks without `else`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-lonely-if.md
*/
'unicorn/no-lonely-if'?: Linter.RuleEntry<[]>;
/**
* Disallow a magic number as the `depth` argument in `Array#flat(…).`
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-magic-array-flat-depth.md
*/
'unicorn/no-magic-array-flat-depth'?: Linter.RuleEntry<[]>;
/**
* Disallow named usage of default import and export.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-named-default.md
*/
'unicorn/no-named-default'?: Linter.RuleEntry<[]>;
/**
* Disallow negated conditions.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negated-condition.md
*/
'unicorn/no-negated-condition'?: Linter.RuleEntry<[]>;
/**
* Disallow negated expression in equality check.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-negation-in-equality-check.md
*/
'unicorn/no-negation-in-equality-check'?: Linter.RuleEntry<[]>;
/**
* Disallow nested ternary expressions.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-nested-ternary.md
*/
'unicorn/no-nested-ternary'?: Linter.RuleEntry<[]>;
/**
* Disallow `new Array()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-array.md
*/
'unicorn/no-new-array'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-new-buffer.md
*/
'unicorn/no-new-buffer'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of the `null` literal.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-null.md
*/
'unicorn/no-null'?: Linter.RuleEntry<UnicornNoNull>;
/**
* Disallow the use of objects as default parameters.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-object-as-default-parameter.md
*/
'unicorn/no-object-as-default-parameter'?: Linter.RuleEntry<[]>;
/**
* Disallow `process.exit()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-process-exit.md
*/
'unicorn/no-process-exit'?: Linter.RuleEntry<[]>;
/**
* Disallow passing single-element arrays to `Promise` methods.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-single-promise-in-promise-methods.md
*/
'unicorn/no-single-promise-in-promise-methods'?: Linter.RuleEntry<[]>;
/**
* Disallow classes that only have static members.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-static-only-class.md
*/
'unicorn/no-static-only-class'?: Linter.RuleEntry<[]>;
/**
* Disallow `then` property.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-thenable.md
*/
'unicorn/no-thenable'?: Linter.RuleEntry<[]>;
/**
* Disallow assigning `this` to a variable.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-this-assignment.md
*/
'unicorn/no-this-assignment'?: Linter.RuleEntry<[]>;
/**
* Disallow comparing `undefined` using `typeof`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-typeof-undefined.md
*/
'unicorn/no-typeof-undefined'?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
/**
* Disallow using `1` as the `depth` argument of `Array#flat()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-flat-depth.md
*/
'unicorn/no-unnecessary-array-flat-depth'?: Linter.RuleEntry<[]>;
/**
* Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-array-splice-count.md
*/
'unicorn/no-unnecessary-array-splice-count'?: Linter.RuleEntry<[]>;
/**
* Disallow awaiting non-promise values.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-await.md
*/
'unicorn/no-unnecessary-await'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of built-in methods instead of unnecessary polyfills.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-polyfills.md
*/
'unicorn/no-unnecessary-polyfills'?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
/**
* Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unnecessary-slice-end.md
*/
'unicorn/no-unnecessary-slice-end'?: Linter.RuleEntry<[]>;
/**
* Disallow unreadable array destructuring.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-array-destructuring.md
*/
'unicorn/no-unreadable-array-destructuring'?: Linter.RuleEntry<[]>;
/**
* Disallow unreadable IIFEs.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unreadable-iife.md
*/
'unicorn/no-unreadable-iife'?: Linter.RuleEntry<[]>;
/**
* Disallow unused object properties.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-unused-properties.md
*/
'unicorn/no-unused-properties'?: Linter.RuleEntry<[]>;
/**
* Disallow useless values or fallbacks in `Set`, `Map`, `WeakSet`, or `WeakMap`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-collection-argument.md
*/
'unicorn/no-useless-collection-argument'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary `Error.captureStackTrace(…)`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-error-capture-stack-trace.md
*/
'unicorn/no-useless-error-capture-stack-trace'?: Linter.RuleEntry<[]>;
/**
* Disallow useless fallback when spreading in object literals.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-fallback-in-spread.md
*/
'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary `.toArray()` on iterators.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-iterator-to-array.md
*/
'unicorn/no-useless-iterator-to-array'?: Linter.RuleEntry<[]>;
/**
* Disallow useless array length check.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-length-check.md
*/
'unicorn/no-useless-length-check'?: Linter.RuleEntry<[]>;
/**
* Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-promise-resolve-reject.md
*/
'unicorn/no-useless-promise-resolve-reject'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary spread.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-spread.md
*/
'unicorn/no-useless-spread'?: Linter.RuleEntry<[]>;
/**
* Disallow useless case in switch statements.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-switch-case.md
*/
'unicorn/no-useless-switch-case'?: Linter.RuleEntry<[]>;
/**
* Disallow useless `undefined`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-useless-undefined.md
*/
'unicorn/no-useless-undefined'?: Linter.RuleEntry<UnicornNoUselessUndefined>;
/**
* Disallow number literals with zero fractions or dangling dots.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/no-zero-fractions.md
*/
'unicorn/no-zero-fractions'?: Linter.RuleEntry<[]>;
/**
* Enforce proper case for numeric literals.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/number-literal-case.md
*/
'unicorn/number-literal-case'?: Linter.RuleEntry<UnicornNumberLiteralCase>;
/**
* Enforce the style of numeric separators by correctly grouping digits.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/numeric-separators-style.md
*/
'unicorn/numeric-separators-style'?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
/**
* Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-add-event-listener.md
*/
'unicorn/prefer-add-event-listener'?: Linter.RuleEntry<UnicornPreferAddEventListener>;
/**
* Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-find.md
*/
'unicorn/prefer-array-find'?: Linter.RuleEntry<UnicornPreferArrayFind>;
/**
* Prefer `Array#flat()` over legacy techniques to flatten arrays.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat.md
*/
'unicorn/prefer-array-flat'?: Linter.RuleEntry<UnicornPreferArrayFlat>;
/**
* Prefer `.flatMap(…)` over `.map(…).flat()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-flat-map.md
*/
'unicorn/prefer-array-flat-map'?: Linter.RuleEntry<[]>;
/**
* Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-index-of.md
*/
'unicorn/prefer-array-index-of'?: Linter.RuleEntry<[]>;
/**
* Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-array-some.md
*/
'unicorn/prefer-array-some'?: Linter.RuleEntry<[]>;
/**
* Prefer `.at()` method for index access and `String#charAt()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-at.md
*/
'unicorn/prefer-at'?: Linter.RuleEntry<UnicornPreferAt>;
/**
* Prefer `BigInt` literals over the constructor.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-bigint-literals.md
*/
'unicorn/prefer-bigint-literals'?: Linter.RuleEntry<[]>;
/**
* Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-blob-reading-methods.md
*/
'unicorn/prefer-blob-reading-methods'?: Linter.RuleEntry<[]>;
/**
* Prefer class field declarations over `this` assignments in constructors.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-class-fields.md
*/
'unicorn/prefer-class-fields'?: Linter.RuleEntry<[]>;
/**
* Prefer using `Element#classList.toggle()` to toggle class names.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-classlist-toggle.md
*/
'unicorn/prefer-classlist-toggle'?: Linter.RuleEntry<[]>;
/**
* Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-code-point.md
*/
'unicorn/prefer-code-point'?: Linter.RuleEntry<[]>;
/**
* Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-date-now.md
*/
'unicorn/prefer-date-now'?: Linter.RuleEntry<[]>;
/**
* Prefer default parameters over reassignment.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-default-parameters.md
*/
'unicorn/prefer-default-parameters'?: Linter.RuleEntry<[]>;
/**
* Prefer `Node#append()` over `Node#appendChild()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-append.md
*/
'unicorn/prefer-dom-node-append'?: Linter.RuleEntry<[]>;
/**
* Prefer using `.dataset` on DOM elements over calling attribute methods.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-dataset.md
*/
'unicorn/prefer-dom-node-dataset'?: Linter.RuleEntry<[]>;
/**
* Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-remove.md
*/
'unicorn/prefer-dom-node-remove'?: Linter.RuleEntry<[]>;
/**
* Prefer `.textContent` over `.innerText`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-dom-node-text-content.md
*/
'unicorn/prefer-dom-node-text-content'?: Linter.RuleEntry<[]>;
/**
* Prefer `EventTarget` over `EventEmitter`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-event-target.md
*/
'unicorn/prefer-event-target'?: Linter.RuleEntry<[]>;
/**
* Prefer `export…from` when re-exporting.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-export-from.md
*/
'unicorn/prefer-export-from'?: Linter.RuleEntry<UnicornPreferExportFrom>;
/**
* Prefer `globalThis` over `window`, `self`, and `global`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-global-this.md
*/
'unicorn/prefer-global-this'?: Linter.RuleEntry<[]>;
/**
* Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-import-meta-properties.md
*/
'unicorn/prefer-import-meta-properties'?: Linter.RuleEntry<[]>;
/**
* Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-includes.md
*/
'unicorn/prefer-includes'?: Linter.RuleEntry<[]>;
/**
* Prefer reading a JSON file as a buffer.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-json-parse-buffer.md
*/
'unicorn/prefer-json-parse-buffer'?: Linter.RuleEntry<[]>;
/**
* Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-keyboard-event-key.md
*/
'unicorn/prefer-keyboard-event-key'?: Linter.RuleEntry<[]>;
/**
* Prefer using a logical operator over a ternary.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-logical-operator-over-ternary.md
*/
'unicorn/prefer-logical-operator-over-ternary'?: Linter.RuleEntry<[]>;
/**
* Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-min-max.md
*/
'unicorn/prefer-math-min-max'?: Linter.RuleEntry<[]>;
/**
* Enforce the use of `Math.trunc` instead of bitwise operators.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-math-trunc.md
*/
'unicorn/prefer-math-trunc'?: Linter.RuleEntry<[]>;
/**
* Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-dom-apis.md
*/
'unicorn/prefer-modern-dom-apis'?: Linter.RuleEntry<[]>;
/**
* Prefer modern `Math` APIs over legacy patterns.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-modern-math-apis.md
*/
'unicorn/prefer-modern-math-apis'?: Linter.RuleEntry<[]>;
/**
* Prefer JavaScript modules (ESM) over CommonJS.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-module.md
*/
'unicorn/prefer-module'?: Linter.RuleEntry<[]>;
/**
* Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-native-coercion-functions.md
*/
'unicorn/prefer-native-coercion-functions'?: Linter.RuleEntry<[]>;
/**
* Prefer negative index over `.length - index` when possible.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-negative-index.md
*/
'unicorn/prefer-negative-index'?: Linter.RuleEntry<[]>;
/**
* Prefer using the `node:` protocol when importing Node.js builtin modules.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-node-protocol.md
*/
'unicorn/prefer-node-protocol'?: Linter.RuleEntry<[]>;
/**
* Prefer `Number` static properties over global ones.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-number-properties.md
*/
'unicorn/prefer-number-properties'?: Linter.RuleEntry<UnicornPreferNumberProperties>;
/**
* Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-object-from-entries.md
*/
'unicorn/prefer-object-from-entries'?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
/**
* Prefer omitting the `catch` binding parameter.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-optional-catch-binding.md
*/
'unicorn/prefer-optional-catch-binding'?: Linter.RuleEntry<[]>;
/**
* Prefer borrowing methods from the prototype instead of the instance.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-prototype-methods.md
*/
'unicorn/prefer-prototype-methods'?: Linter.RuleEntry<[]>;
/**
* Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-query-selector.md
*/
'unicorn/prefer-query-selector'?: Linter.RuleEntry<[]>;
/**
* Prefer `Reflect.apply()` over `Function#apply()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-reflect-apply.md
*/
'unicorn/prefer-reflect-apply'?: Linter.RuleEntry<[]>;
/**
* Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-regexp-test.md
*/
'unicorn/prefer-regexp-test'?: Linter.RuleEntry<[]>;
/**
* Prefer `Response.json()` over `new Response(JSON.stringify())`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-response-static-json.md
*/
'unicorn/prefer-response-static-json'?: Linter.RuleEntry<[]>;
/**
* Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-has.md
*/
'unicorn/prefer-set-has'?: Linter.RuleEntry<[]>;
/**
* Prefer using `Set#size` instead of `Array#length`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-set-size.md
*/
'unicorn/prefer-set-size'?: Linter.RuleEntry<[]>;
/**
* Prefer simple conditions first in logical expressions.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-simple-condition-first.md
*/
'unicorn/prefer-simple-condition-first'?: Linter.RuleEntry<[]>;
/**
* Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-single-call.md
*/
'unicorn/prefer-single-call'?: Linter.RuleEntry<UnicornPreferSingleCall>;
/**
* Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-spread.md
*/
'unicorn/prefer-spread'?: Linter.RuleEntry<[]>;
/**
* Prefer using the `String.raw` tag to avoid escaping `\`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-raw.md
*/
'unicorn/prefer-string-raw'?: Linter.RuleEntry<[]>;
/**
* Prefer `String#replaceAll()` over regex searches with the global flag.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-replace-all.md
*/
'unicorn/prefer-string-replace-all'?: Linter.RuleEntry<[]>;
/**
* Prefer `String#slice()` over `String#substr()` and `String#substring()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-slice.md
*/
'unicorn/prefer-string-slice'?: Linter.RuleEntry<[]>;
/**
* Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-starts-ends-with.md
*/
'unicorn/prefer-string-starts-ends-with'?: Linter.RuleEntry<[]>;
/**
* Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-string-trim-start-end.md
*/
'unicorn/prefer-string-trim-start-end'?: Linter.RuleEntry<[]>;
/**
* Prefer using `structuredClone` to create a deep clone.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-structured-clone.md
*/
'unicorn/prefer-structured-clone'?: Linter.RuleEntry<UnicornPreferStructuredClone>;
/**
* Prefer `switch` over multiple `else-if`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-switch.md
*/
'unicorn/prefer-switch'?: Linter.RuleEntry<UnicornPreferSwitch>;
/**
* Prefer ternary expressions over simple `if-else` statements.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-ternary.md
*/
'unicorn/prefer-ternary'?: Linter.RuleEntry<UnicornPreferTernary>;
/**
* Prefer top-level await over top-level promises and async function calls.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-top-level-await.md
*/
'unicorn/prefer-top-level-await'?: Linter.RuleEntry<[]>;
/**
* Enforce throwing `TypeError` in type checking conditions.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prefer-type-error.md
*/
'unicorn/prefer-type-error'?: Linter.RuleEntry<[]>;
/**
* Prevent abbreviations.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/prevent-abbreviations.md
*/
'unicorn/prevent-abbreviations'?: Linter.RuleEntry<UnicornPreventAbbreviations>;
/**
* Enforce consistent relative URL style.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/relative-url-style.md
*/
'unicorn/relative-url-style'?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
/**
* Enforce using the separator argument with `Array#join()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-array-join-separator.md
*/
'unicorn/require-array-join-separator'?: Linter.RuleEntry<[]>;
/**
* Require non-empty module attributes for imports and exports
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-attributes.md
*/
'unicorn/require-module-attributes'?: Linter.RuleEntry<[]>;
/**
* Require non-empty specifier list in import and export statements.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-module-specifiers.md
*/
'unicorn/require-module-specifiers'?: Linter.RuleEntry<[]>;
/**
* Enforce using the digits argument with `Number#toFixed()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-number-to-fixed-digits-argument.md
*/
'unicorn/require-number-to-fixed-digits-argument'?: Linter.RuleEntry<[]>;
/**
* Enforce using the `targetOrigin` argument with `window.postMessage()`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/require-post-message-target-origin.md
*/
'unicorn/require-post-message-target-origin'?: Linter.RuleEntry<[]>;
/**
* Enforce better string content.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/string-content.md
*/
'unicorn/string-content'?: Linter.RuleEntry<UnicornStringContent>;
/**
* Enforce consistent brace style for `case` clauses.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-braces.md
*/
'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
/**
* Enforce consistent `break`/`return`/`continue`/`throw` position in `case` clauses.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/switch-case-break-position.md
*/
'unicorn/switch-case-break-position'?: Linter.RuleEntry<[]>;
/**
* Fix whitespace-insensitive template indentation.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/template-indent.md
*/
'unicorn/template-indent'?: Linter.RuleEntry<UnicornTemplateIndent>;
/**
* Enforce consistent case for text encoding identifiers.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/text-encoding-identifier-case.md
*/
'unicorn/text-encoding-identifier-case'?: Linter.RuleEntry<UnicornTextEncodingIdentifierCase>;
/**
* Require `new` when creating an error.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v64.0.0/docs/rules/throw-new-error.md
*/
'unicorn/throw-new-error'?: Linter.RuleEntry<[]>;
/**
* Require calls to `isNaN()` when checking for `NaN`
* @see https://eslint.org/docs/latest/rules/use-isnan
*/
'use-isnan'?: Linter.RuleEntry<UseIsnan>;
/**
* Enforce comparing `typeof` expressions against valid strings
* @see https://eslint.org/docs/latest/rules/valid-typeof
*/
'valid-typeof'?: Linter.RuleEntry<ValidTypeof>;
/**
* Require `var` declarations be placed at the top of their containing scope
* @see https://eslint.org/docs/latest/rules/vars-on-top
*/
'vars-on-top'?: Linter.RuleEntry<[]>;
/**
* enforce using `.each` or `.for` consistently
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-each-for.md
*/
'vitest/consistent-each-for'?: Linter.RuleEntry<VitestConsistentEachFor>;
/**
* require test file pattern
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
*/
'vitest/consistent-test-filename'?: Linter.RuleEntry<VitestConsistentTestFilename>;
/**
* enforce using test or it but not both
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
*/
'vitest/consistent-test-it'?: Linter.RuleEntry<VitestConsistentTestIt>;
/**
* enforce using vitest or vi but not both
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-vitest-vi.md
*/
'vitest/consistent-vitest-vi'?: Linter.RuleEntry<VitestConsistentVitestVi>;
/**
* enforce having expectation in test body
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
*/
'vitest/expect-expect'?: Linter.RuleEntry<VitestExpectExpect>;
/**
* enforce hoisted APIs to be on top of the file
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/hoisted-apis-on-top.md
*/
'vitest/hoisted-apis-on-top'?: Linter.RuleEntry<[]>;
/**
* enforce a maximum number of expect per test
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
*/
'vitest/max-expects'?: Linter.RuleEntry<VitestMaxExpects>;
/**
* require describe block to be less than set max value or default value
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
*/
'vitest/max-nested-describe'?: Linter.RuleEntry<VitestMaxNestedDescribe>;
/**
* disallow alias methods
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
*/
'vitest/no-alias-methods'?: Linter.RuleEntry<[]>;
/**
* disallow commented out tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
*/
'vitest/no-commented-out-tests'?: Linter.RuleEntry<[]>;
/**
* disallow conditional expects
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
*/
'vitest/no-conditional-expect'?: Linter.RuleEntry<[]>;
/**
* disallow conditional tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
*/
'vitest/no-conditional-in-test'?: Linter.RuleEntry<[]>;
/**
* disallow conditional tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
*/
'vitest/no-conditional-tests'?: Linter.RuleEntry<[]>;
/**
* disallow disabled tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
*/
'vitest/no-disabled-tests'?: Linter.RuleEntry<[]>;
/**
* disallow using a callback in asynchronous tests and hooks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
* @deprecated
*/
'vitest/no-done-callback'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate hooks and teardown hooks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
*/
'vitest/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
/**
* disallow focused tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
*/
'vitest/no-focused-tests'?: Linter.RuleEntry<VitestNoFocusedTests>;
/**
* disallow setup and teardown hooks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
*/
'vitest/no-hooks'?: Linter.RuleEntry<VitestNoHooks>;
/**
* disallow identical titles
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
*/
'vitest/no-identical-title'?: Linter.RuleEntry<[]>;
/**
* disallow importing `node:test`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
*/
'vitest/no-import-node-test'?: Linter.RuleEntry<[]>;
/**
* disallow importing Vitest globals
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-importing-vitest-globals.md
*/
'vitest/no-importing-vitest-globals'?: Linter.RuleEntry<[]>;
/**
* disallow string interpolation in snapshots
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
*/
'vitest/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>;
/**
* disallow large snapshots
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
*/
'vitest/no-large-snapshots'?: Linter.RuleEntry<VitestNoLargeSnapshots>;
/**
* disallow importing from __mocks__ directory
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
*/
'vitest/no-mocks-import'?: Linter.RuleEntry<[]>;
/**
* disallow the use of certain matchers
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
*/
'vitest/no-restricted-matchers'?: Linter.RuleEntry<VitestNoRestrictedMatchers>;
/**
* disallow specific `vi.` methods
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
*/
'vitest/no-restricted-vi-methods'?: Linter.RuleEntry<VitestNoRestrictedViMethods>;
/**
* disallow using `expect` outside of `it` or `test` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
*/
'vitest/no-standalone-expect'?: Linter.RuleEntry<VitestNoStandaloneExpect>;
/**
* disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
*/
'vitest/no-test-prefixes'?: Linter.RuleEntry<[]>;
/**
* disallow return statements in tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
*/
'vitest/no-test-return-statement'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary async function wrapper for expected promises
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-unneeded-async-expect-function.md
*/
'vitest/no-unneeded-async-expect-function'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `afterAll` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
*/
'vitest/padding-around-after-all-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `afterEach` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
*/
'vitest/padding-around-after-each-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around vitest functions
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
*/
'vitest/padding-around-all'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `beforeAll` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
*/
'vitest/padding-around-before-all-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `beforeEach` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
*/
'vitest/padding-around-before-each-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `describe` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
*/
'vitest/padding-around-describe-blocks'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `expect` groups
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
*/
'vitest/padding-around-expect-groups'?: Linter.RuleEntry<[]>;
/**
* Enforce padding around `test` blocks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
*/
'vitest/padding-around-test-blocks'?: Linter.RuleEntry<[]>;
/**
* Prefer `toHaveBeenCalledExactlyOnceWith` over `toHaveBeenCalledOnce` and `toHaveBeenCalledWith`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-exactly-once-with.md
*/
'vitest/prefer-called-exactly-once-with'?: Linter.RuleEntry<[]>;
/**
* enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
*/
'vitest/prefer-called-once'?: Linter.RuleEntry<[]>;
/**
* enforce using `toBeCalledTimes(1)` or `toHaveBeenCalledTimes(1)`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-times.md
*/
'vitest/prefer-called-times'?: Linter.RuleEntry<[]>;
/**
* enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
*/
'vitest/prefer-called-with'?: Linter.RuleEntry<[]>;
/**
* enforce using the built-in comparison matchers
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
*/
'vitest/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
/**
* enforce using a function as a describe title over an equivalent string
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-describe-function-title.md
*/
'vitest/prefer-describe-function-title'?: Linter.RuleEntry<[]>;
/**
* enforce using `each` rather than manual loops
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
*/
'vitest/prefer-each'?: Linter.RuleEntry<[]>;
/**
* enforce using the built-in equality matchers
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
*/
'vitest/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
/**
* enforce using expect assertions instead of callbacks
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
*/
'vitest/prefer-expect-assertions'?: Linter.RuleEntry<VitestPreferExpectAssertions>;
/**
* enforce using `expect().resolves` over `expect(await ...)` syntax
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
*/
'vitest/prefer-expect-resolves'?: Linter.RuleEntry<[]>;
/**
* enforce using `expectTypeOf` instead of `expect(typeof ...)`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-type-of.md
*/
'vitest/prefer-expect-type-of'?: Linter.RuleEntry<[]>;
/**
* enforce having hooks in consistent order
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
*/
'vitest/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
/**
* enforce having hooks before any test cases
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
*/
'vitest/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
/**
* prefer dynamic import in mock
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
*/
'vitest/prefer-import-in-mock'?: Linter.RuleEntry<[]>;
/**
* enforce importing Vitest globals
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
*/
'vitest/prefer-importing-vitest-globals'?: Linter.RuleEntry<[]>;
/**
* enforce lowercase titles
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
*/
'vitest/prefer-lowercase-title'?: Linter.RuleEntry<VitestPreferLowercaseTitle>;
/**
* enforce mock resolved/rejected shorthands for promises
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
*/
'vitest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
/**
* enforce including a hint with external snapshots
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
*/
'vitest/prefer-snapshot-hint'?: Linter.RuleEntry<VitestPreferSnapshotHint>;
/**
* enforce using `vi.spyOn`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
*/
'vitest/prefer-spy-on'?: Linter.RuleEntry<[]>;
/**
* enforce using `toBe(true)` and `toBe(false)` over matchers that coerce types to boolean
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-boolean-matchers.md
*/
'vitest/prefer-strict-boolean-matchers'?: Linter.RuleEntry<[]>;
/**
* enforce strict equal over equal
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
*/
'vitest/prefer-strict-equal'?: Linter.RuleEntry<[]>;
/**
* enforce using toBe()
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
*/
'vitest/prefer-to-be'?: Linter.RuleEntry<[]>;
/**
* enforce using toBeFalsy()
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
*/
'vitest/prefer-to-be-falsy'?: Linter.RuleEntry<[]>;
/**
* enforce using toBeObject()
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
*/
'vitest/prefer-to-be-object'?: Linter.RuleEntry<[]>;
/**
* enforce using `toBeTruthy`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
*/
'vitest/prefer-to-be-truthy'?: Linter.RuleEntry<[]>;
/**
* enforce using toContain()
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
*/
'vitest/prefer-to-contain'?: Linter.RuleEntry<[]>;
/**
* enforce using toHaveLength()
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
*/
'vitest/prefer-to-have-length'?: Linter.RuleEntry<[]>;
/**
* enforce using `test.todo`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
*/
'vitest/prefer-todo'?: Linter.RuleEntry<[]>;
/**
* require `vi.mocked()` over `fn as Mock`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
*/
'vitest/prefer-vi-mocked'?: Linter.RuleEntry<[]>;
/**
* ensure that every `expect.poll` call is awaited
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-awaited-expect-poll.md
*/
'vitest/require-awaited-expect-poll'?: Linter.RuleEntry<[]>;
/**
* require setup and teardown to be within a hook
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
*/
'vitest/require-hook'?: Linter.RuleEntry<VitestRequireHook>;
/**
* require usage of import in vi.mock()
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-import-vi-mock.md
*/
'vitest/require-import-vi-mock'?: Linter.RuleEntry<[]>;
/**
* require local Test Context for concurrent snapshot tests
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
*/
'vitest/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>;
/**
* enforce using type parameters with vitest mock functions
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
*/
'vitest/require-mock-type-parameters'?: Linter.RuleEntry<VitestRequireMockTypeParameters>;
/**
* require toThrow() to be called with an error message
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
*/
'vitest/require-to-throw-message'?: Linter.RuleEntry<[]>;
/**
* enforce that all tests are in a top-level describe
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
*/
'vitest/require-top-level-describe'?: Linter.RuleEntry<VitestRequireTopLevelDescribe>;
/**
* enforce valid describe callback
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
*/
'vitest/valid-describe-callback'?: Linter.RuleEntry<[]>;
/**
* enforce valid `expect()` usage
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
*/
'vitest/valid-expect'?: Linter.RuleEntry<VitestValidExpect>;
/**
* require promises that have expectations in their chain to be valid
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
*/
'vitest/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
/**
* enforce valid titles
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
*/
'vitest/valid-title'?: Linter.RuleEntry<VitestValidTitle>;
/**
* disallow `.todo` usage
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/warn-todo.md
*/
'vitest/warn-todo'?: Linter.RuleEntry<[]>;
/**
* Enforce linebreaks after opening and before closing array brackets in `<template>`
* @see https://eslint.vuejs.org/rules/array-bracket-newline.html
*/
'vue/array-bracket-newline'?: Linter.RuleEntry<VueArrayBracketNewline>;
/**
* Enforce consistent spacing inside array brackets in `<template>`
* @see https://eslint.vuejs.org/rules/array-bracket-spacing.html
*/
'vue/array-bracket-spacing'?: Linter.RuleEntry<VueArrayBracketSpacing>;
/**
* Enforce line breaks after each array element in `<template>`
* @see https://eslint.vuejs.org/rules/array-element-newline.html
*/
'vue/array-element-newline'?: Linter.RuleEntry<VueArrayElementNewline>;
/**
* Enforce consistent spacing before and after the arrow in arrow functions in `<template>`
* @see https://eslint.vuejs.org/rules/arrow-spacing.html
*/
'vue/arrow-spacing'?: Linter.RuleEntry<VueArrowSpacing>;
/**
* enforce attribute naming style on custom components in template
* @see https://eslint.vuejs.org/rules/attribute-hyphenation.html
*/
'vue/attribute-hyphenation'?: Linter.RuleEntry<VueAttributeHyphenation>;
/**
* enforce order of attributes
* @see https://eslint.vuejs.org/rules/attributes-order.html
*/
'vue/attributes-order'?: Linter.RuleEntry<VueAttributesOrder>;
/**
* disallow use other than available `lang`
* @see https://eslint.vuejs.org/rules/block-lang.html
*/
'vue/block-lang'?: Linter.RuleEntry<VueBlockLang>;
/**
* enforce order of component top-level elements
* @see https://eslint.vuejs.org/rules/block-order.html
*/
'vue/block-order'?: Linter.RuleEntry<VueBlockOrder>;
/**
* Disallow or enforce spaces inside of blocks after opening block and before closing block in `<template>`
* @see https://eslint.vuejs.org/rules/block-spacing.html
*/
'vue/block-spacing'?: Linter.RuleEntry<VueBlockSpacing>;
/**
* enforce line breaks after opening and before closing block-level tags
* @see https://eslint.vuejs.org/rules/block-tag-newline.html
*/
'vue/block-tag-newline'?: Linter.RuleEntry<VueBlockTagNewline>;
/**
* Enforce consistent brace style for blocks in `<template>`
* @see https://eslint.vuejs.org/rules/brace-style.html
*/
'vue/brace-style'?: Linter.RuleEntry<VueBraceStyle>;
/**
* Enforce camelcase naming convention in `<template>`
* @see https://eslint.vuejs.org/rules/camelcase.html
*/
'vue/camelcase'?: Linter.RuleEntry<VueCamelcase>;
/**
* Require or disallow trailing commas in `<template>`
* @see https://eslint.vuejs.org/rules/comma-dangle.html
*/
'vue/comma-dangle'?: Linter.RuleEntry<VueCommaDangle>;
/**
* Enforce consistent spacing before and after commas in `<template>`
* @see https://eslint.vuejs.org/rules/comma-spacing.html
*/
'vue/comma-spacing'?: Linter.RuleEntry<VueCommaSpacing>;
/**
* Enforce consistent comma style in `<template>`
* @see https://eslint.vuejs.org/rules/comma-style.html
*/
'vue/comma-style'?: Linter.RuleEntry<VueCommaStyle>;
/**
* support comment-directives in `<template>`
* @see https://eslint.vuejs.org/rules/comment-directive.html
*/
'vue/comment-directive'?: Linter.RuleEntry<VueCommentDirective>;
/**
* enforce component API style
* @see https://eslint.vuejs.org/rules/component-api-style.html
*/
'vue/component-api-style'?: Linter.RuleEntry<VueComponentApiStyle>;
/**
* enforce specific casing for component definition name
* @see https://eslint.vuejs.org/rules/component-definition-name-casing.html
*/
'vue/component-definition-name-casing'?: Linter.RuleEntry<VueComponentDefinitionNameCasing>;
/**
* enforce specific casing for the component naming style in template
* @see https://eslint.vuejs.org/rules/component-name-in-template-casing.html
*/
'vue/component-name-in-template-casing'?: Linter.RuleEntry<VueComponentNameInTemplateCasing>;
/**
* enforce the casing of component name in `components` options
* @see https://eslint.vuejs.org/rules/component-options-name-casing.html
*/
'vue/component-options-name-casing'?: Linter.RuleEntry<VueComponentOptionsNameCasing>;
/**
* enforce specific casing for custom event name
* @see https://eslint.vuejs.org/rules/custom-event-name-casing.html
*/
'vue/custom-event-name-casing'?: Linter.RuleEntry<VueCustomEventNameCasing>;
/**
* enforce declaration style of `defineEmits`
* @see https://eslint.vuejs.org/rules/define-emits-declaration.html
*/
'vue/define-emits-declaration'?: Linter.RuleEntry<VueDefineEmitsDeclaration>;
/**
* enforce order of compiler macros (`defineProps`, `defineEmits`, etc.)
* @see https://eslint.vuejs.org/rules/define-macros-order.html
*/
'vue/define-macros-order'?: Linter.RuleEntry<VueDefineMacrosOrder>;
/**
* enforce declaration style of `defineProps`
* @see https://eslint.vuejs.org/rules/define-props-declaration.html
*/
'vue/define-props-declaration'?: Linter.RuleEntry<VueDefinePropsDeclaration>;
/**
* enforce consistent style for props destructuring
* @see https://eslint.vuejs.org/rules/define-props-destructuring.html
*/
'vue/define-props-destructuring'?: Linter.RuleEntry<VueDefinePropsDestructuring>;
/**
* Enforce consistent newlines before and after dots in `<template>`
* @see https://eslint.vuejs.org/rules/dot-location.html
*/
'vue/dot-location'?: Linter.RuleEntry<VueDotLocation>;
/**
* Enforce dot notation whenever possible in `<template>`
* @see https://eslint.vuejs.org/rules/dot-notation.html
*/
'vue/dot-notation'?: Linter.RuleEntry<VueDotNotation>;
/**
* enforce or forbid the use of the `scoped` and `module` attributes in SFC top level style tags
* @see https://eslint.vuejs.org/rules/enforce-style-attribute.html
*/
'vue/enforce-style-attribute'?: Linter.RuleEntry<VueEnforceStyleAttribute>;
/**
* Require the use of `===` and `!==` in `<template>`
* @see https://eslint.vuejs.org/rules/eqeqeq.html
*/
'vue/eqeqeq'?: Linter.RuleEntry<VueEqeqeq>;
/**
* enforce the location of first attribute
* @see https://eslint.vuejs.org/rules/first-attribute-linebreak.html
*/
'vue/first-attribute-linebreak'?: Linter.RuleEntry<VueFirstAttributeLinebreak>;
/**
* Require or disallow spacing between function identifiers and their invocations in `<template>`
* @see https://eslint.vuejs.org/rules/func-call-spacing.html
*/
'vue/func-call-spacing'?: Linter.RuleEntry<VueFuncCallSpacing>;
/**
* disallow usage of button without an explicit type attribute
* @see https://eslint.vuejs.org/rules/html-button-has-type.html
*/
'vue/html-button-has-type'?: Linter.RuleEntry<VueHtmlButtonHasType>;
/**
* require or disallow a line break before tag's closing brackets
* @see https://eslint.vuejs.org/rules/html-closing-bracket-newline.html
*/
'vue/html-closing-bracket-newline'?: Linter.RuleEntry<VueHtmlClosingBracketNewline>;
/**
* require or disallow a space before tag's closing brackets
* @see https://eslint.vuejs.org/rules/html-closing-bracket-spacing.html
*/
'vue/html-closing-bracket-spacing'?: Linter.RuleEntry<VueHtmlClosingBracketSpacing>;
/**
* enforce unified line break in HTML comments
* @see https://eslint.vuejs.org/rules/html-comment-content-newline.html
*/
'vue/html-comment-content-newline'?: Linter.RuleEntry<VueHtmlCommentContentNewline>;
/**
* enforce unified spacing in HTML comments
* @see https://eslint.vuejs.org/rules/html-comment-content-spacing.html
*/
'vue/html-comment-content-spacing'?: Linter.RuleEntry<VueHtmlCommentContentSpacing>;
/**
* enforce consistent indentation in HTML comments
* @see https://eslint.vuejs.org/rules/html-comment-indent.html
*/
'vue/html-comment-indent'?: Linter.RuleEntry<VueHtmlCommentIndent>;
/**
* enforce end tag style
* @see https://eslint.vuejs.org/rules/html-end-tags.html
*/
'vue/html-end-tags'?: Linter.RuleEntry<[]>;
/**
* enforce consistent indentation in `<template>`
* @see https://eslint.vuejs.org/rules/html-indent.html
*/
'vue/html-indent'?: Linter.RuleEntry<VueHtmlIndent>;
/**
* enforce quotes style of HTML attributes
* @see https://eslint.vuejs.org/rules/html-quotes.html
*/
'vue/html-quotes'?: Linter.RuleEntry<VueHtmlQuotes>;
/**
* enforce self-closing style
* @see https://eslint.vuejs.org/rules/html-self-closing.html
*/
'vue/html-self-closing'?: Linter.RuleEntry<VueHtmlSelfClosing>;
/**
* prevent variables used in JSX to be marked as unused
* @see https://eslint.vuejs.org/rules/jsx-uses-vars.html
*/
'vue/jsx-uses-vars'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent spacing between keys and values in object literal properties in `<template>`
* @see https://eslint.vuejs.org/rules/key-spacing.html
*/
'vue/key-spacing'?: Linter.RuleEntry<VueKeySpacing>;
/**
* Enforce consistent spacing before and after keywords in `<template>`
* @see https://eslint.vuejs.org/rules/keyword-spacing.html
*/
'vue/keyword-spacing'?: Linter.RuleEntry<VueKeywordSpacing>;
/**
* require component name property to match its file name
* @see https://eslint.vuejs.org/rules/match-component-file-name.html
*/
'vue/match-component-file-name'?: Linter.RuleEntry<VueMatchComponentFileName>;
/**
* require the registered component name to match the imported component name
* @see https://eslint.vuejs.org/rules/match-component-import-name.html
*/
'vue/match-component-import-name'?: Linter.RuleEntry<[]>;
/**
* enforce the maximum number of attributes per line
* @see https://eslint.vuejs.org/rules/max-attributes-per-line.html
*/
'vue/max-attributes-per-line'?: Linter.RuleEntry<VueMaxAttributesPerLine>;
/**
* enforce a maximum line length in `.vue` files
* @see https://eslint.vuejs.org/rules/max-len.html
*/
'vue/max-len'?: Linter.RuleEntry<VueMaxLen>;
/**
* enforce maximum number of lines in Vue SFC blocks
* @see https://eslint.vuejs.org/rules/max-lines-per-block.html
*/
'vue/max-lines-per-block'?: Linter.RuleEntry<VueMaxLinesPerBlock>;
/**
* enforce maximum number of props in Vue component
* @see https://eslint.vuejs.org/rules/max-props.html
*/
'vue/max-props'?: Linter.RuleEntry<VueMaxProps>;
/**
* enforce maximum depth of template
* @see https://eslint.vuejs.org/rules/max-template-depth.html
*/
'vue/max-template-depth'?: Linter.RuleEntry<VueMaxTemplateDepth>;
/**
* require component names to be always multi-word
* @see https://eslint.vuejs.org/rules/multi-word-component-names.html
*/
'vue/multi-word-component-names'?: Linter.RuleEntry<VueMultiWordComponentNames>;
/**
* require a line break before and after the contents of a multiline element
* @see https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html
*/
'vue/multiline-html-element-content-newline'?: Linter.RuleEntry<VueMultilineHtmlElementContentNewline>;
/**
* Enforce newlines between operands of ternary expressions in `<template>`
* @see https://eslint.vuejs.org/rules/multiline-ternary.html
*/
'vue/multiline-ternary'?: Linter.RuleEntry<VueMultilineTernary>;
/**
* enforce unified spacing in mustache interpolations
* @see https://eslint.vuejs.org/rules/mustache-interpolation-spacing.html
*/
'vue/mustache-interpolation-spacing'?: Linter.RuleEntry<VueMustacheInterpolationSpacing>;
/**
* enforce new lines between multi-line properties in Vue components
* @see https://eslint.vuejs.org/rules/new-line-between-multi-line-property.html
*/
'vue/new-line-between-multi-line-property'?: Linter.RuleEntry<VueNewLineBetweenMultiLineProperty>;
/**
* enforce Promise or callback style in `nextTick`
* @see https://eslint.vuejs.org/rules/next-tick-style.html
*/
'vue/next-tick-style'?: Linter.RuleEntry<VueNextTickStyle>;
/**
* disallow using arrow functions to define watcher
* @see https://eslint.vuejs.org/rules/no-arrow-functions-in-watch.html
*/
'vue/no-arrow-functions-in-watch'?: Linter.RuleEntry<[]>;
/**
* disallow asynchronous actions in computed properties
* @see https://eslint.vuejs.org/rules/no-async-in-computed-properties.html
*/
'vue/no-async-in-computed-properties'?: Linter.RuleEntry<VueNoAsyncInComputedProperties>;
/**
* disallow the use of bare strings in `<template>`
* @see https://eslint.vuejs.org/rules/no-bare-strings-in-template.html
*/
'vue/no-bare-strings-in-template'?: Linter.RuleEntry<VueNoBareStringsInTemplate>;
/**
* disallow boolean defaults
* @see https://eslint.vuejs.org/rules/no-boolean-default.html
*/
'vue/no-boolean-default'?: Linter.RuleEntry<VueNoBooleanDefault>;
/**
* disallow element's child contents which would be overwritten by a directive like `v-html` or `v-text`
* @see https://eslint.vuejs.org/rules/no-child-content.html
*/
'vue/no-child-content'?: Linter.RuleEntry<VueNoChildContent>;
/**
* disallow accessing computed properties in `data`
* @see https://eslint.vuejs.org/rules/no-computed-properties-in-data.html
*/
'vue/no-computed-properties-in-data'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `console` in `<template>`
* @see https://eslint.vuejs.org/rules/no-console.html
*/
'vue/no-console'?: Linter.RuleEntry<VueNoConsole>;
/**
* Disallow constant expressions in conditions in `<template>`
* @see https://eslint.vuejs.org/rules/no-constant-condition.html
*/
'vue/no-constant-condition'?: Linter.RuleEntry<VueNoConstantCondition>;
/**
* disallow custom modifiers on v-model used on the component
* @see https://eslint.vuejs.org/rules/no-custom-modifiers-on-v-model.html
*/
'vue/no-custom-modifiers-on-v-model'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated object declaration on data (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-data-object-declaration.html
*/
'vue/no-deprecated-data-object-declaration'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `$delete` and `$set` (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-delete-set.html
*/
'vue/no-deprecated-delete-set'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `destroyed` and `beforeDestroy` lifecycle hooks (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-destroyed-lifecycle.html
*/
'vue/no-deprecated-destroyed-lifecycle'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `$listeners` (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-dollar-listeners-api.html
*/
'vue/no-deprecated-dollar-listeners-api'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `$scopedSlots` (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-dollar-scopedslots-api.html
*/
'vue/no-deprecated-dollar-scopedslots-api'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated events api (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-events-api.html
*/
'vue/no-deprecated-events-api'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated filters syntax (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-filter.html
*/
'vue/no-deprecated-filter'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated the `functional` template (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-functional-template.html
*/
'vue/no-deprecated-functional-template'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated the `is` attribute on HTML elements (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-html-element-is.html
*/
'vue/no-deprecated-html-element-is'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `inline-template` attribute (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-inline-template.html
*/
'vue/no-deprecated-inline-template'?: Linter.RuleEntry<[]>;
/**
* disallow deprecated `model` definition (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-model-definition.html
*/
'vue/no-deprecated-model-definition'?: Linter.RuleEntry<VueNoDeprecatedModelDefinition>;
/**
* disallow deprecated `this` access in props default function (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-props-default-this.html
*/
'vue/no-deprecated-props-default-this'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `tag` property on `RouterLink` (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-router-link-tag-prop.html
*/
'vue/no-deprecated-router-link-tag-prop'?: Linter.RuleEntry<VueNoDeprecatedRouterLinkTagProp>;
/**
* disallow deprecated `scope` attribute (in Vue.js 2.5.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-scope-attribute.html
*/
'vue/no-deprecated-scope-attribute'?: Linter.RuleEntry<[]>;
/**
* disallow deprecated `slot` attribute (in Vue.js 2.6.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html
*/
'vue/no-deprecated-slot-attribute'?: Linter.RuleEntry<VueNoDeprecatedSlotAttribute>;
/**
* disallow deprecated `slot-scope` attribute (in Vue.js 2.6.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-slot-scope-attribute.html
*/
'vue/no-deprecated-slot-scope-attribute'?: Linter.RuleEntry<[]>;
/**
* disallow use of deprecated `.sync` modifier on `v-bind` directive (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-v-bind-sync.html
*/
'vue/no-deprecated-v-bind-sync'?: Linter.RuleEntry<[]>;
/**
* disallow deprecated `v-is` directive (in Vue.js 3.1.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-v-is.html
*/
'vue/no-deprecated-v-is'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `.native` modifiers (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-v-on-native-modifier.html
*/
'vue/no-deprecated-v-on-native-modifier'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-v-on-number-modifiers.html
*/
'vue/no-deprecated-v-on-number-modifiers'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Vue.config.keyCodes` (in Vue.js 3.0.0+)
* @see https://eslint.vuejs.org/rules/no-deprecated-vue-config-keycodes.html
*/
'vue/no-deprecated-vue-config-keycodes'?: Linter.RuleEntry<[]>;
/**
* disallow duplication of field names
* @see https://eslint.vuejs.org/rules/no-dupe-keys.html
*/
'vue/no-dupe-keys'?: Linter.RuleEntry<VueNoDupeKeys>;
/**
* disallow duplicate conditions in `v-if` / `v-else-if` chains
* @see https://eslint.vuejs.org/rules/no-dupe-v-else-if.html
*/
'vue/no-dupe-v-else-if'?: Linter.RuleEntry<[]>;
/**
* enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
* @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
*/
'vue/no-duplicate-attr-inheritance'?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>;
/**
* disallow duplication of attributes
* @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
*/
'vue/no-duplicate-attributes'?: Linter.RuleEntry<VueNoDuplicateAttributes>;
/**
* disallow duplication of class names in class attributes
* @see https://eslint.vuejs.org/rules/no-duplicate-class-names.html
*/
'vue/no-duplicate-class-names'?: Linter.RuleEntry<[]>;
/**
* disallow the `<template>` `<script>` `<style>` block to be empty
* @see https://eslint.vuejs.org/rules/no-empty-component-block.html
*/
'vue/no-empty-component-block'?: Linter.RuleEntry<[]>;
/**
* Disallow empty destructuring patterns in `<template>`
* @see https://eslint.vuejs.org/rules/no-empty-pattern.html
*/
'vue/no-empty-pattern'?: Linter.RuleEntry<VueNoEmptyPattern>;
/**
* disallow `export` in `<script setup>`
* @see https://eslint.vuejs.org/rules/no-export-in-script-setup.html
*/
'vue/no-export-in-script-setup'?: Linter.RuleEntry<[]>;
/**
* disallow asynchronously registered `expose`
* @see https://eslint.vuejs.org/rules/no-expose-after-await.html
*/
'vue/no-expose-after-await'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary parentheses in `<template>`
* @see https://eslint.vuejs.org/rules/no-extra-parens.html
*/
'vue/no-extra-parens'?: Linter.RuleEntry<VueNoExtraParens>;
/**
* Disallow shorthand type conversions in `<template>`
* @see https://eslint.vuejs.org/rules/no-implicit-coercion.html
*/
'vue/no-implicit-coercion'?: Linter.RuleEntry<VueNoImplicitCoercion>;
/**
* disallow importing Vue compiler macros
* @see https://eslint.vuejs.org/rules/no-import-compiler-macros.html
*/
'vue/no-import-compiler-macros'?: Linter.RuleEntry<[]>;
/**
* disallow irregular whitespace in `.vue` files
* @see https://eslint.vuejs.org/rules/no-irregular-whitespace.html
*/
'vue/no-irregular-whitespace'?: Linter.RuleEntry<VueNoIrregularWhitespace>;
/**
* disallow asynchronously registered lifecycle hooks
* @see https://eslint.vuejs.org/rules/no-lifecycle-after-await.html
*/
'vue/no-lifecycle-after-await'?: Linter.RuleEntry<[]>;
/**
* disallow object, array, and function literals in template
* @see https://eslint.vuejs.org/rules/no-literals-in-template.html
*/
'vue/no-literals-in-template'?: Linter.RuleEntry<VueNoLiteralsInTemplate>;
/**
* disallow unnecessary `<template>`
* @see https://eslint.vuejs.org/rules/no-lone-template.html
*/
'vue/no-lone-template'?: Linter.RuleEntry<VueNoLoneTemplate>;
/**
* Disallow literal numbers that lose precision in `<template>`
* @see https://eslint.vuejs.org/rules/no-loss-of-precision.html
*/
'vue/no-loss-of-precision'?: Linter.RuleEntry<[]>;
/**
* disallow multiple spaces
* @see https://eslint.vuejs.org/rules/no-multi-spaces.html
*/
'vue/no-multi-spaces'?: Linter.RuleEntry<VueNoMultiSpaces>;
/**
* disallow passing multiple objects in an array to class
* @see https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html
*/
'vue/no-multiple-objects-in-class'?: Linter.RuleEntry<[]>;
/**
* disallow passing multiple arguments to scoped slots
* @see https://eslint.vuejs.org/rules/no-multiple-slot-args.html
*/
'vue/no-multiple-slot-args'?: Linter.RuleEntry<[]>;
/**
* disallow adding multiple root nodes to the template
* @see https://eslint.vuejs.org/rules/no-multiple-template-root.html
*/
'vue/no-multiple-template-root'?: Linter.RuleEntry<VueNoMultipleTemplateRoot>;
/**
* disallow mutation of component props
* @see https://eslint.vuejs.org/rules/no-mutating-props.html
*/
'vue/no-mutating-props'?: Linter.RuleEntry<VueNoMutatingProps>;
/**
* Disallow negated conditions in `<template>`
* @see https://eslint.vuejs.org/rules/no-negated-condition.html
*/
'vue/no-negated-condition'?: Linter.RuleEntry<[]>;
/**
* disallow negated conditions in v-if/v-else
* @see https://eslint.vuejs.org/rules/no-negated-v-if-condition.html
*/
'vue/no-negated-v-if-condition'?: Linter.RuleEntry<[]>;
/**
* disallow parsing errors in `<template>`
* @see https://eslint.vuejs.org/rules/no-parsing-error.html
*/
'vue/no-parsing-error'?: Linter.RuleEntry<VueNoParsingError>;
/**
* disallow a potential typo in your component property
* @see https://eslint.vuejs.org/rules/no-potential-component-option-typo.html
*/
'vue/no-potential-component-option-typo'?: Linter.RuleEntry<VueNoPotentialComponentOptionTypo>;
/**
* disallow use of value wrapped by `ref()` (Composition API) as an operand
* @see https://eslint.vuejs.org/rules/no-ref-as-operand.html
*/
'vue/no-ref-as-operand'?: Linter.RuleEntry<[]>;
/**
* disallow usages of ref objects that can lead to loss of reactivity
* @see https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html
*/
'vue/no-ref-object-reactivity-loss'?: Linter.RuleEntry<[]>;
/**
* enforce props with default values to be optional
* @see https://eslint.vuejs.org/rules/no-required-prop-with-default.html
*/
'vue/no-required-prop-with-default'?: Linter.RuleEntry<VueNoRequiredPropWithDefault>;
/**
* disallow the use of reserved names in component definitions
* @see https://eslint.vuejs.org/rules/no-reserved-component-names.html
*/
'vue/no-reserved-component-names'?: Linter.RuleEntry<VueNoReservedComponentNames>;
/**
* disallow overwriting reserved keys
* @see https://eslint.vuejs.org/rules/no-reserved-keys.html
*/
'vue/no-reserved-keys'?: Linter.RuleEntry<VueNoReservedKeys>;
/**
* disallow reserved names in props
* @see https://eslint.vuejs.org/rules/no-reserved-props.html
*/
'vue/no-reserved-props'?: Linter.RuleEntry<VueNoReservedProps>;
/**
* disallow specific block
* @see https://eslint.vuejs.org/rules/no-restricted-block.html
*/
'vue/no-restricted-block'?: Linter.RuleEntry<VueNoRestrictedBlock>;
/**
* disallow asynchronously called restricted methods
* @see https://eslint.vuejs.org/rules/no-restricted-call-after-await.html
*/
'vue/no-restricted-call-after-await'?: Linter.RuleEntry<VueNoRestrictedCallAfterAwait>;
/**
* disallow specific classes in Vue components
* @see https://eslint.vuejs.org/rules/no-restricted-class.html
*/
'vue/no-restricted-class'?: Linter.RuleEntry<VueNoRestrictedClass>;
/**
* disallow specific component names
* @see https://eslint.vuejs.org/rules/no-restricted-component-names.html
*/
'vue/no-restricted-component-names'?: Linter.RuleEntry<VueNoRestrictedComponentNames>;
/**
* disallow specific component option
* @see https://eslint.vuejs.org/rules/no-restricted-component-options.html
*/
'vue/no-restricted-component-options'?: Linter.RuleEntry<VueNoRestrictedComponentOptions>;
/**
* disallow specific custom event
* @see https://eslint.vuejs.org/rules/no-restricted-custom-event.html
*/
'vue/no-restricted-custom-event'?: Linter.RuleEntry<VueNoRestrictedCustomEvent>;
/**
* disallow specific elements
* @see https://eslint.vuejs.org/rules/no-restricted-html-elements.html
*/
'vue/no-restricted-html-elements'?: Linter.RuleEntry<VueNoRestrictedHtmlElements>;
/**
* disallow specific props
* @see https://eslint.vuejs.org/rules/no-restricted-props.html
*/
'vue/no-restricted-props'?: Linter.RuleEntry<VueNoRestrictedProps>;
/**
* disallow specific attribute
* @see https://eslint.vuejs.org/rules/no-restricted-static-attribute.html
*/
'vue/no-restricted-static-attribute'?: Linter.RuleEntry<VueNoRestrictedStaticAttribute>;
/**
* Disallow specified syntax in `<template>`
* @see https://eslint.vuejs.org/rules/no-restricted-syntax.html
*/
'vue/no-restricted-syntax'?: Linter.RuleEntry<VueNoRestrictedSyntax>;
/**
* disallow specific argument in `v-bind`
* @see https://eslint.vuejs.org/rules/no-restricted-v-bind.html
*/
'vue/no-restricted-v-bind'?: Linter.RuleEntry<VueNoRestrictedVBind>;
/**
* disallow specific argument in `v-on`
* @see https://eslint.vuejs.org/rules/no-restricted-v-on.html
*/
'vue/no-restricted-v-on'?: Linter.RuleEntry<VueNoRestrictedVOn>;
/**
* disallow `v-if` directives on root element
* @see https://eslint.vuejs.org/rules/no-root-v-if.html
*/
'vue/no-root-v-if'?: Linter.RuleEntry<[]>;
/**
* disallow usages that lose the reactivity of `props` passed to `setup`
* @see https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html
*/
'vue/no-setup-props-reactivity-loss'?: Linter.RuleEntry<[]>;
/**
* enforce component's data property to be a function
* @see https://eslint.vuejs.org/rules/no-shared-component-data.html
*/
'vue/no-shared-component-data'?: Linter.RuleEntry<[]>;
/**
* disallow side effects in computed properties
* @see https://eslint.vuejs.org/rules/no-side-effects-in-computed-properties.html
*/
'vue/no-side-effects-in-computed-properties'?: Linter.RuleEntry<[]>;
/**
* disallow spaces around equal signs in attribute
* @see https://eslint.vuejs.org/rules/no-spaces-around-equal-signs-in-attribute.html
*/
'vue/no-spaces-around-equal-signs-in-attribute'?: Linter.RuleEntry<[]>;
/**
* Disallow sparse arrays in `<template>`
* @see https://eslint.vuejs.org/rules/no-sparse-arrays.html
*/
'vue/no-sparse-arrays'?: Linter.RuleEntry<[]>;
/**
* disallow static inline `style` attributes
* @see https://eslint.vuejs.org/rules/no-static-inline-styles.html
*/
'vue/no-static-inline-styles'?: Linter.RuleEntry<VueNoStaticInlineStyles>;
/**
* disallow `key` attribute on `<template>`
* @see https://eslint.vuejs.org/rules/no-template-key.html
*/
'vue/no-template-key'?: Linter.RuleEntry<[]>;
/**
* disallow variable declarations from shadowing variables declared in the outer scope
* @see https://eslint.vuejs.org/rules/no-template-shadow.html
*/
'vue/no-template-shadow'?: Linter.RuleEntry<VueNoTemplateShadow>;
/**
* disallow target="_blank" attribute without rel="noopener noreferrer"
* @see https://eslint.vuejs.org/rules/no-template-target-blank.html
*/
'vue/no-template-target-blank'?: Linter.RuleEntry<VueNoTemplateTargetBlank>;
/**
* disallow mustaches in `<textarea>`
* @see https://eslint.vuejs.org/rules/no-textarea-mustache.html
*/
'vue/no-textarea-mustache'?: Linter.RuleEntry<[]>;
/**
* disallow `this` usage in a `beforeRouteEnter` method
* @see https://eslint.vuejs.org/rules/no-this-in-before-route-enter.html
*/
'vue/no-this-in-before-route-enter'?: Linter.RuleEntry<[]>;
/**
* disallow use of undefined components in `<template>`
* @see https://eslint.vuejs.org/rules/no-undef-components.html
*/
'vue/no-undef-components'?: Linter.RuleEntry<VueNoUndefComponents>;
/**
* disallow use of undefined custom directives
* @see https://eslint.vuejs.org/rules/no-undef-directives.html
*/
'vue/no-undef-directives'?: Linter.RuleEntry<VueNoUndefDirectives>;
/**
* disallow undefined properties
* @see https://eslint.vuejs.org/rules/no-undef-properties.html
*/
'vue/no-undef-properties'?: Linter.RuleEntry<VueNoUndefProperties>;
/**
* disallow unsupported Vue.js syntax on the specified version
* @see https://eslint.vuejs.org/rules/no-unsupported-features.html
*/
'vue/no-unsupported-features'?: Linter.RuleEntry<VueNoUnsupportedFeatures>;
/**
* disallow registering components that are not used inside templates
* @see https://eslint.vuejs.org/rules/no-unused-components.html
*/
'vue/no-unused-components'?: Linter.RuleEntry<VueNoUnusedComponents>;
/**
* disallow unused emit declarations
* @see https://eslint.vuejs.org/rules/no-unused-emit-declarations.html
*/
'vue/no-unused-emit-declarations'?: Linter.RuleEntry<[]>;
/**
* disallow unused properties
* @see https://eslint.vuejs.org/rules/no-unused-properties.html
*/
'vue/no-unused-properties'?: Linter.RuleEntry<VueNoUnusedProperties>;
/**
* disallow unused refs
* @see https://eslint.vuejs.org/rules/no-unused-refs.html
*/
'vue/no-unused-refs'?: Linter.RuleEntry<[]>;
/**
* disallow unused variable definitions of v-for directives or scope attributes
* @see https://eslint.vuejs.org/rules/no-unused-vars.html
*/
'vue/no-unused-vars'?: Linter.RuleEntry<VueNoUnusedVars>;
/**
* disallow use computed property like method
* @see https://eslint.vuejs.org/rules/no-use-computed-property-like-method.html
*/
'vue/no-use-computed-property-like-method'?: Linter.RuleEntry<[]>;
/**
* disallow using `v-else-if`/`v-else` on the same element as `v-for`
* @see https://eslint.vuejs.org/rules/no-use-v-else-with-v-for.html
*/
'vue/no-use-v-else-with-v-for'?: Linter.RuleEntry<[]>;
/**
* disallow using `v-if` on the same element as `v-for`
* @see https://eslint.vuejs.org/rules/no-use-v-if-with-v-for.html
*/
'vue/no-use-v-if-with-v-for'?: Linter.RuleEntry<VueNoUseVIfWithVFor>;
/**
* Disallow unnecessary concatenation of literals or template literals in `<template>`
* @see https://eslint.vuejs.org/rules/no-useless-concat.html
*/
'vue/no-useless-concat'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary mustache interpolations
* @see https://eslint.vuejs.org/rules/no-useless-mustaches.html
*/
'vue/no-useless-mustaches'?: Linter.RuleEntry<VueNoUselessMustaches>;
/**
* disallow useless attribute on `<template>`
* @see https://eslint.vuejs.org/rules/no-useless-template-attributes.html
*/
'vue/no-useless-template-attributes'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary `v-bind` directives
* @see https://eslint.vuejs.org/rules/no-useless-v-bind.html
*/
'vue/no-useless-v-bind'?: Linter.RuleEntry<VueNoUselessVBind>;
/**
* disallow `key` attribute on `<template v-for>`
* @see https://eslint.vuejs.org/rules/no-v-for-template-key.html
* @deprecated
*/
'vue/no-v-for-template-key'?: Linter.RuleEntry<[]>;
/**
* disallow key of `<template v-for>` placed on child elements
* @see https://eslint.vuejs.org/rules/no-v-for-template-key-on-child.html
*/
'vue/no-v-for-template-key-on-child'?: Linter.RuleEntry<[]>;
/**
* disallow use of v-html to prevent XSS attack
* @see https://eslint.vuejs.org/rules/no-v-html.html
*/
'vue/no-v-html'?: Linter.RuleEntry<VueNoVHtml>;
/**
* disallow adding an argument to `v-model` used in custom component
* @see https://eslint.vuejs.org/rules/no-v-model-argument.html
* @deprecated
*/
'vue/no-v-model-argument'?: Linter.RuleEntry<[]>;
/**
* disallow use of v-text
* @see https://eslint.vuejs.org/rules/no-v-text.html
*/
'vue/no-v-text'?: Linter.RuleEntry<[]>;
/**
* disallow v-text / v-html on component
* @see https://eslint.vuejs.org/rules/no-v-text-v-html-on-component.html
*/
'vue/no-v-text-v-html-on-component'?: Linter.RuleEntry<VueNoVTextVHtmlOnComponent>;
/**
* disallow asynchronously registered `watch`
* @see https://eslint.vuejs.org/rules/no-watch-after-await.html
*/
'vue/no-watch-after-await'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent line breaks after opening and before closing braces in `<template>`
* @see https://eslint.vuejs.org/rules/object-curly-newline.html
*/
'vue/object-curly-newline'?: Linter.RuleEntry<VueObjectCurlyNewline>;
/**
* Enforce consistent spacing inside braces in `<template>`
* @see https://eslint.vuejs.org/rules/object-curly-spacing.html
*/
'vue/object-curly-spacing'?: Linter.RuleEntry<VueObjectCurlySpacing>;
/**
* Enforce placing object properties on separate lines in `<template>`
* @see https://eslint.vuejs.org/rules/object-property-newline.html
*/
'vue/object-property-newline'?: Linter.RuleEntry<VueObjectPropertyNewline>;
/**
* Require or disallow method and property shorthand syntax for object literals in `<template>`
* @see https://eslint.vuejs.org/rules/object-shorthand.html
*/
'vue/object-shorthand'?: Linter.RuleEntry<VueObjectShorthand>;
/**
* enforce that each component should be in its own file
* @see https://eslint.vuejs.org/rules/one-component-per-file.html
*/
'vue/one-component-per-file'?: Linter.RuleEntry<[]>;
/**
* Enforce consistent linebreak style for operators in `<template>`
* @see https://eslint.vuejs.org/rules/operator-linebreak.html
*/
'vue/operator-linebreak'?: Linter.RuleEntry<VueOperatorLinebreak>;
/**
* enforce order of properties in components
* @see https://eslint.vuejs.org/rules/order-in-components.html
*/
'vue/order-in-components'?: Linter.RuleEntry<VueOrderInComponents>;
/**
* require or disallow padding lines between blocks
* @see https://eslint.vuejs.org/rules/padding-line-between-blocks.html
*/
'vue/padding-line-between-blocks'?: Linter.RuleEntry<VuePaddingLineBetweenBlocks>;
/**
* require or disallow newlines between sibling tags in template
* @see https://eslint.vuejs.org/rules/padding-line-between-tags.html
*/
'vue/padding-line-between-tags'?: Linter.RuleEntry<VuePaddingLineBetweenTags>;
/**
* require or disallow padding lines in component definition
* @see https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html
*/
'vue/padding-lines-in-component-definition'?: Linter.RuleEntry<VuePaddingLinesInComponentDefinition>;
/**
* enforce use of `defineOptions` instead of default export
* @see https://eslint.vuejs.org/rules/prefer-define-options.html
*/
'vue/prefer-define-options'?: Linter.RuleEntry<[]>;
/**
* enforce import from 'vue' instead of import from '@vue/*'
* @see https://eslint.vuejs.org/rules/prefer-import-from-vue.html
*/
'vue/prefer-import-from-vue'?: Linter.RuleEntry<[]>;
/**
* enforce `Boolean` comes first in component prop types
* @see https://eslint.vuejs.org/rules/prefer-prop-type-boolean-first.html
*/
'vue/prefer-prop-type-boolean-first'?: Linter.RuleEntry<[]>;
/**
* require static class names in template to be in a separate `class` attribute
* @see https://eslint.vuejs.org/rules/prefer-separate-static-class.html
*/
'vue/prefer-separate-static-class'?: Linter.RuleEntry<[]>;
/**
* enforce passing a single argument to custom event emissions
* @see https://eslint.vuejs.org/rules/prefer-single-event-payload.html
*/
'vue/prefer-single-event-payload'?: Linter.RuleEntry<[]>;
/**
* Require template literals instead of string concatenation in `<template>`
* @see https://eslint.vuejs.org/rules/prefer-template.html
*/
'vue/prefer-template'?: Linter.RuleEntry<[]>;
/**
* require shorthand form attribute when `v-bind` value is `true`
* @see https://eslint.vuejs.org/rules/prefer-true-attribute-shorthand.html
*/
'vue/prefer-true-attribute-shorthand'?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>;
/**
* require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
* @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
*/
'vue/prefer-use-template-ref'?: Linter.RuleEntry<[]>;
/**
* enforce using `v-model` instead of `:prop`/`@update:prop` pair
* @see https://eslint.vuejs.org/rules/prefer-v-model.html
*/
'vue/prefer-v-model'?: Linter.RuleEntry<[]>;
/**
* enforce specific casing for the Prop name in Vue components
* @see https://eslint.vuejs.org/rules/prop-name-casing.html
*/
'vue/prop-name-casing'?: Linter.RuleEntry<VuePropNameCasing>;
/**
* Require quotes around object literal property names in `<template>`
* @see https://eslint.vuejs.org/rules/quote-props.html
*/
'vue/quote-props'?: Linter.RuleEntry<VueQuoteProps>;
/**
* require `v-bind:is` of `<component>` elements
* @see https://eslint.vuejs.org/rules/require-component-is.html
*/
'vue/require-component-is'?: Linter.RuleEntry<[]>;
/**
* require components to be the default export
* @see https://eslint.vuejs.org/rules/require-default-export.html
*/
'vue/require-default-export'?: Linter.RuleEntry<[]>;
/**
* require default value for props
* @see https://eslint.vuejs.org/rules/require-default-prop.html
*/
'vue/require-default-prop'?: Linter.RuleEntry<[]>;
/**
* require the component to be directly exported
* @see https://eslint.vuejs.org/rules/require-direct-export.html
*/
'vue/require-direct-export'?: Linter.RuleEntry<VueRequireDirectExport>;
/**
* require type definitions in emits
* @see https://eslint.vuejs.org/rules/require-emit-validator.html
*/
'vue/require-emit-validator'?: Linter.RuleEntry<[]>;
/**
* require `emits` option with name triggered by `$emit()`
* @see https://eslint.vuejs.org/rules/require-explicit-emits.html
*/
'vue/require-explicit-emits'?: Linter.RuleEntry<VueRequireExplicitEmits>;
/**
* require slots to be explicitly defined
* @see https://eslint.vuejs.org/rules/require-explicit-slots.html
*/
'vue/require-explicit-slots'?: Linter.RuleEntry<[]>;
/**
* require declare public properties using `expose`
* @see https://eslint.vuejs.org/rules/require-expose.html
*/
'vue/require-expose'?: Linter.RuleEntry<[]>;
/**
* require a certain macro variable name
* @see https://eslint.vuejs.org/rules/require-macro-variable-name.html
*/
'vue/require-macro-variable-name'?: Linter.RuleEntry<VueRequireMacroVariableName>;
/**
* require a name property in Vue components
* @see https://eslint.vuejs.org/rules/require-name-property.html
*/
'vue/require-name-property'?: Linter.RuleEntry<[]>;
/**
* require props to have a comment
* @see https://eslint.vuejs.org/rules/require-prop-comment.html
*/
'vue/require-prop-comment'?: Linter.RuleEntry<VueRequirePropComment>;
/**
* require prop type to be a constructor
* @see https://eslint.vuejs.org/rules/require-prop-type-constructor.html
*/
'vue/require-prop-type-constructor'?: Linter.RuleEntry<[]>;
/**
* require type definitions in props
* @see https://eslint.vuejs.org/rules/require-prop-types.html
*/
'vue/require-prop-types'?: Linter.RuleEntry<[]>;
/**
* enforce render function to always return value
* @see https://eslint.vuejs.org/rules/require-render-return.html
*/
'vue/require-render-return'?: Linter.RuleEntry<[]>;
/**
* enforce properties of `$slots` to be used as a function
* @see https://eslint.vuejs.org/rules/require-slots-as-functions.html
*/
'vue/require-slots-as-functions'?: Linter.RuleEntry<[]>;
/**
* require control the display of the content inside `<transition>`
* @see https://eslint.vuejs.org/rules/require-toggle-inside-transition.html
*/
'vue/require-toggle-inside-transition'?: Linter.RuleEntry<VueRequireToggleInsideTransition>;
/**
* enforce adding type declarations to object props
* @see https://eslint.vuejs.org/rules/require-typed-object-prop.html
*/
'vue/require-typed-object-prop'?: Linter.RuleEntry<[]>;
/**
* require `ref` and `shallowRef` functions to be strongly typed
* @see https://eslint.vuejs.org/rules/require-typed-ref.html
*/
'vue/require-typed-ref'?: Linter.RuleEntry<[]>;
/**
* require `v-bind:key` with `v-for` directives
* @see https://eslint.vuejs.org/rules/require-v-for-key.html
*/
'vue/require-v-for-key'?: Linter.RuleEntry<[]>;
/**
* enforce props default values to be valid
* @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
*/
'vue/require-valid-default-prop'?: Linter.RuleEntry<[]>;
/**
* enforce using only specific component names
* @see https://eslint.vuejs.org/rules/restricted-component-names.html
*/
'vue/restricted-component-names'?: Linter.RuleEntry<VueRestrictedComponentNames>;
/**
* enforce that a return statement is present in computed property
* @see https://eslint.vuejs.org/rules/return-in-computed-property.html
*/
'vue/return-in-computed-property'?: Linter.RuleEntry<VueReturnInComputedProperty>;
/**
* enforce that a return statement is present in emits validator
* @see https://eslint.vuejs.org/rules/return-in-emits-validator.html
*/
'vue/return-in-emits-validator'?: Linter.RuleEntry<[]>;
/**
* enforce consistent indentation in `<script>`
* @see https://eslint.vuejs.org/rules/script-indent.html
*/
'vue/script-indent'?: Linter.RuleEntry<VueScriptIndent>;
/**
* require a line break before and after the contents of a singleline element
* @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
*/
'vue/singleline-html-element-content-newline'?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>;
/**
* enforce specific casing for slot names
* @see https://eslint.vuejs.org/rules/slot-name-casing.html
*/
'vue/slot-name-casing'?: Linter.RuleEntry<VueSlotNameCasing>;
/**
* enforce sort-keys in a manner that is compatible with order-in-components
* @see https://eslint.vuejs.org/rules/sort-keys.html
*/
'vue/sort-keys'?: Linter.RuleEntry<VueSortKeys>;
/**
* Enforce consistent spacing inside parentheses in `<template>`
* @see https://eslint.vuejs.org/rules/space-in-parens.html
*/
'vue/space-in-parens'?: Linter.RuleEntry<VueSpaceInParens>;
/**
* Require spacing around infix operators in `<template>`
* @see https://eslint.vuejs.org/rules/space-infix-ops.html
*/
'vue/space-infix-ops'?: Linter.RuleEntry<VueSpaceInfixOps>;
/**
* Enforce consistent spacing before or after unary operators in `<template>`
* @see https://eslint.vuejs.org/rules/space-unary-ops.html
*/
'vue/space-unary-ops'?: Linter.RuleEntry<VueSpaceUnaryOps>;
/**
* enforce static class names order
* @see https://eslint.vuejs.org/rules/static-class-names-order.html
*/
'vue/static-class-names-order'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing around embedded expressions of template strings in `<template>`
* @see https://eslint.vuejs.org/rules/template-curly-spacing.html
*/
'vue/template-curly-spacing'?: Linter.RuleEntry<VueTemplateCurlySpacing>;
/**
* disallow usage of `this` in template
* @see https://eslint.vuejs.org/rules/this-in-template.html
*/
'vue/this-in-template'?: Linter.RuleEntry<VueThisInTemplate>;
/**
* enforce usage of `exact` modifier on `v-on`
* @see https://eslint.vuejs.org/rules/use-v-on-exact.html
*/
'vue/use-v-on-exact'?: Linter.RuleEntry<[]>;
/**
* enforce `v-bind` directive style
* @see https://eslint.vuejs.org/rules/v-bind-style.html
*/
'vue/v-bind-style'?: Linter.RuleEntry<VueVBindStyle>;
/**
* enforce `v-for` directive's delimiter style
* @see https://eslint.vuejs.org/rules/v-for-delimiter-style.html
*/
'vue/v-for-delimiter-style'?: Linter.RuleEntry<VueVForDelimiterStyle>;
/**
* require key attribute for conditionally rendered repeated components
* @see https://eslint.vuejs.org/rules/v-if-else-key.html
*/
'vue/v-if-else-key'?: Linter.RuleEntry<[]>;
/**
* enforce v-on event naming style on custom components in template
* @see https://eslint.vuejs.org/rules/v-on-event-hyphenation.html
*/
'vue/v-on-event-hyphenation'?: Linter.RuleEntry<VueVOnEventHyphenation>;
/**
* enforce writing style for handlers in `v-on` directives
* @see https://eslint.vuejs.org/rules/v-on-handler-style.html
*/
'vue/v-on-handler-style'?: Linter.RuleEntry<VueVOnHandlerStyle>;
/**
* enforce `v-on` directive style
* @see https://eslint.vuejs.org/rules/v-on-style.html
*/
'vue/v-on-style'?: Linter.RuleEntry<VueVOnStyle>;
/**
* enforce `v-slot` directive style
* @see https://eslint.vuejs.org/rules/v-slot-style.html
*/
'vue/v-slot-style'?: Linter.RuleEntry<VueVSlotStyle>;
/**
* require valid attribute names
* @see https://eslint.vuejs.org/rules/valid-attribute-name.html
*/
'vue/valid-attribute-name'?: Linter.RuleEntry<[]>;
/**
* enforce valid `defineEmits` compiler macro
* @see https://eslint.vuejs.org/rules/valid-define-emits.html
*/
'vue/valid-define-emits'?: Linter.RuleEntry<[]>;
/**
* enforce valid `defineOptions` compiler macro
* @see https://eslint.vuejs.org/rules/valid-define-options.html
*/
'vue/valid-define-options'?: Linter.RuleEntry<[]>;
/**
* enforce valid `defineProps` compiler macro
* @see https://eslint.vuejs.org/rules/valid-define-props.html
*/
'vue/valid-define-props'?: Linter.RuleEntry<[]>;
/**
* require valid keys in model option
* @see https://eslint.vuejs.org/rules/valid-model-definition.html
* @deprecated
*/
'vue/valid-model-definition'?: Linter.RuleEntry<[]>;
/**
* enforce valid `nextTick` function calls
* @see https://eslint.vuejs.org/rules/valid-next-tick.html
*/
'vue/valid-next-tick'?: Linter.RuleEntry<[]>;
/**
* enforce valid template root
* @see https://eslint.vuejs.org/rules/valid-template-root.html
*/
'vue/valid-template-root'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-bind` directives
* @see https://eslint.vuejs.org/rules/valid-v-bind.html
*/
'vue/valid-v-bind'?: Linter.RuleEntry<[]>;
/**
* enforce valid `.sync` modifier on `v-bind` directives
* @see https://eslint.vuejs.org/rules/valid-v-bind-sync.html
* @deprecated
*/
'vue/valid-v-bind-sync'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-cloak` directives
* @see https://eslint.vuejs.org/rules/valid-v-cloak.html
*/
'vue/valid-v-cloak'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-else` directives
* @see https://eslint.vuejs.org/rules/valid-v-else.html
*/
'vue/valid-v-else'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-else-if` directives
* @see https://eslint.vuejs.org/rules/valid-v-else-if.html
*/
'vue/valid-v-else-if'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-for` directives
* @see https://eslint.vuejs.org/rules/valid-v-for.html
*/
'vue/valid-v-for'?: Linter.RuleEntry<VueValidVFor>;
/**
* enforce valid `v-html` directives
* @see https://eslint.vuejs.org/rules/valid-v-html.html
*/
'vue/valid-v-html'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-if` directives
* @see https://eslint.vuejs.org/rules/valid-v-if.html
*/
'vue/valid-v-if'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-is` directives
* @see https://eslint.vuejs.org/rules/valid-v-is.html
*/
'vue/valid-v-is'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-memo` directives
* @see https://eslint.vuejs.org/rules/valid-v-memo.html
*/
'vue/valid-v-memo'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-model` directives
* @see https://eslint.vuejs.org/rules/valid-v-model.html
*/
'vue/valid-v-model'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-on` directives
* @see https://eslint.vuejs.org/rules/valid-v-on.html
*/
'vue/valid-v-on'?: Linter.RuleEntry<VueValidVOn>;
/**
* enforce valid `v-once` directives
* @see https://eslint.vuejs.org/rules/valid-v-once.html
*/
'vue/valid-v-once'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-pre` directives
* @see https://eslint.vuejs.org/rules/valid-v-pre.html
*/
'vue/valid-v-pre'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-show` directives
* @see https://eslint.vuejs.org/rules/valid-v-show.html
*/
'vue/valid-v-show'?: Linter.RuleEntry<[]>;
/**
* enforce valid `v-slot` directives
* @see https://eslint.vuejs.org/rules/valid-v-slot.html
*/
'vue/valid-v-slot'?: Linter.RuleEntry<VueValidVSlot>;
/**
* enforce valid `v-text` directives
* @see https://eslint.vuejs.org/rules/valid-v-text.html
*/
'vue/valid-v-text'?: Linter.RuleEntry<[]>;
/**
* Require parentheses around immediate `function` invocations
* @see https://eslint.org/docs/latest/rules/wrap-iife
* @deprecated
*/
'wrap-iife'?: Linter.RuleEntry<WrapIife>;
/**
* Require parenthesis around regex literals
* @see https://eslint.org/docs/latest/rules/wrap-regex
* @deprecated
*/
'wrap-regex'?: Linter.RuleEntry<[]>;
/**
* Require or disallow spacing around the `*` in `yield*` expressions
* @see https://eslint.org/docs/latest/rules/yield-star-spacing
* @deprecated
*/
'yield-star-spacing'?: Linter.RuleEntry<YieldStarSpacing>;
/**
* Require or disallow "Yoda" conditions
* @see https://eslint.org/docs/latest/rules/yoda
*/
'yoda'?: Linter.RuleEntry<Yoda>;
}
/* ======= Declarations ======= */
// ----- @stylistic/array-bracket-newline -----
type StylisticArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
})]; // ----- @stylistic/array-bracket-spacing -----
type StylisticArrayBracketSpacing = [] | [("always" | "never")] | [("always" | "never"), {
singleValue?: boolean;
objectsInArrays?: boolean;
arraysInArrays?: boolean;
}]; // ----- @stylistic/array-element-newline -----
type StylisticArrayElementNewline = [] | [(_StylisticArrayElementNewlineBasicConfig | {
ArrayExpression?: _StylisticArrayElementNewlineBasicConfig;
ArrayPattern?: _StylisticArrayElementNewlineBasicConfig;
})];
type _StylisticArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
consistent?: boolean;
multiline?: boolean;
minItems?: (number | null);
}); // ----- @stylistic/arrow-parens -----
type StylisticArrowParens = [] | [("always" | "as-needed")] | [("always" | "as-needed"), {
requireForBlockBody?: boolean;
}]; // ----- @stylistic/arrow-spacing -----
type StylisticArrowSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- @stylistic/block-spacing -----
type StylisticBlockSpacing = [] | [("always" | "never")]; // ----- @stylistic/brace-style -----
type StylisticBraceStyle = [] | [("1tbs" | "stroustrup" | "allman")] | [("1tbs" | "stroustrup" | "allman"), {
allowSingleLine?: boolean;
}]; // ----- @stylistic/comma-dangle -----
type StylisticCommaDangle = [] | [(_StylisticCommaDangleValue | {
arrays?: _StylisticCommaDangleValueWithIgnore;
objects?: _StylisticCommaDangleValueWithIgnore;
imports?: _StylisticCommaDangleValueWithIgnore;
exports?: _StylisticCommaDangleValueWithIgnore;
functions?: _StylisticCommaDangleValueWithIgnore;
importAttributes?: _StylisticCommaDangleValueWithIgnore;
dynamicImports?: _StylisticCommaDangleValueWithIgnore;
enums?: _StylisticCommaDangleValueWithIgnore;
generics?: _StylisticCommaDangleValueWithIgnore;
tuples?: _StylisticCommaDangleValueWithIgnore;
})];
type _StylisticCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _StylisticCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore"); // ----- @stylistic/comma-spacing -----
type StylisticCommaSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- @stylistic/comma-style -----
type StylisticCommaStyle = [] | [("first" | "last")] | [("first" | "last"), {
exceptions?: {
[k: string]: boolean | undefined;
};
}]; // ----- @stylistic/computed-property-spacing -----
type StylisticComputedPropertySpacing = [] | [("always" | "never")] | [("always" | "never"), {
enforceForClassMembers?: boolean;
}]; // ----- @stylistic/curly-newline -----
type StylisticCurlyNewline = [] | [(("always" | "never") | {
IfStatementConsequent?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
IfStatementAlternative?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
DoWhileStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
ForInStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
ForOfStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
ForStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
WhileStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
SwitchStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
SwitchCase?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
TryStatementBlock?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
TryStatementHandler?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
TryStatementFinalizer?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
BlockStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
ArrowFunctionExpression?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
FunctionDeclaration?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
FunctionExpression?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
Property?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
ClassBody?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
StaticBlock?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
WithStatement?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
TSModuleBlock?: (("always" | "never") | {
multiline?: boolean;
minElements?: number;
consistent?: boolean;
});
multiline?: boolean;
minElements?: number;
consistent?: boolean;
})]; // ----- @stylistic/dot-location -----
type StylisticDotLocation = [] | [("object" | "property")]; // ----- @stylistic/eol-last -----
type StylisticEolLast = [] | [("always" | "never" | "unix" | "windows")]; // ----- @stylistic/exp-jsx-props-style -----
type StylisticExpJsxPropsStyle = [] | [{
singleLine?: {
maxItems?: number;
};
multiLine?: {
minItems?: number;
maxItemsPerLine?: number;
};
}]; // ----- @stylistic/exp-list-style -----
type StylisticExpListStyle = [] | [{
singleLine?: _StylisticExpListStyle_SingleLineConfig;
multiLine?: _StylisticExpListStyle_MultiLineConfig;
overrides?: {
"()"?: (_StylisticExpListStyle_BaseConfig | "off");
"[]"?: (_StylisticExpListStyle_BaseConfig | "off");
"{}"?: (_StylisticExpListStyle_BaseConfig | "off");
"<>"?: (_StylisticExpListStyle_BaseConfig | "off");
ArrayExpression?: (_StylisticExpListStyle_BaseConfig | "off");
ArrayPattern?: (_StylisticExpListStyle_BaseConfig | "off");
ArrowFunctionExpression?: (_StylisticExpListStyle_BaseConfig | "off");
CallExpression?: (_StylisticExpListStyle_BaseConfig | "off");
ExportNamedDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
FunctionDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
FunctionExpression?: (_StylisticExpListStyle_BaseConfig | "off");
IfStatement?: (_StylisticExpListStyle_BaseConfig | "off");
ImportAttributes?: (_StylisticExpListStyle_BaseConfig | "off");
ImportDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
JSONArrayExpression?: (_StylisticExpListStyle_BaseConfig | "off");
JSONObjectExpression?: (_StylisticExpListStyle_BaseConfig | "off");
NewExpression?: (_StylisticExpListStyle_BaseConfig | "off");
ObjectExpression?: (_StylisticExpListStyle_BaseConfig | "off");
ObjectPattern?: (_StylisticExpListStyle_BaseConfig | "off");
TSDeclareFunction?: (_StylisticExpListStyle_BaseConfig | "off");
TSEnumBody?: (_StylisticExpListStyle_BaseConfig | "off");
TSFunctionType?: (_StylisticExpListStyle_BaseConfig | "off");
TSInterfaceBody?: (_StylisticExpListStyle_BaseConfig | "off");
TSTupleType?: (_StylisticExpListStyle_BaseConfig | "off");
TSTypeLiteral?: (_StylisticExpListStyle_BaseConfig | "off");
TSTypeParameterDeclaration?: (_StylisticExpListStyle_BaseConfig | "off");
TSTypeParameterInstantiation?: (_StylisticExpListStyle_BaseConfig | "off");
};
}];
interface _StylisticExpListStyle_SingleLineConfig {
spacing?: ("always" | "never");
maxItems?: number;
}
interface _StylisticExpListStyle_MultiLineConfig {
minItems?: number;
}
interface _StylisticExpListStyle_BaseConfig {
singleLine?: _StylisticExpListStyle_SingleLineConfig;
multiline?: _StylisticExpListStyle_MultiLineConfig;
} // ----- @stylistic/function-call-argument-newline -----
type StylisticFunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")]; // ----- @stylistic/function-call-spacing -----
type StylisticFunctionCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
allowNewlines?: boolean;
optionalChain?: {
before?: boolean;
after?: boolean;
};
}]); // ----- @stylistic/function-paren-newline -----
type StylisticFunctionParenNewline = [] | [(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
minItems?: number;
})]; // ----- @stylistic/generator-star-spacing -----
type StylisticGeneratorStarSpacing = [] | [(("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
named?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
anonymous?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
method?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
shorthand?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
})]; // ----- @stylistic/implicit-arrow-linebreak -----
type StylisticImplicitArrowLinebreak = [] | [("beside" | "below")]; // ----- @stylistic/indent -----
type StylisticIndent = [] | [("tab" | number)] | [("tab" | number), {
SwitchCase?: number;
VariableDeclarator?: ((number | ("first" | "off")) | {
var?: (number | ("first" | "off"));
let?: (number | ("first" | "off"));
const?: (number | ("first" | "off"));
using?: (number | ("first" | "off"));
});
assignmentOperator?: (number | "off");
outerIIFEBody?: (number | "off");
MemberExpression?: (number | "off");
FunctionDeclaration?: {
parameters?: (number | ("first" | "off"));
body?: number;
returnType?: number;
};
FunctionExpression?: {
parameters?: (number | ("first" | "off"));
body?: number;
returnType?: number;
};
StaticBlock?: {
body?: number;
};
CallExpression?: {
arguments?: (number | ("first" | "off"));
};
ArrayExpression?: (number | ("first" | "off"));
ObjectExpression?: (number | ("first" | "off"));
ImportDeclaration?: (number | ("first" | "off"));
flatTernaryExpressions?: boolean;
offsetTernaryExpressions?: (boolean | {
CallExpression?: boolean;
AwaitExpression?: boolean;
NewExpression?: boolean;
});
offsetTernaryExpressionsOffsetCallExpressions?: boolean;
ignoredNodes?: string[];
ignoreComments?: boolean;
tabLength?: number;
}]; // ----- @stylistic/indent-binary-ops -----
type StylisticIndentBinaryOps = [] | [(number | "tab")]; // ----- @stylistic/jsx-closing-bracket-location -----
type StylisticJsxClosingBracketLocation = [] | [(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned");
} | {
nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false);
selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false);
})]; // ----- @stylistic/jsx-closing-tag-location -----
type StylisticJsxClosingTagLocation = [] | [("tag-aligned" | "line-aligned")]; // ----- @stylistic/jsx-curly-brace-presence -----
type StylisticJsxCurlyBracePresence = [] | [({
props?: ("always" | "never" | "ignore");
children?: ("always" | "never" | "ignore");
propElementValues?: ("always" | "never" | "ignore");
} | ("always" | "never" | "ignore"))]; // ----- @stylistic/jsx-curly-newline -----
type StylisticJsxCurlyNewline = [] | [(("consistent" | "never") | {
singleline?: ("consistent" | "require" | "forbid");
multiline?: ("consistent" | "require" | "forbid");
})]; // ----- @stylistic/jsx-curly-spacing -----
type StylisticJsxCurlySpacing = [] | [({
when?: ("always" | "never");
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
attributes?: ({
when?: ("always" | "never");
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
} | boolean);
children?: ({
when?: ("always" | "never");
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
} | boolean);
} | ("always" | "never"))] | [({
when?: ("always" | "never");
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
attributes?: ({
when?: ("always" | "never");
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
} | boolean);
children?: ({
when?: ("always" | "never");
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
} | boolean);
} | ("always" | "never")), {
allowMultiline?: boolean;
spacing?: {
objectLiterals?: ("always" | "never");
};
}]; // ----- @stylistic/jsx-equals-spacing -----
type StylisticJsxEqualsSpacing = [] | [("always" | "never")]; // ----- @stylistic/jsx-first-prop-new-line -----
type StylisticJsxFirstPropNewLine = [] | [("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]; // ----- @stylistic/jsx-function-call-newline -----
type StylisticJsxFunctionCallNewline = [] | [("always" | "multiline")]; // ----- @stylistic/jsx-indent -----
type StylisticJsxIndent = [] | [("tab" | number)] | [("tab" | number), {
checkAttributes?: boolean;
indentLogicalExpressions?: boolean;
}]; // ----- @stylistic/jsx-indent-props -----
type StylisticJsxIndentProps = [] | [(("tab" | "first") | number | {
indentMode?: (("tab" | "first") | number);
ignoreTernaryOperator?: boolean;
})]; // ----- @stylistic/jsx-max-props-per-line -----
type StylisticJsxMaxPropsPerLine = [] | [({
maximum?: {
single?: number;
multi?: number;
};
} | {
maximum?: number;
when?: ("always" | "multiline");
})]; // ----- @stylistic/jsx-newline -----
type StylisticJsxNewline = [] | [{
prevent?: boolean;
allowMultilines?: boolean;
}]; // ----- @stylistic/jsx-one-expression-per-line -----
type StylisticJsxOneExpressionPerLine = [] | [{
allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx");
}]; // ----- @stylistic/jsx-pascal-case -----
type StylisticJsxPascalCase = [] | [{
allowAllCaps?: boolean;
allowLeadingUnderscore?: boolean;
allowNamespace?: boolean;
ignore?: string[];
}]; // ----- @stylistic/jsx-quotes -----
type StylisticJsxQuotes = [] | [("prefer-single" | "prefer-double")]; // ----- @stylistic/jsx-self-closing-comp -----
type StylisticJsxSelfClosingComp = [] | [{
component?: boolean;
html?: boolean;
}]; // ----- @stylistic/jsx-sort-props -----
type StylisticJsxSortProps = [] | [{
callbacksLast?: boolean;
shorthandFirst?: boolean;
shorthandLast?: boolean;
multiline?: ("ignore" | "first" | "last");
ignoreCase?: boolean;
noSortAlphabetically?: boolean;
reservedFirst?: (string[] | boolean);
reservedLast?: string[];
locale?: string;
}]; // ----- @stylistic/jsx-tag-spacing -----
type StylisticJsxTagSpacing = [] | [{
closingSlash?: ("always" | "never" | "allow");
beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow");
afterOpening?: ("always" | "allow-multiline" | "never" | "allow");
beforeClosing?: ("always" | "proportional-always" | "never" | "allow");
}]; // ----- @stylistic/jsx-wrap-multilines -----
type StylisticJsxWrapMultilines = [] | [{
declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
}]; // ----- @stylistic/key-spacing -----
type StylisticKeySpacing = [] | [({
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
align?: {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
};
})]; // ----- @stylistic/keyword-spacing -----
type StylisticKeywordSpacing = [] | [{
before?: boolean;
after?: boolean;
overrides?: {
abstract?: {
before?: boolean;
after?: boolean;
};
boolean?: {
before?: boolean;
after?: boolean;
};
break?: {
before?: boolean;
after?: boolean;
};
byte?: {
before?: boolean;
after?: boolean;
};
case?: {
before?: boolean;
after?: boolean;
};
catch?: {
before?: boolean;
after?: boolean;
};
char?: {
before?: boolean;
after?: boolean;
};
class?: {
before?: boolean;
after?: boolean;
};
const?: {
before?: boolean;
after?: boolean;
};
continue?: {
before?: boolean;
after?: boolean;
};
debugger?: {
before?: boolean;
after?: boolean;
};
default?: {
before?: boolean;
after?: boolean;
};
delete?: {
before?: boolean;
after?: boolean;
};
do?: {
before?: boolean;
after?: boolean;
};
double?: {
before?: boolean;
after?: boolean;
};
else?: {
before?: boolean;
after?: boolean;
};
enum?: {
before?: boolean;
after?: boolean;
};
export?: {
before?: boolean;
after?: boolean;
};
extends?: {
before?: boolean;
after?: boolean;
};
false?: {
before?: boolean;
after?: boolean;
};
final?: {
before?: boolean;
after?: boolean;
};
finally?: {
before?: boolean;
after?: boolean;
};
float?: {
before?: boolean;
after?: boolean;
};
for?: {
before?: boolean;
after?: boolean;
};
function?: {
before?: boolean;
after?: boolean;
};
goto?: {
before?: boolean;
after?: boolean;
};
if?: {
before?: boolean;
after?: boolean;
};
implements?: {
before?: boolean;
after?: boolean;
};
import?: {
before?: boolean;
after?: boolean;
};
in?: {
before?: boolean;
after?: boolean;
};
instanceof?: {
before?: boolean;
after?: boolean;
};
int?: {
before?: boolean;
after?: boolean;
};
interface?: {
before?: boolean;
after?: boolean;
};
long?: {
before?: boolean;
after?: boolean;
};
native?: {
before?: boolean;
after?: boolean;
};
new?: {
before?: boolean;
after?: boolean;
};
null?: {
before?: boolean;
after?: boolean;
};
package?: {
before?: boolean;
after?: boolean;
};
private?: {
before?: boolean;
after?: boolean;
};
protected?: {
before?: boolean;
after?: boolean;
};
public?: {
before?: boolean;
after?: boolean;
};
return?: {
before?: boolean;
after?: boolean;
};
short?: {
before?: boolean;
after?: boolean;
};
static?: {
before?: boolean;
after?: boolean;
};
super?: {
before?: boolean;
after?: boolean;
};
switch?: {
before?: boolean;
after?: boolean;
};
synchronized?: {
before?: boolean;
after?: boolean;
};
this?: {
before?: boolean;
after?: boolean;
};
throw?: {
before?: boolean;
after?: boolean;
};
throws?: {
before?: boolean;
after?: boolean;
};
transient?: {
before?: boolean;
after?: boolean;
};
true?: {
before?: boolean;
after?: boolean;
};
try?: {
before?: boolean;
after?: boolean;
};
typeof?: {
before?: boolean;
after?: boolean;
};
var?: {
before?: boolean;
after?: boolean;
};
void?: {
before?: boolean;
after?: boolean;
};
volatile?: {
before?: boolean;
after?: boolean;
};
while?: {
before?: boolean;
after?: boolean;
};
with?: {
before?: boolean;
after?: boolean;
};
arguments?: {
before?: boolean;
after?: boolean;
};
as?: {
before?: boolean;
after?: boolean;
};
async?: {
before?: boolean;
after?: boolean;
};
await?: {
before?: boolean;
after?: boolean;
};
eval?: {
before?: boolean;
after?: boolean;
};
from?: {
before?: boolean;
after?: boolean;
};
get?: {
before?: boolean;
after?: boolean;
};
let?: {
before?: boolean;
after?: boolean;
};
of?: {
before?: boolean;
after?: boolean;
};
set?: {
before?: boolean;
after?: boolean;
};
type?: {
before?: boolean;
after?: boolean;
};
using?: {
before?: boolean;
after?: boolean;
};
yield?: {
before?: boolean;
after?: boolean;
};
accessor?: {
before?: boolean;
after?: boolean;
};
satisfies?: {
before?: boolean;
after?: boolean;
};
};
}]; // ----- @stylistic/line-comment-position -----
type StylisticLineCommentPosition = [] | [(("above" | "beside") | {
position?: ("above" | "beside");
ignorePattern?: string;
applyDefaultPatterns?: boolean;
applyDefaultIgnorePatterns?: boolean;
})]; // ----- @stylistic/linebreak-style -----
type StylisticLinebreakStyle = [] | [("unix" | "windows")]; // ----- @stylistic/lines-around-comment -----
type StylisticLinesAroundComment = [] | [{
beforeBlockComment?: boolean;
afterBlockComment?: boolean;
beforeLineComment?: boolean;
afterLineComment?: boolean;
allowBlockStart?: boolean;
allowBlockEnd?: boolean;
allowClassStart?: boolean;
allowClassEnd?: boolean;
allowObjectStart?: boolean;
allowObjectEnd?: boolean;
allowArrayStart?: boolean;
allowArrayEnd?: boolean;
allowInterfaceStart?: boolean;
allowInterfaceEnd?: boolean;
allowTypeStart?: boolean;
allowTypeEnd?: boolean;
allowEnumStart?: boolean;
allowEnumEnd?: boolean;
allowModuleStart?: boolean;
allowModuleEnd?: boolean;
ignorePattern?: string;
applyDefaultIgnorePatterns?: boolean;
afterHashbangComment?: boolean;
}]; // ----- @stylistic/lines-between-class-members -----
type StylisticLinesBetweenClassMembers = [] | [({
enforce: [{
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
}, ...({
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
})[]];
} | ("always" | "never"))] | [({
enforce: [{
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
}, ...({
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
})[]];
} | ("always" | "never")), {
exceptAfterSingleLine?: boolean;
exceptAfterOverload?: boolean;
}]; // ----- @stylistic/max-len -----
type StylisticMaxLen = [] | [({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number)] | [({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number), ({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number)] | [({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number), ({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number), {
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
}]; // ----- @stylistic/max-statements-per-line -----
type StylisticMaxStatementsPerLine = [] | [{
max?: number;
ignoredNodes?: ("BreakStatement" | "ClassDeclaration" | "ContinueStatement" | "DebuggerStatement" | "DoWhileStatement" | "ExpressionStatement" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "IfStatement" | "ImportDeclaration" | "LabeledStatement" | "ReturnStatement" | "SwitchStatement" | "ThrowStatement" | "TryStatement" | "VariableDeclaration" | "WhileStatement" | "WithStatement" | "ExportNamedDeclaration" | "ExportDefaultDeclaration" | "ExportAllDeclaration")[];
}]; // ----- @stylistic/member-delimiter-style -----
type StylisticMemberDelimiterStyle = [] | [{
multiline?: {
delimiter?: ("none" | "semi" | "comma");
requireLast?: boolean;
};
singleline?: {
delimiter?: ("semi" | "comma");
requireLast?: boolean;
};
overrides?: {
interface?: _StylisticMemberDelimiterStyle_DelimiterConfig;
typeLiteral?: _StylisticMemberDelimiterStyle_DelimiterConfig;
};
multilineDetection?: ("brackets" | "last-member");
}];
interface _StylisticMemberDelimiterStyle_DelimiterConfig {
multiline?: {
delimiter?: ("none" | "semi" | "comma");
requireLast?: boolean;
};
singleline?: {
delimiter?: ("semi" | "comma");
requireLast?: boolean;
};
} // ----- @stylistic/multiline-comment-style -----
type StylisticMultilineCommentStyle = ([] | [("starred-block" | "bare-block")] | [] | ["separate-lines"] | ["separate-lines", {
checkJSDoc?: boolean;
checkExclamation?: boolean;
}]); // ----- @stylistic/multiline-ternary -----
type StylisticMultilineTernary = [] | [("always" | "always-multiline" | "never")] | [("always" | "always-multiline" | "never"), {
ignoreJSX?: boolean;
}]; // ----- @stylistic/new-parens -----
type StylisticNewParens = [] | [("always" | "never")]; // ----- @stylistic/newline-per-chained-call -----
type StylisticNewlinePerChainedCall = [] | [{
ignoreChainWithDepth?: number;
}]; // ----- @stylistic/no-confusing-arrow -----
type StylisticNoConfusingArrow = [] | [{
allowParens?: boolean;
onlyOneSimpleParam?: boolean;
}]; // ----- @stylistic/no-extra-parens -----
type StylisticNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
conditionalAssign?: boolean;
ternaryOperandBinaryExpressions?: boolean;
nestedBinaryExpressions?: boolean;
returnAssign?: boolean;
ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
enforceForArrowConditionals?: boolean;
enforceForSequenceExpressions?: boolean;
enforceForNewInMemberExpressions?: boolean;
enforceForFunctionPrototypeMethods?: boolean;
allowParensAfterCommentPattern?: string;
nestedConditionalExpressions?: boolean;
allowNodesInSpreadElement?: {
ConditionalExpression?: boolean;
LogicalExpression?: boolean;
AwaitExpression?: boolean;
};
ignoredNodes?: string[];
}]); // ----- @stylistic/no-mixed-operators -----
type StylisticNoMixedOperators = [] | [{
groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][];
allowSamePrecedence?: boolean;
}]; // ----- @stylistic/no-mixed-spaces-and-tabs -----
type StylisticNoMixedSpacesAndTabs = [] | [("smart-tabs" | boolean)]; // ----- @stylistic/no-multi-spaces -----
type StylisticNoMultiSpaces = [] | [{
exceptions?: {
[k: string]: boolean;
};
ignoreEOLComments?: boolean;
includeTabs?: boolean;
}]; // ----- @stylistic/no-multiple-empty-lines -----
type StylisticNoMultipleEmptyLines = [] | [{
max: number;
maxEOF?: number;
maxBOF?: number;
}]; // ----- @stylistic/no-tabs -----
type StylisticNoTabs = [] | [{
allowIndentationTabs?: boolean;
}]; // ----- @stylistic/no-trailing-spaces -----
type StylisticNoTrailingSpaces = [] | [{
skipBlankLines?: boolean;
ignoreComments?: boolean;
}]; // ----- @stylistic/nonblock-statement-body-position -----
type StylisticNonblockStatementBodyPosition = [] | [("beside" | "below" | "any")] | [("beside" | "below" | "any"), {
overrides?: {
if?: ("beside" | "below" | "any");
else?: ("beside" | "below" | "any");
while?: ("beside" | "below" | "any");
do?: ("beside" | "below" | "any");
for?: ("beside" | "below" | "any");
};
}]; // ----- @stylistic/object-curly-newline -----
type StylisticObjectCurlyNewline = [] | [((("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
}) | {
ObjectExpression?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ObjectPattern?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ImportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ExportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
TSTypeLiteral?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
TSInterfaceBody?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
TSEnumBody?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
})]; // ----- @stylistic/object-curly-spacing -----
type StylisticObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
arraysInObjects?: boolean;
objectsInObjects?: boolean;
overrides?: {
ObjectPattern?: ("always" | "never");
ObjectExpression?: ("always" | "never");
ImportDeclaration?: ("always" | "never");
ImportAttributes?: ("always" | "never");
ExportNamedDeclaration?: ("always" | "never");
ExportAllDeclaration?: ("always" | "never");
TSMappedType?: ("always" | "never");
TSTypeLiteral?: ("always" | "never");
TSInterfaceBody?: ("always" | "never");
TSEnumBody?: ("always" | "never");
};
emptyObjects?: ("ignore" | "always" | "never");
}]; // ----- @stylistic/object-property-newline -----
type StylisticObjectPropertyNewline = [] | [{
allowAllPropertiesOnSameLine?: boolean;
}]; // ----- @stylistic/one-var-declaration-per-line -----
type StylisticOneVarDeclarationPerLine = [] | [("always" | "initializations")]; // ----- @stylistic/operator-linebreak -----
type StylisticOperatorLinebreak = [] | [(("after" | "before" | "none") | null)] | [(("after" | "before" | "none") | null), {
overrides?: {
[k: string]: ("after" | "before" | "none" | "ignore") | undefined;
};
}]; // ----- @stylistic/padded-blocks -----
type StylisticPaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
blocks?: ("always" | "never" | "start" | "end");
switches?: ("always" | "never" | "start" | "end");
classes?: ("always" | "never" | "start" | "end");
})] | [(("always" | "never" | "start" | "end") | {
blocks?: ("always" | "never" | "start" | "end");
switches?: ("always" | "never" | "start" | "end");
classes?: ("always" | "never" | "start" | "end");
}), {
allowSingleLineBlocks?: boolean;
}]; // ----- @stylistic/padding-line-between-statements -----
type _StylisticPaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
type _StylisticPaddingLineBetweenStatementsStatementOption = (_StylisticPaddingLineBetweenStatementsStatementMatcher | [_StylisticPaddingLineBetweenStatementsStatementMatcher, ...(_StylisticPaddingLineBetweenStatementsStatementMatcher)[]]);
type _StylisticPaddingLineBetweenStatementsStatementMatcher = (_StylisticPaddingLineBetweenStatementsStatementType | _StylisticPaddingLineBetweenStatements_SelectorOption);
type _StylisticPaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type");
type StylisticPaddingLineBetweenStatements = {
blankLine: _StylisticPaddingLineBetweenStatementsPaddingType;
prev: _StylisticPaddingLineBetweenStatementsStatementOption;
next: _StylisticPaddingLineBetweenStatementsStatementOption;
}[];
interface _StylisticPaddingLineBetweenStatements_SelectorOption {
selector: string;
lineMode?: ("any" | "singleline" | "multiline");
} // ----- @stylistic/quote-props -----
type StylisticQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
keywords?: boolean;
unnecessary?: boolean;
numbers?: boolean;
}]); // ----- @stylistic/quotes -----
type StylisticQuotes = [] | [("single" | "double" | "backtick")] | [("single" | "double" | "backtick"), ("avoid-escape" | {
avoidEscape?: boolean;
allowTemplateLiterals?: (boolean | ("never" | "avoidEscape" | "always"));
ignoreStringLiterals?: boolean;
})]; // ----- @stylistic/rest-spread-spacing -----
type StylisticRestSpreadSpacing = [] | [("always" | "never")]; // ----- @stylistic/semi -----
type StylisticSemi = ([] | ["never"] | ["never", {
beforeStatementContinuationChars?: ("always" | "any" | "never");
}] | [] | ["always"] | ["always", {
omitLastInOneLineBlock?: boolean;
omitLastInOneLineClassBody?: boolean;
}]); // ----- @stylistic/semi-spacing -----
type StylisticSemiSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- @stylistic/semi-style -----
type StylisticSemiStyle = [] | [("last" | "first")]; // ----- @stylistic/space-before-blocks -----
type StylisticSpaceBeforeBlocks = [] | [(("always" | "never") | {
keywords?: ("always" | "never" | "off");
functions?: ("always" | "never" | "off");
classes?: ("always" | "never" | "off");
modules?: ("always" | "never" | "off");
})]; // ----- @stylistic/space-before-function-paren -----
type StylisticSpaceBeforeFunctionParen = [] | [(("always" | "never") | {
anonymous?: ("always" | "never" | "ignore");
named?: ("always" | "never" | "ignore");
asyncArrow?: ("always" | "never" | "ignore");
catch?: ("always" | "never" | "ignore");
})]; // ----- @stylistic/space-in-parens -----
type StylisticSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
exceptions?: ("{}" | "[]" | "()" | "empty")[];
}]; // ----- @stylistic/space-infix-ops -----
type StylisticSpaceInfixOps = [] | [{
int32Hint?: boolean;
ignoreTypes?: boolean;
}]; // ----- @stylistic/space-unary-ops -----
type StylisticSpaceUnaryOps = [] | [{
words?: boolean;
nonwords?: boolean;
overrides?: {
[k: string]: boolean | undefined;
};
}]; // ----- @stylistic/spaced-comment -----
type StylisticSpacedComment = [] | [("always" | "never")] | [("always" | "never"), {
exceptions?: string[];
markers?: string[];
line?: {
exceptions?: string[];
markers?: string[];
};
block?: {
exceptions?: string[];
markers?: string[];
balanced?: boolean;
};
}]; // ----- @stylistic/switch-colon-spacing -----
type StylisticSwitchColonSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- @stylistic/template-curly-spacing -----
type StylisticTemplateCurlySpacing = [] | [("always" | "never")]; // ----- @stylistic/template-tag-spacing -----
type StylisticTemplateTagSpacing = [] | [("always" | "never")]; // ----- @stylistic/type-annotation-spacing -----
type StylisticTypeAnnotationSpacing = [] | [{
before?: boolean;
after?: boolean;
overrides?: {
colon?: _StylisticTypeAnnotationSpacing_SpacingConfig;
arrow?: ("ignore" | _StylisticTypeAnnotationSpacing_SpacingConfig);
variable?: _StylisticTypeAnnotationSpacing_SpacingConfig;
parameter?: _StylisticTypeAnnotationSpacing_SpacingConfig;
property?: _StylisticTypeAnnotationSpacing_SpacingConfig;
returnType?: _StylisticTypeAnnotationSpacing_SpacingConfig;
};
}];
interface _StylisticTypeAnnotationSpacing_SpacingConfig {
before?: boolean;
after?: boolean;
} // ----- @stylistic/wrap-iife -----
type StylisticWrapIife = [] | [("outside" | "inside" | "any")] | [("outside" | "inside" | "any"), {
functionPrototypeMethods?: boolean;
}]; // ----- @stylistic/yield-star-spacing -----
type StylisticYieldStarSpacing = [] | [(("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
})]; // ----- @typescript-eslint/array-type -----
type TypescriptEslintArrayType = [] | [{
default?: ("array" | "generic" | "array-simple");
readonly?: ("array" | "generic" | "array-simple");
}]; // ----- @typescript-eslint/ban-ts-comment -----
type TypescriptEslintBanTsComment = [] | [{
minimumDescriptionLength?: number;
"ts-check"?: (boolean | "allow-with-description" | {
descriptionFormat?: string;
});
"ts-expect-error"?: (boolean | "allow-with-description" | {
descriptionFormat?: string;
});
"ts-ignore"?: (boolean | "allow-with-description" | {
descriptionFormat?: string;
});
"ts-nocheck"?: (boolean | "allow-with-description" | {
descriptionFormat?: string;
});
}]; // ----- @typescript-eslint/class-literal-property-style -----
type TypescriptEslintClassLiteralPropertyStyle = [] | [("fields" | "getters")]; // ----- @typescript-eslint/class-methods-use-this -----
type TypescriptEslintClassMethodsUseThis = [] | [{
enforceForClassFields?: boolean;
exceptMethods?: string[];
ignoreClassesThatImplementAnInterface?: (boolean | "public-fields");
ignoreOverrideMethods?: boolean;
}]; // ----- @typescript-eslint/consistent-generic-constructors -----
type TypescriptEslintConsistentGenericConstructors = [] | [("type-annotation" | "constructor")]; // ----- @typescript-eslint/consistent-indexed-object-style -----
type TypescriptEslintConsistentIndexedObjectStyle = [] | [("record" | "index-signature")]; // ----- @typescript-eslint/consistent-return -----
type TypescriptEslintConsistentReturn = [] | [{
treatUndefinedAsUnspecified?: boolean;
}]; // ----- @typescript-eslint/consistent-type-assertions -----
type TypescriptEslintConsistentTypeAssertions = [] | [({
assertionStyle: "never";
} | {
arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never");
assertionStyle?: ("as" | "angle-bracket");
objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never");
})]; // ----- @typescript-eslint/consistent-type-definitions -----
type TypescriptEslintConsistentTypeDefinitions = [] | [("interface" | "type")]; // ----- @typescript-eslint/consistent-type-exports -----
type TypescriptEslintConsistentTypeExports = [] | [{
fixMixedExportsWithInlineTypeSpecifier?: boolean;
}]; // ----- @typescript-eslint/consistent-type-imports -----
type TypescriptEslintConsistentTypeImports = [] | [{
disallowTypeAnnotations?: boolean;
fixStyle?: ("separate-type-imports" | "inline-type-imports");
prefer?: ("type-imports" | "no-type-imports");
}]; // ----- @typescript-eslint/dot-notation -----
type TypescriptEslintDotNotation = [] | [{
allowIndexSignaturePropertyAccess?: boolean;
allowKeywords?: boolean;
allowPattern?: string;
allowPrivateClassPropertyAccess?: boolean;
allowProtectedClassPropertyAccess?: boolean;
}]; // ----- @typescript-eslint/explicit-function-return-type -----
type TypescriptEslintExplicitFunctionReturnType = [] | [{
allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean;
allowDirectConstAssertionInArrowFunctions?: boolean;
allowedNames?: string[];
allowExpressions?: boolean;
allowFunctionsWithoutTypeParameters?: boolean;
allowHigherOrderFunctions?: boolean;
allowIIFEs?: boolean;
allowTypedFunctionExpressions?: boolean;
}]; // ----- @typescript-eslint/explicit-member-accessibility -----
type TypescriptEslintExplicitMemberAccessibility = [] | [{
accessibility?: ("explicit" | "no-public" | "off");
ignoredMethodNames?: string[];
overrides?: {
accessors?: ("explicit" | "no-public" | "off");
constructors?: ("explicit" | "no-public" | "off");
methods?: ("explicit" | "no-public" | "off");
parameterProperties?: ("explicit" | "no-public" | "off");
properties?: ("explicit" | "no-public" | "off");
};
}]; // ----- @typescript-eslint/explicit-module-boundary-types -----
type TypescriptEslintExplicitModuleBoundaryTypes = [] | [{
allowArgumentsExplicitlyTypedAsAny?: boolean;
allowDirectConstAssertionInArrowFunctions?: boolean;
allowedNames?: string[];
allowHigherOrderFunctions?: boolean;
allowOverloadFunctions?: boolean;
allowTypedFunctionExpressions?: boolean;
}]; // ----- @typescript-eslint/init-declarations -----
type TypescriptEslintInitDeclarations = ([] | ["always"] | [] | ["never"] | ["never", {
ignoreForLoopInit?: boolean;
}]); // ----- @typescript-eslint/max-params -----
type TypescriptEslintMaxParams = [] | [{
countVoidThis?: boolean;
max?: number;
maximum?: number;
}]; // ----- @typescript-eslint/member-ordering -----
type TypescriptEslintMemberOrdering = [] | [{
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")[])[] | {
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");
optionalityOrder?: ("optional-first" | "required-first");
order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
});
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")[])[] | {
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");
optionalityOrder?: ("optional-first" | "required-first");
order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
});
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")[])[] | {
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");
optionalityOrder?: ("optional-first" | "required-first");
order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
});
interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never");
optionalityOrder?: ("optional-first" | "required-first");
order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
});
typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never");
optionalityOrder?: ("optional-first" | "required-first");
order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
});
}]; // ----- @typescript-eslint/method-signature-style -----
type TypescriptEslintMethodSignatureStyle = [] | [("property" | "method")]; // ----- @typescript-eslint/naming-convention -----
type _TypescriptEslintNamingConventionFormatOptionsConfig = (_TypescriptEslintNamingConventionPredefinedFormats[] | null);
type _TypescriptEslintNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
type _TypescriptEslintNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
type _TypescriptEslintNamingConvention_PrefixSuffixConfig = string[];
type _TypescriptEslintNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array");
type TypescriptEslintNamingConvention = ({
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[];
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")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "default";
modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "variableLike";
modifiers?: ("unused" | "async")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "variable";
modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "function";
modifiers?: ("exported" | "global" | "unused" | "async")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "parameter";
modifiers?: ("destructured" | "unused")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "memberLike";
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "classProperty";
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "objectLiteralProperty";
modifiers?: ("public" | "requiresQuotes")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "typeProperty";
modifiers?: ("public" | "readonly" | "requiresQuotes")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "parameterProperty";
modifiers?: ("private" | "protected" | "public" | "readonly")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "property";
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "classMethod";
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "objectLiteralMethod";
modifiers?: ("public" | "requiresQuotes" | "async")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "typeMethod";
modifiers?: ("public" | "requiresQuotes")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "method";
modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "classicAccessor";
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "autoAccessor";
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "accessor";
modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
types?: _TypescriptEslintNamingConventionTypeModifiers[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "enumMember";
modifiers?: ("requiresQuotes")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "typeLike";
modifiers?: ("abstract" | "exported" | "unused")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "class";
modifiers?: ("abstract" | "exported" | "unused")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "interface";
modifiers?: ("exported" | "unused")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "typeAlias";
modifiers?: ("exported" | "unused")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "enum";
modifiers?: ("exported" | "unused")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "typeParameter";
modifiers?: ("unused")[];
} | {
custom?: _TypescriptEslintNamingConvention_MatchRegexConfig;
failureMessage?: string;
format: _TypescriptEslintNamingConventionFormatOptionsConfig;
leadingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
prefix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
suffix?: _TypescriptEslintNamingConvention_PrefixSuffixConfig;
trailingUnderscore?: _TypescriptEslintNamingConventionUnderscoreOptions;
filter?: (string | _TypescriptEslintNamingConvention_MatchRegexConfig);
selector: "import";
modifiers?: ("default" | "namespace")[];
})[];
interface _TypescriptEslintNamingConvention_MatchRegexConfig {
match: boolean;
regex: string;
} // ----- @typescript-eslint/no-base-to-string -----
type TypescriptEslintNoBaseToString = [] | [{
checkUnknown?: boolean;
ignoredTypeNames?: string[];
}]; // ----- @typescript-eslint/no-confusing-void-expression -----
type TypescriptEslintNoConfusingVoidExpression = [] | [{
ignoreArrowShorthand?: boolean;
ignoreVoidOperator?: boolean;
ignoreVoidReturningFunctions?: boolean;
}]; // ----- @typescript-eslint/no-deprecated -----
type TypescriptEslintNoDeprecated = [] | [{
allow?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
}]; // ----- @typescript-eslint/no-duplicate-type-constituents -----
type TypescriptEslintNoDuplicateTypeConstituents = [] | [{
ignoreIntersections?: boolean;
ignoreUnions?: boolean;
}]; // ----- @typescript-eslint/no-empty-function -----
type TypescriptEslintNoEmptyFunction = [] | [{
allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[];
}]; // ----- @typescript-eslint/no-empty-interface -----
type TypescriptEslintNoEmptyInterface = [] | [{
allowSingleExtends?: boolean;
}]; // ----- @typescript-eslint/no-empty-object-type -----
type TypescriptEslintNoEmptyObjectType = [] | [{
allowInterfaces?: ("always" | "never" | "with-single-extends");
allowObjectTypes?: ("always" | "never");
allowWithName?: string;
}]; // ----- @typescript-eslint/no-explicit-any -----
type TypescriptEslintNoExplicitAny = [] | [{
fixToUnknown?: boolean;
ignoreRestArgs?: boolean;
}]; // ----- @typescript-eslint/no-extraneous-class -----
type TypescriptEslintNoExtraneousClass = [] | [{
allowConstructorOnly?: boolean;
allowEmpty?: boolean;
allowStaticOnly?: boolean;
allowWithDecorator?: boolean;
}]; // ----- @typescript-eslint/no-floating-promises -----
type TypescriptEslintNoFloatingPromises = [] | [{
allowForKnownSafeCalls?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
allowForKnownSafePromises?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
checkThenables?: boolean;
ignoreIIFE?: boolean;
ignoreVoid?: boolean;
}]; // ----- @typescript-eslint/no-inferrable-types -----
type TypescriptEslintNoInferrableTypes = [] | [{
ignoreParameters?: boolean;
ignoreProperties?: boolean;
}]; // ----- @typescript-eslint/no-invalid-this -----
type TypescriptEslintNoInvalidThis = [] | [{
capIsConstructor?: boolean;
}]; // ----- @typescript-eslint/no-invalid-void-type -----
type TypescriptEslintNoInvalidVoidType = [] | [{
allowAsThisParameter?: boolean;
allowInGenericTypeArguments?: (boolean | [string, ...(string)[]]);
}]; // ----- @typescript-eslint/no-magic-numbers -----
type TypescriptEslintNoMagicNumbers = [] | [{
detectObjects?: boolean;
enforceConst?: boolean;
ignore?: (number | string)[];
ignoreArrayIndexes?: boolean;
ignoreDefaultValues?: boolean;
ignoreClassFieldInitialValues?: boolean;
ignoreEnums?: boolean;
ignoreNumericLiteralTypes?: boolean;
ignoreReadonlyClassProperties?: boolean;
ignoreTypeIndexes?: boolean;
}]; // ----- @typescript-eslint/no-meaningless-void-operator -----
type TypescriptEslintNoMeaninglessVoidOperator = [] | [{
checkNever?: boolean;
}]; // ----- @typescript-eslint/no-misused-promises -----
type TypescriptEslintNoMisusedPromises = [] | [{
checksConditionals?: boolean;
checksSpreads?: boolean;
checksVoidReturn?: (boolean | {
arguments?: boolean;
attributes?: boolean;
inheritedMethods?: boolean;
properties?: boolean;
returns?: boolean;
variables?: boolean;
});
}]; // ----- @typescript-eslint/no-misused-spread -----
type TypescriptEslintNoMisusedSpread = [] | [{
allow?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
}]; // ----- @typescript-eslint/no-namespace -----
type TypescriptEslintNoNamespace = [] | [{
allowDeclarations?: boolean;
allowDefinitionFiles?: boolean;
}]; // ----- @typescript-eslint/no-redeclare -----
type TypescriptEslintNoRedeclare = [] | [{
builtinGlobals?: boolean;
ignoreDeclarationMerge?: boolean;
}]; // ----- @typescript-eslint/no-require-imports -----
type TypescriptEslintNoRequireImports = [] | [{
allow?: string[];
allowAsImport?: boolean;
}]; // ----- @typescript-eslint/no-restricted-imports -----
type TypescriptEslintNoRestrictedImports = ((string | {
name: string;
message?: string;
importNames?: string[];
allowImportNames?: string[];
allowTypeImports?: boolean;
})[] | [] | [{
paths?: (string | {
name: string;
message?: string;
importNames?: string[];
allowImportNames?: string[];
allowTypeImports?: boolean;
})[];
patterns?: (string[] | {
importNames?: [string, ...(string)[]];
allowImportNames?: [string, ...(string)[]];
group?: [string, ...(string)[]];
regex?: string;
importNamePattern?: string;
allowImportNamePattern?: string;
message?: string;
caseSensitive?: boolean;
allowTypeImports?: boolean;
}[]);
}]); // ----- @typescript-eslint/no-restricted-types -----
type TypescriptEslintNoRestrictedTypes = [] | [{
types?: {
[k: string]: (true | string | {
fixWith?: string;
message?: string;
suggest?: string[];
}) | undefined;
};
}]; // ----- @typescript-eslint/no-shadow -----
type TypescriptEslintNoShadow = [] | [{
allow?: string[];
builtinGlobals?: boolean;
hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types");
ignoreFunctionTypeParameterNameValueShadow?: boolean;
ignoreOnInitialization?: boolean;
ignoreTypeValueShadow?: boolean;
}]; // ----- @typescript-eslint/no-this-alias -----
type TypescriptEslintNoThisAlias = [] | [{
allowDestructuring?: boolean;
allowedNames?: string[];
}]; // ----- @typescript-eslint/no-type-alias -----
type TypescriptEslintNoTypeAlias = [] | [{
allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
allowCallbacks?: ("always" | "never");
allowConditionalTypes?: ("always" | "never");
allowConstructors?: ("always" | "never");
allowGenerics?: ("always" | "never");
allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
}]; // ----- @typescript-eslint/no-unnecessary-boolean-literal-compare -----
type TypescriptEslintNoUnnecessaryBooleanLiteralCompare = [] | [{
allowComparingNullableBooleansToFalse?: boolean;
allowComparingNullableBooleansToTrue?: boolean;
allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
}]; // ----- @typescript-eslint/no-unnecessary-condition -----
type TypescriptEslintNoUnnecessaryCondition = [] | [{
allowConstantLoopConditions?: (boolean | ("always" | "never" | "only-allowed-literals"));
allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
checkTypePredicates?: boolean;
}]; // ----- @typescript-eslint/no-unnecessary-type-assertion -----
type TypescriptEslintNoUnnecessaryTypeAssertion = [] | [{
checkLiteralConstAssertions?: boolean;
typesToIgnore?: string[];
}]; // ----- @typescript-eslint/no-unsafe-member-access -----
type TypescriptEslintNoUnsafeMemberAccess = [] | [{
allowOptionalChaining?: boolean;
}]; // ----- @typescript-eslint/no-unused-expressions -----
type TypescriptEslintNoUnusedExpressions = [] | [{
allowShortCircuit?: boolean;
allowTernary?: boolean;
allowTaggedTemplates?: boolean;
enforceForJSX?: boolean;
ignoreDirectives?: boolean;
}]; // ----- @typescript-eslint/no-unused-vars -----
type TypescriptEslintNoUnusedVars = [] | [(("all" | "local") | {
args?: ("all" | "after-used" | "none");
argsIgnorePattern?: string;
caughtErrors?: ("all" | "none");
caughtErrorsIgnorePattern?: string;
destructuredArrayIgnorePattern?: string;
enableAutofixRemoval?: {
imports?: boolean;
};
ignoreClassWithStaticInitBlock?: boolean;
ignoreRestSiblings?: boolean;
ignoreUsingDeclarations?: boolean;
reportUsedIgnorePattern?: boolean;
vars?: ("all" | "local");
varsIgnorePattern?: string;
})]; // ----- @typescript-eslint/no-use-before-define -----
type TypescriptEslintNoUseBeforeDefine = [] | [("nofunc" | {
allowNamedExports?: boolean;
classes?: boolean;
enums?: boolean;
functions?: boolean;
ignoreTypeReferences?: boolean;
typedefs?: boolean;
variables?: boolean;
})]; // ----- @typescript-eslint/no-useless-default-assignment -----
type TypescriptEslintNoUselessDefaultAssignment = [] | [{
allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
}]; // ----- @typescript-eslint/no-var-requires -----
type TypescriptEslintNoVarRequires = [] | [{
allow?: string[];
}]; // ----- @typescript-eslint/only-throw-error -----
type TypescriptEslintOnlyThrowError = [] | [{
allow?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
allowRethrowing?: boolean;
allowThrowingAny?: boolean;
allowThrowingUnknown?: boolean;
}]; // ----- @typescript-eslint/parameter-properties -----
type TypescriptEslintParameterProperties = [] | [{
allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[];
prefer?: ("class-property" | "parameter-property");
}]; // ----- @typescript-eslint/prefer-destructuring -----
type TypescriptEslintPreferDestructuring = [] | [({
AssignmentExpression?: {
array?: boolean;
object?: boolean;
};
VariableDeclarator?: {
array?: boolean;
object?: boolean;
};
} | {
array?: boolean;
object?: boolean;
})] | [({
AssignmentExpression?: {
array?: boolean;
object?: boolean;
};
VariableDeclarator?: {
array?: boolean;
object?: boolean;
};
} | {
array?: boolean;
object?: boolean;
}), {
enforceForDeclarationWithTypeAnnotation?: boolean;
enforceForRenamedProperties?: boolean;
}]; // ----- @typescript-eslint/prefer-literal-enum-member -----
type TypescriptEslintPreferLiteralEnumMember = [] | [{
allowBitwiseExpressions?: boolean;
}]; // ----- @typescript-eslint/prefer-nullish-coalescing -----
type TypescriptEslintPreferNullishCoalescing = [] | [{
allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
ignoreBooleanCoercion?: boolean;
ignoreConditionalTests?: boolean;
ignoreIfStatements?: boolean;
ignoreMixedLogicalExpressions?: boolean;
ignorePrimitives?: ({
bigint?: boolean;
boolean?: boolean;
number?: boolean;
string?: boolean;
} | true);
ignoreTernaryTests?: boolean;
}]; // ----- @typescript-eslint/prefer-optional-chain -----
type TypescriptEslintPreferOptionalChain = [] | [{
allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean;
checkAny?: boolean;
checkBigInt?: boolean;
checkBoolean?: boolean;
checkNumber?: boolean;
checkString?: boolean;
checkUnknown?: boolean;
requireNullish?: boolean;
}]; // ----- @typescript-eslint/prefer-promise-reject-errors -----
type TypescriptEslintPreferPromiseRejectErrors = [] | [{
allow?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
allowEmptyReject?: boolean;
allowThrowingAny?: boolean;
allowThrowingUnknown?: boolean;
}]; // ----- @typescript-eslint/prefer-readonly -----
type TypescriptEslintPreferReadonly = [] | [{
onlyInlineLambdas?: boolean;
}]; // ----- @typescript-eslint/prefer-readonly-parameter-types -----
type TypescriptEslintPreferReadonlyParameterTypes = [] | [{
allow?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
checkParameterProperties?: boolean;
ignoreInferredTypes?: boolean;
treatMethodsAsReadonly?: boolean;
}]; // ----- @typescript-eslint/prefer-string-starts-ends-with -----
type TypescriptEslintPreferStringStartsEndsWith = [] | [{
allowSingleElementEquality?: ("always" | "never");
}]; // ----- @typescript-eslint/promise-function-async -----
type TypescriptEslintPromiseFunctionAsync = [] | [{
allowAny?: boolean;
allowedPromiseNames?: string[];
checkArrowFunctions?: boolean;
checkFunctionDeclarations?: boolean;
checkFunctionExpressions?: boolean;
checkMethodDeclarations?: boolean;
}]; // ----- @typescript-eslint/require-array-sort-compare -----
type TypescriptEslintRequireArraySortCompare = [] | [{
ignoreStringArrays?: boolean;
}]; // ----- @typescript-eslint/restrict-plus-operands -----
type TypescriptEslintRestrictPlusOperands = [] | [{
allowAny?: boolean;
allowBoolean?: boolean;
allowNullish?: boolean;
allowNumberAndString?: boolean;
allowRegExp?: boolean;
skipCompoundAssignments?: boolean;
}]; // ----- @typescript-eslint/restrict-template-expressions -----
type TypescriptEslintRestrictTemplateExpressions = [] | [{
allowAny?: boolean;
allowArray?: boolean;
allowBoolean?: boolean;
allowNullish?: boolean;
allowNumber?: boolean;
allowRegExp?: boolean;
allowNever?: boolean;
allow?: (string | {
from: "file";
name: (string | [string, ...(string)[]]);
path?: string;
} | {
from: "lib";
name: (string | [string, ...(string)[]]);
} | {
from: "package";
name: (string | [string, ...(string)[]]);
package: string;
})[];
}]; // ----- @typescript-eslint/return-await -----
type TypescriptEslintReturnAwait = [] | [(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)]; // ----- @typescript-eslint/sort-type-constituents -----
type TypescriptEslintSortTypeConstituents = [] | [{
caseSensitive?: boolean;
checkIntersections?: boolean;
checkUnions?: boolean;
groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[];
}]; // ----- @typescript-eslint/strict-boolean-expressions -----
type TypescriptEslintStrictBooleanExpressions = [] | [{
allowAny?: boolean;
allowNullableBoolean?: boolean;
allowNullableEnum?: boolean;
allowNullableNumber?: boolean;
allowNullableObject?: boolean;
allowNullableString?: boolean;
allowNumber?: boolean;
allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
allowString?: boolean;
}]; // ----- @typescript-eslint/strict-void-return -----
type TypescriptEslintStrictVoidReturn = [] | [{
allowReturnAny?: boolean;
}]; // ----- @typescript-eslint/switch-exhaustiveness-check -----
type TypescriptEslintSwitchExhaustivenessCheck = [] | [{
allowDefaultCaseForExhaustiveSwitch?: boolean;
considerDefaultExhaustiveForUnions?: boolean;
defaultCaseCommentPattern?: string;
requireDefaultForNonUnion?: boolean;
}]; // ----- @typescript-eslint/triple-slash-reference -----
type TypescriptEslintTripleSlashReference = [] | [{
lib?: ("always" | "never");
path?: ("always" | "never");
types?: ("always" | "never" | "prefer-import");
}]; // ----- @typescript-eslint/typedef -----
type TypescriptEslintTypedef = [] | [{
arrayDestructuring?: boolean;
arrowParameter?: boolean;
memberVariableDeclaration?: boolean;
objectDestructuring?: boolean;
parameter?: boolean;
propertyDeclaration?: boolean;
variableDeclaration?: boolean;
variableDeclarationIgnoreFunction?: boolean;
}]; // ----- @typescript-eslint/unbound-method -----
type TypescriptEslintUnboundMethod = [] | [{
ignoreStatic?: boolean;
}]; // ----- @typescript-eslint/unified-signatures -----
type TypescriptEslintUnifiedSignatures = [] | [{
ignoreDifferentlyNamedParameters?: boolean;
ignoreOverloadsWithDifferentJSDoc?: boolean;
}]; // ----- accessor-pairs -----
type AccessorPairs = [] | [{
getWithoutSet?: boolean;
setWithoutGet?: boolean;
enforceForClassMembers?: boolean;
enforceForTSTypes?: boolean;
}]; // ----- antfu/consistent-chaining -----
type AntfuConsistentChaining = [] | [{
allowLeadingPropertyAccess?: boolean;
}]; // ----- antfu/consistent-list-newline -----
type AntfuConsistentListNewline = [] | [{
ArrayExpression?: boolean;
ArrayPattern?: boolean;
ArrowFunctionExpression?: boolean;
CallExpression?: boolean;
ExportNamedDeclaration?: boolean;
FunctionDeclaration?: boolean;
FunctionExpression?: boolean;
IfStatement?: boolean;
ImportDeclaration?: boolean;
JSONArrayExpression?: boolean;
JSONObjectExpression?: boolean;
JSXOpeningElement?: boolean;
NewExpression?: boolean;
ObjectExpression?: boolean;
ObjectPattern?: boolean;
TSFunctionType?: boolean;
TSInterfaceDeclaration?: boolean;
TSTupleType?: boolean;
TSTypeLiteral?: boolean;
TSTypeParameterDeclaration?: boolean;
TSTypeParameterInstantiation?: boolean;
}]; // ----- antfu/indent-unindent -----
type AntfuIndentUnindent = [] | [{
indent?: number;
tags?: string[];
}]; // ----- array-bracket-newline -----
type ArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
})]; // ----- array-bracket-spacing -----
type ArrayBracketSpacing = [] | [("always" | "never")] | [("always" | "never"), {
singleValue?: boolean;
objectsInArrays?: boolean;
arraysInArrays?: boolean;
}]; // ----- array-callback-return -----
type ArrayCallbackReturn = [] | [{
allowImplicit?: boolean;
checkForEach?: boolean;
allowVoid?: boolean;
}]; // ----- array-element-newline -----
type ArrayElementNewline = [] | [(_ArrayElementNewlineBasicConfig | {
ArrayExpression?: _ArrayElementNewlineBasicConfig;
ArrayPattern?: _ArrayElementNewlineBasicConfig;
})];
type _ArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
}); // ----- arrow-body-style -----
type ArrowBodyStyle = ([] | [("always" | "never")] | [] | ["as-needed"] | ["as-needed", {
requireReturnForObjectLiteral?: boolean;
}]); // ----- arrow-parens -----
type ArrowParens = [] | [("always" | "as-needed")] | [("always" | "as-needed"), {
requireForBlockBody?: boolean;
}]; // ----- arrow-spacing -----
type ArrowSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- block-spacing -----
type BlockSpacing = [] | [("always" | "never")]; // ----- brace-style -----
type BraceStyle = [] | [("1tbs" | "stroustrup" | "allman")] | [("1tbs" | "stroustrup" | "allman"), {
allowSingleLine?: boolean;
}]; // ----- callback-return -----
type CallbackReturn = [] | [string[]]; // ----- camelcase -----
type Camelcase = [] | [{
ignoreDestructuring?: boolean;
ignoreImports?: boolean;
ignoreGlobals?: boolean;
properties?: ("always" | "never");
allow?: string[];
}]; // ----- capitalized-comments -----
type CapitalizedComments = [] | [("always" | "never")] | [("always" | "never"), ({
ignorePattern?: string;
ignoreInlineComments?: boolean;
ignoreConsecutiveComments?: boolean;
} | {
line?: {
ignorePattern?: string;
ignoreInlineComments?: boolean;
ignoreConsecutiveComments?: boolean;
};
block?: {
ignorePattern?: string;
ignoreInlineComments?: boolean;
ignoreConsecutiveComments?: boolean;
};
})]; // ----- class-methods-use-this -----
type ClassMethodsUseThis = [] | [{
exceptMethods?: string[];
enforceForClassFields?: boolean;
ignoreOverrideMethods?: boolean;
ignoreClassesWithImplements?: ("all" | "public-fields");
}]; // ----- comma-dangle -----
type CommaDangle = [] | [(_CommaDangleValue | {
arrays?: _CommaDangleValueWithIgnore;
objects?: _CommaDangleValueWithIgnore;
imports?: _CommaDangleValueWithIgnore;
exports?: _CommaDangleValueWithIgnore;
functions?: _CommaDangleValueWithIgnore;
})];
type _CommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _CommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- comma-spacing -----
type CommaSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- comma-style -----
type CommaStyle = [] | [("first" | "last")] | [("first" | "last"), {
exceptions?: {
[k: string]: boolean | undefined;
};
}]; // ----- complexity -----
type Complexity = [] | [(number | {
maximum?: number;
max?: number;
variant?: ("classic" | "modified");
})]; // ----- computed-property-spacing -----
type ComputedPropertySpacing = [] | [("always" | "never")] | [("always" | "never"), {
enforceForClassMembers?: boolean;
}]; // ----- consistent-return -----
type ConsistentReturn = [] | [{
treatUndefinedAsUnspecified?: boolean;
}]; // ----- consistent-this -----
type ConsistentThis = string[]; // ----- curly -----
type Curly = ([] | ["all"] | [] | [("multi" | "multi-line" | "multi-or-nest")] | [("multi" | "multi-line" | "multi-or-nest"), "consistent"]); // ----- default-case -----
type DefaultCase = [] | [{
commentPattern?: string;
}]; // ----- dot-location -----
type DotLocation = [] | [("object" | "property")]; // ----- dot-notation -----
type DotNotation = [] | [{
allowKeywords?: boolean;
allowPattern?: string;
}]; // ----- eol-last -----
type EolLast = [] | [("always" | "never" | "unix" | "windows")]; // ----- eqeqeq -----
type Eqeqeq = ([] | ["always"] | ["always", {
null?: ("always" | "never" | "ignore");
}] | [] | [("smart" | "allow-null")]); // ----- func-call-spacing -----
type FuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
allowNewlines?: boolean;
}]); // ----- func-name-matching -----
type FuncNameMatching = ([] | [("always" | "never")] | [("always" | "never"), {
considerPropertyDescriptor?: boolean;
includeCommonJSModuleExports?: boolean;
}] | [] | [{
considerPropertyDescriptor?: boolean;
includeCommonJSModuleExports?: boolean;
}]); // ----- func-names -----
type FuncNames = [] | [_FuncNamesValue] | [_FuncNamesValue, {
generators?: _FuncNamesValue;
}];
type _FuncNamesValue = ("always" | "as-needed" | "never"); // ----- func-style -----
type FuncStyle = [] | [("declaration" | "expression")] | [("declaration" | "expression"), {
allowArrowFunctions?: boolean;
allowTypeAnnotation?: boolean;
overrides?: {
namedExports?: ("declaration" | "expression" | "ignore");
};
}]; // ----- function-call-argument-newline -----
type FunctionCallArgumentNewline = [] | [("always" | "never" | "consistent")]; // ----- function-paren-newline -----
type FunctionParenNewline = [] | [(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
minItems?: number;
})]; // ----- generator-star-spacing -----
type GeneratorStarSpacing = [] | [(("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
named?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
anonymous?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
method?: (("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
});
})]; // ----- getter-return -----
type GetterReturn = [] | [{
allowImplicit?: boolean;
}]; // ----- grouped-accessor-pairs -----
type GroupedAccessorPairs = [] | [("anyOrder" | "getBeforeSet" | "setBeforeGet")] | [("anyOrder" | "getBeforeSet" | "setBeforeGet"), {
enforceForTSTypes?: boolean;
}]; // ----- handle-callback-err -----
type HandleCallbackErr = [] | [string]; // ----- id-blacklist -----
type IdBlacklist = string[]; // ----- id-denylist -----
type IdDenylist = string[]; // ----- id-length -----
type IdLength = [] | [{
min?: number;
max?: number;
exceptions?: string[];
exceptionPatterns?: string[];
properties?: ("always" | "never");
}]; // ----- id-match -----
type IdMatch = [] | [string] | [string, {
properties?: boolean;
classFields?: boolean;
onlyDeclarations?: boolean;
ignoreDestructuring?: boolean;
}]; // ----- implicit-arrow-linebreak -----
type ImplicitArrowLinebreak = [] | [("beside" | "below")]; // ----- import/consistent-type-specifier-style -----
type ImportConsistentTypeSpecifierStyle = [] | [("top-level" | "inline" | "prefer-top-level")]; // ----- import/first -----
type ImportFirst = [] | [("absolute-first" | "disable-absolute-first")]; // ----- import/newline-after-import -----
type ImportNewlineAfterImport = [] | [{
count?: number;
exactCount?: boolean;
considerComments?: boolean;
}]; // ----- import/no-duplicates -----
type ImportNoDuplicates = [] | [{
"prefer-inline"?: boolean;
}]; // ----- import/prefer-default-export -----
type ImportPreferDefaultExport = [] | [{
target?: ("single" | "any");
}]; // ----- indent -----
type Indent = [] | [("tab" | number)] | [("tab" | number), {
SwitchCase?: number;
VariableDeclarator?: ((number | ("first" | "off")) | {
var?: (number | ("first" | "off"));
let?: (number | ("first" | "off"));
const?: (number | ("first" | "off"));
});
outerIIFEBody?: (number | "off");
MemberExpression?: (number | "off");
FunctionDeclaration?: {
parameters?: (number | ("first" | "off"));
body?: number;
};
FunctionExpression?: {
parameters?: (number | ("first" | "off"));
body?: number;
};
StaticBlock?: {
body?: number;
};
CallExpression?: {
arguments?: (number | ("first" | "off"));
};
ArrayExpression?: (number | ("first" | "off"));
ObjectExpression?: (number | ("first" | "off"));
ImportDeclaration?: (number | ("first" | "off"));
flatTernaryExpressions?: boolean;
offsetTernaryExpressions?: boolean;
ignoredNodes?: string[];
ignoreComments?: boolean;
}]; // ----- indent-legacy -----
type IndentLegacy = [] | [("tab" | number)] | [("tab" | number), {
SwitchCase?: number;
VariableDeclarator?: (number | {
var?: number;
let?: number;
const?: number;
[k: string]: unknown | undefined;
});
outerIIFEBody?: number;
MemberExpression?: number;
FunctionDeclaration?: {
parameters?: (number | "first");
body?: number;
[k: string]: unknown | undefined;
};
FunctionExpression?: {
parameters?: (number | "first");
body?: number;
[k: string]: unknown | undefined;
};
CallExpression?: {
parameters?: (number | "first");
[k: string]: unknown | undefined;
};
ArrayExpression?: (number | "first");
ObjectExpression?: (number | "first");
}]; // ----- init-declarations -----
type InitDeclarations = ([] | ["always"] | [] | ["never"] | ["never", {
ignoreForLoopInit?: boolean;
}]); // ----- jest/consistent-test-it -----
type JestConsistentTestIt = [] | [{
fn?: ("it" | "test");
withinDescribe?: ("it" | "test");
}]; // ----- jest/expect-expect -----
type JestExpectExpect = [] | [{
assertFunctionNames?: string[];
additionalTestBlockFunctions?: string[];
}]; // ----- jest/max-expects -----
type JestMaxExpects = [] | [{
max?: number;
}]; // ----- jest/max-nested-describe -----
type JestMaxNestedDescribe = [] | [{
max?: number;
}]; // ----- jest/no-hooks -----
type JestNoHooks = [] | [{
allow?: unknown[];
}]; // ----- jest/no-large-snapshots -----
type JestNoLargeSnapshots = [] | [{
maxSize?: number;
inlineMaxSize?: number;
allowedSnapshots?: {
[k: string]: unknown[] | undefined;
};
}]; // ----- jest/no-restricted-jest-methods -----
type JestNoRestrictedJestMethods = [] | [{
[k: string]: (string | null) | undefined;
}]; // ----- jest/no-restricted-matchers -----
type JestNoRestrictedMatchers = [] | [{
[k: string]: (string | null) | undefined;
}]; // ----- jest/no-standalone-expect -----
type JestNoStandaloneExpect = [] | [{
additionalTestBlockFunctions?: string[];
}]; // ----- jest/prefer-ending-with-an-expect -----
type JestPreferEndingWithAnExpect = [] | [{
assertFunctionNames?: string[];
additionalTestBlockFunctions?: string[];
}]; // ----- jest/prefer-expect-assertions -----
type JestPreferExpectAssertions = [] | [{
onlyFunctionsWithAsyncKeyword?: boolean;
onlyFunctionsWithExpectInLoop?: boolean;
onlyFunctionsWithExpectInCallback?: boolean;
}]; // ----- jest/prefer-importing-jest-globals -----
type JestPreferImportingJestGlobals = [] | [{
types?: ("hook" | "describe" | "test" | "expect" | "jest" | "unknown")[];
}]; // ----- jest/prefer-lowercase-title -----
type JestPreferLowercaseTitle = [] | [{
ignore?: ("describe" | "test" | "it")[];
allowedPrefixes?: string[];
ignoreTopLevelDescribe?: boolean;
ignoreTodos?: boolean;
}]; // ----- jest/prefer-snapshot-hint -----
type JestPreferSnapshotHint = [] | [("always" | "multi")]; // ----- jest/require-hook -----
type JestRequireHook = [] | [{
allowedFunctionCalls?: string[];
}]; // ----- jest/require-top-level-describe -----
type JestRequireTopLevelDescribe = [] | [{
maxNumberOfTopLevelDescribes?: number;
}]; // ----- jest/unbound-method -----
type JestUnboundMethod = [] | [{
ignoreStatic?: boolean;
}]; // ----- jest/valid-expect -----
type JestValidExpect = [] | [{
alwaysAwait?: boolean;
asyncMatchers?: string[];
minArgs?: number;
maxArgs?: number;
}]; // ----- jest/valid-mock-module-path -----
type JestValidMockModulePath = [] | [{
moduleFileExtensions?: string[];
}]; // ----- jest/valid-title -----
type JestValidTitle = [] | [{
ignoreSpaces?: boolean;
ignoreTypeOfDescribeName?: boolean;
ignoreTypeOfTestName?: boolean;
disallowedWords?: string[];
[k: string]: (string | [string] | [string, string] | {
[k: string]: (string | [string] | [string, string]) | undefined;
});
}]; // ----- jsonc/array-bracket-newline -----
type JsoncArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
})]; // ----- jsonc/array-bracket-spacing -----
type JsoncArrayBracketSpacing = [] | [("always" | "never")] | [("always" | "never"), {
singleValue?: boolean;
objectsInArrays?: boolean;
arraysInArrays?: boolean;
}]; // ----- jsonc/array-element-newline -----
type JsoncArrayElementNewline = [] | [(_JsoncArrayElementNewlineBasicConfig | {
ArrayExpression?: _JsoncArrayElementNewlineBasicConfig;
JSONArrayExpression?: _JsoncArrayElementNewlineBasicConfig;
ArrayPattern?: _JsoncArrayElementNewlineBasicConfig;
})];
type _JsoncArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
}); // ----- jsonc/comma-dangle -----
type JsoncCommaDangle = [] | [(_JsoncCommaDangleValue | {
arrays?: _JsoncCommaDangleValueWithIgnore;
objects?: _JsoncCommaDangleValueWithIgnore;
imports?: _JsoncCommaDangleValueWithIgnore;
exports?: _JsoncCommaDangleValueWithIgnore;
functions?: _JsoncCommaDangleValueWithIgnore;
})];
type _JsoncCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _JsoncCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- jsonc/comma-style -----
type JsoncCommaStyle = [] | [("first" | "last")] | [("first" | "last"), {
exceptions?: {
[k: string]: boolean | undefined;
};
}]; // ----- jsonc/indent -----
type JsoncIndent = [] | [("tab" | number)] | [("tab" | number), {
SwitchCase?: number;
VariableDeclarator?: ((number | ("first" | "off")) | {
var?: (number | ("first" | "off"));
let?: (number | ("first" | "off"));
const?: (number | ("first" | "off"));
});
outerIIFEBody?: (number | "off");
MemberExpression?: (number | "off");
FunctionDeclaration?: {
parameters?: (number | ("first" | "off"));
body?: number;
};
FunctionExpression?: {
parameters?: (number | ("first" | "off"));
body?: number;
};
StaticBlock?: {
body?: number;
};
CallExpression?: {
arguments?: (number | ("first" | "off"));
};
ArrayExpression?: (number | ("first" | "off"));
ObjectExpression?: (number | ("first" | "off"));
ImportDeclaration?: (number | ("first" | "off"));
flatTernaryExpressions?: boolean;
offsetTernaryExpressions?: boolean;
ignoredNodes?: string[];
ignoreComments?: boolean;
}]; // ----- jsonc/key-name-casing -----
type JsoncKeyNameCasing = [] | [{
camelCase?: boolean;
PascalCase?: boolean;
SCREAMING_SNAKE_CASE?: boolean;
"kebab-case"?: boolean;
snake_case?: boolean;
ignores?: string[];
}]; // ----- jsonc/key-spacing -----
type JsoncKeySpacing = [] | [({
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
align?: {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
};
})]; // ----- jsonc/no-irregular-whitespace -----
type JsoncNoIrregularWhitespace = [] | [{
skipComments?: boolean;
skipStrings?: boolean;
skipTemplates?: boolean;
skipRegExps?: boolean;
skipJSXText?: boolean;
}]; // ----- jsonc/no-useless-escape -----
type JsoncNoUselessEscape = [] | [{
allowRegexCharacters?: string[];
}]; // ----- jsonc/object-curly-newline -----
type JsoncObjectCurlyNewline = [] | [((("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
}) | {
ObjectExpression?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ObjectPattern?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ImportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ExportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
})]; // ----- jsonc/object-curly-spacing -----
type JsoncObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
arraysInObjects?: boolean;
objectsInObjects?: boolean;
emptyObjects?: ("ignore" | "always" | "never");
}]; // ----- jsonc/object-property-newline -----
type JsoncObjectPropertyNewline = [] | [{
allowAllPropertiesOnSameLine?: boolean;
allowMultiplePropertiesPerLine?: boolean;
}]; // ----- jsonc/quote-props -----
type JsoncQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
keywords?: boolean;
unnecessary?: boolean;
numbers?: boolean;
}]); // ----- jsonc/quotes -----
type JsoncQuotes = [] | [("single" | "double" | "backtick")] | [("single" | "double" | "backtick"), ("avoid-escape" | {
avoidEscape?: boolean;
allowTemplateLiterals?: boolean;
})]; // ----- jsonc/sort-array-values -----
type JsoncSortArrayValues = [{
pathPattern: string;
order: ((string | {
valuePattern?: string;
order?: {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
};
})[] | {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
});
minValues?: number;
}, ...({
pathPattern: string;
order: ((string | {
valuePattern?: string;
order?: {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
};
})[] | {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
});
minValues?: number;
})[]]; // ----- jsonc/sort-keys -----
type JsoncSortKeys = ([{
pathPattern: string;
hasProperties?: string[];
order: ((string | {
keyPattern?: string;
order?: {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
};
})[] | {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
});
minKeys?: number;
allowLineSeparatedGroups?: boolean;
}, ...({
pathPattern: string;
hasProperties?: string[];
order: ((string | {
keyPattern?: string;
order?: {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
};
})[] | {
type?: ("asc" | "desc");
caseSensitive?: boolean;
natural?: boolean;
});
minKeys?: number;
allowLineSeparatedGroups?: boolean;
})[]] | [] | [("asc" | "desc")] | [("asc" | "desc"), {
caseSensitive?: boolean;
natural?: boolean;
minKeys?: number;
allowLineSeparatedGroups?: boolean;
}]); // ----- jsonc/space-unary-ops -----
type JsoncSpaceUnaryOps = [] | [{
words?: boolean;
nonwords?: boolean;
overrides?: {
[k: string]: boolean | undefined;
};
}]; // ----- jsx-quotes -----
type JsxQuotes = [] | [("prefer-single" | "prefer-double")]; // ----- key-spacing -----
type KeySpacing = [] | [({
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
align?: {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
};
})]; // ----- keyword-spacing -----
type KeywordSpacing = [] | [{
before?: boolean;
after?: boolean;
overrides?: {
abstract?: {
before?: boolean;
after?: boolean;
};
as?: {
before?: boolean;
after?: boolean;
};
async?: {
before?: boolean;
after?: boolean;
};
await?: {
before?: boolean;
after?: boolean;
};
boolean?: {
before?: boolean;
after?: boolean;
};
break?: {
before?: boolean;
after?: boolean;
};
byte?: {
before?: boolean;
after?: boolean;
};
case?: {
before?: boolean;
after?: boolean;
};
catch?: {
before?: boolean;
after?: boolean;
};
char?: {
before?: boolean;
after?: boolean;
};
class?: {
before?: boolean;
after?: boolean;
};
const?: {
before?: boolean;
after?: boolean;
};
continue?: {
before?: boolean;
after?: boolean;
};
debugger?: {
before?: boolean;
after?: boolean;
};
default?: {
before?: boolean;
after?: boolean;
};
delete?: {
before?: boolean;
after?: boolean;
};
do?: {
before?: boolean;
after?: boolean;
};
double?: {
before?: boolean;
after?: boolean;
};
else?: {
before?: boolean;
after?: boolean;
};
enum?: {
before?: boolean;
after?: boolean;
};
export?: {
before?: boolean;
after?: boolean;
};
extends?: {
before?: boolean;
after?: boolean;
};
false?: {
before?: boolean;
after?: boolean;
};
final?: {
before?: boolean;
after?: boolean;
};
finally?: {
before?: boolean;
after?: boolean;
};
float?: {
before?: boolean;
after?: boolean;
};
for?: {
before?: boolean;
after?: boolean;
};
from?: {
before?: boolean;
after?: boolean;
};
function?: {
before?: boolean;
after?: boolean;
};
get?: {
before?: boolean;
after?: boolean;
};
goto?: {
before?: boolean;
after?: boolean;
};
if?: {
before?: boolean;
after?: boolean;
};
implements?: {
before?: boolean;
after?: boolean;
};
import?: {
before?: boolean;
after?: boolean;
};
in?: {
before?: boolean;
after?: boolean;
};
instanceof?: {
before?: boolean;
after?: boolean;
};
int?: {
before?: boolean;
after?: boolean;
};
interface?: {
before?: boolean;
after?: boolean;
};
let?: {
before?: boolean;
after?: boolean;
};
long?: {
before?: boolean;
after?: boolean;
};
native?: {
before?: boolean;
after?: boolean;
};
new?: {
before?: boolean;
after?: boolean;
};
null?: {
before?: boolean;
after?: boolean;
};
of?: {
before?: boolean;
after?: boolean;
};
package?: {
before?: boolean;
after?: boolean;
};
private?: {
before?: boolean;
after?: boolean;
};
protected?: {
before?: boolean;
after?: boolean;
};
public?: {
before?: boolean;
after?: boolean;
};
return?: {
before?: boolean;
after?: boolean;
};
set?: {
before?: boolean;
after?: boolean;
};
short?: {
before?: boolean;
after?: boolean;
};
static?: {
before?: boolean;
after?: boolean;
};
super?: {
before?: boolean;
after?: boolean;
};
switch?: {
before?: boolean;
after?: boolean;
};
synchronized?: {
before?: boolean;
after?: boolean;
};
this?: {
before?: boolean;
after?: boolean;
};
throw?: {
before?: boolean;
after?: boolean;
};
throws?: {
before?: boolean;
after?: boolean;
};
transient?: {
before?: boolean;
after?: boolean;
};
true?: {
before?: boolean;
after?: boolean;
};
try?: {
before?: boolean;
after?: boolean;
};
typeof?: {
before?: boolean;
after?: boolean;
};
var?: {
before?: boolean;
after?: boolean;
};
void?: {
before?: boolean;
after?: boolean;
};
volatile?: {
before?: boolean;
after?: boolean;
};
while?: {
before?: boolean;
after?: boolean;
};
with?: {
before?: boolean;
after?: boolean;
};
yield?: {
before?: boolean;
after?: boolean;
};
};
}]; // ----- line-comment-position -----
type LineCommentPosition = [] | [(("above" | "beside") | {
position?: ("above" | "beside");
ignorePattern?: string;
applyDefaultPatterns?: boolean;
applyDefaultIgnorePatterns?: boolean;
})]; // ----- linebreak-style -----
type LinebreakStyle = [] | [("unix" | "windows")]; // ----- lines-around-comment -----
type LinesAroundComment = [] | [{
beforeBlockComment?: boolean;
afterBlockComment?: boolean;
beforeLineComment?: boolean;
afterLineComment?: boolean;
allowBlockStart?: boolean;
allowBlockEnd?: boolean;
allowClassStart?: boolean;
allowClassEnd?: boolean;
allowObjectStart?: boolean;
allowObjectEnd?: boolean;
allowArrayStart?: boolean;
allowArrayEnd?: boolean;
ignorePattern?: string;
applyDefaultIgnorePatterns?: boolean;
afterHashbangComment?: boolean;
}]; // ----- lines-around-directive -----
type LinesAroundDirective = [] | [(("always" | "never") | {
before?: ("always" | "never");
after?: ("always" | "never");
})]; // ----- lines-between-class-members -----
type LinesBetweenClassMembers = [] | [({
enforce: [{
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
}, ...({
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
})[]];
} | ("always" | "never"))] | [({
enforce: [{
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
}, ...({
blankLine: ("always" | "never");
prev: ("method" | "field" | "*");
next: ("method" | "field" | "*");
})[]];
} | ("always" | "never")), {
exceptAfterSingleLine?: boolean;
}]; // ----- logical-assignment-operators -----
type LogicalAssignmentOperators = (([] | ["always"] | ["always", {
enforceForIfStatements?: boolean;
}] | ["never"]) & unknown[]); // ----- max-classes-per-file -----
type MaxClassesPerFile = [] | [(number | {
ignoreExpressions?: boolean;
max?: number;
})]; // ----- max-depth -----
type MaxDepth = [] | [(number | {
maximum?: number;
max?: number;
})]; // ----- max-len -----
type MaxLen = [] | [({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number)] | [({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number), ({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number)] | [({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number), ({
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
} | number), {
code?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreStrings?: boolean;
ignoreUrls?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreTrailingComments?: boolean;
}]; // ----- max-lines -----
type MaxLines = [] | [(number | {
max?: number;
skipComments?: boolean;
skipBlankLines?: boolean;
})]; // ----- max-lines-per-function -----
type MaxLinesPerFunction = [] | [({
max?: number;
skipComments?: boolean;
skipBlankLines?: boolean;
IIFEs?: boolean;
} | number)]; // ----- max-nested-callbacks -----
type MaxNestedCallbacks = [] | [(number | {
maximum?: number;
max?: number;
})]; // ----- max-params -----
type MaxParams = [] | [(number | {
maximum?: number;
max?: number;
countVoidThis?: boolean;
countThis?: ("never" | "except-void" | "always");
})]; // ----- max-statements -----
type MaxStatements = [] | [(number | {
maximum?: number;
max?: number;
})] | [(number | {
maximum?: number;
max?: number;
}), {
ignoreTopLevelFunctions?: boolean;
}]; // ----- max-statements-per-line -----
type MaxStatementsPerLine = [] | [{
max?: number;
}]; // ----- multiline-comment-style -----
type MultilineCommentStyle = ([] | [("starred-block" | "bare-block")] | [] | ["separate-lines"] | ["separate-lines", {
checkJSDoc?: boolean;
}]); // ----- multiline-ternary -----
type MultilineTernary = [] | [("always" | "always-multiline" | "never")]; // ----- new-cap -----
type NewCap = [] | [{
newIsCap?: boolean;
capIsNew?: boolean;
newIsCapExceptions?: string[];
newIsCapExceptionPattern?: string;
capIsNewExceptions?: string[];
capIsNewExceptionPattern?: string;
properties?: boolean;
}]; // ----- new-parens -----
type NewParens = [] | [("always" | "never")]; // ----- newline-after-var -----
type NewlineAfterVar = [] | [("never" | "always")]; // ----- newline-per-chained-call -----
type NewlinePerChainedCall = [] | [{
ignoreChainWithDepth?: number;
}]; // ----- no-bitwise -----
type NoBitwise = [] | [{
allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[];
int32Hint?: boolean;
}]; // ----- no-cond-assign -----
type NoCondAssign = [] | [("except-parens" | "always")]; // ----- no-confusing-arrow -----
type NoConfusingArrow = [] | [{
allowParens?: boolean;
onlyOneSimpleParam?: boolean;
}]; // ----- no-console -----
type NoConsole = [] | [{
allow?: [string, ...(string)[]];
}]; // ----- no-constant-condition -----
type NoConstantCondition = [] | [{
checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
}]; // ----- no-duplicate-imports -----
type NoDuplicateImports = [] | [{
includeExports?: boolean;
allowSeparateTypeImports?: boolean;
}]; // ----- no-else-return -----
type NoElseReturn = [] | [{
allowElseIf?: boolean;
}]; // ----- no-empty -----
type NoEmpty = [] | [{
allowEmptyCatch?: boolean;
}]; // ----- no-empty-function -----
type NoEmptyFunction = [] | [{
allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods" | "privateConstructors" | "protectedConstructors" | "decoratedFunctions" | "overrideMethods")[];
}]; // ----- no-empty-pattern -----
type NoEmptyPattern = [] | [{
allowObjectPatternsAsParameters?: boolean;
}]; // ----- no-eval -----
type NoEval = [] | [{
allowIndirect?: boolean;
}]; // ----- no-extend-native -----
type NoExtendNative = [] | [{
exceptions?: string[];
}]; // ----- no-extra-boolean-cast -----
type NoExtraBooleanCast = [] | [({
enforceForInnerExpressions?: boolean;
} | {
enforceForLogicalOperands?: boolean;
})]; // ----- no-extra-parens -----
type NoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
conditionalAssign?: boolean;
ternaryOperandBinaryExpressions?: boolean;
nestedBinaryExpressions?: boolean;
returnAssign?: boolean;
ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
enforceForArrowConditionals?: boolean;
enforceForSequenceExpressions?: boolean;
enforceForNewInMemberExpressions?: boolean;
enforceForFunctionPrototypeMethods?: boolean;
allowParensAfterCommentPattern?: string;
}]); // ----- no-fallthrough -----
type NoFallthrough = [] | [{
commentPattern?: string;
allowEmptyCase?: boolean;
reportUnusedFallthroughComment?: boolean;
}]; // ----- no-global-assign -----
type NoGlobalAssign = [] | [{
exceptions?: string[];
}]; // ----- no-implicit-coercion -----
type NoImplicitCoercion = [] | [{
boolean?: boolean;
number?: boolean;
string?: boolean;
disallowTemplateShorthand?: boolean;
allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[];
}]; // ----- no-implicit-globals -----
type NoImplicitGlobals = [] | [{
lexicalBindings?: boolean;
}]; // ----- no-inline-comments -----
type NoInlineComments = [] | [{
ignorePattern?: string;
}]; // ----- no-inner-declarations -----
type NoInnerDeclarations = [] | [("functions" | "both")] | [("functions" | "both"), {
blockScopedFunctions?: ("allow" | "disallow");
}]; // ----- no-invalid-regexp -----
type NoInvalidRegexp = [] | [{
allowConstructorFlags?: string[];
}]; // ----- no-invalid-this -----
type NoInvalidThis = [] | [{
capIsConstructor?: boolean;
}]; // ----- no-irregular-whitespace -----
type NoIrregularWhitespace = [] | [{
skipComments?: boolean;
skipStrings?: boolean;
skipTemplates?: boolean;
skipRegExps?: boolean;
skipJSXText?: boolean;
}]; // ----- no-labels -----
type NoLabels = [] | [{
allowLoop?: boolean;
allowSwitch?: boolean;
}]; // ----- no-magic-numbers -----
type NoMagicNumbers = [] | [{
detectObjects?: boolean;
enforceConst?: boolean;
ignore?: (number | string)[];
ignoreArrayIndexes?: boolean;
ignoreDefaultValues?: boolean;
ignoreClassFieldInitialValues?: boolean;
ignoreEnums?: boolean;
ignoreNumericLiteralTypes?: boolean;
ignoreReadonlyClassProperties?: boolean;
ignoreTypeIndexes?: boolean;
}]; // ----- no-misleading-character-class -----
type NoMisleadingCharacterClass = [] | [{
allowEscape?: boolean;
}]; // ----- no-mixed-operators -----
type NoMixedOperators = [] | [{
groups?: [("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"), ...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]][];
allowSamePrecedence?: boolean;
}]; // ----- no-mixed-requires -----
type NoMixedRequires = [] | [(boolean | {
grouping?: boolean;
allowCall?: boolean;
})]; // ----- no-mixed-spaces-and-tabs -----
type NoMixedSpacesAndTabs = [] | [("smart-tabs" | true | false)]; // ----- no-multi-assign -----
type NoMultiAssign = [] | [{
ignoreNonDeclaration?: boolean;
}]; // ----- no-multi-spaces -----
type NoMultiSpaces = [] | [{
exceptions?: {
[k: string]: boolean;
};
ignoreEOLComments?: boolean;
}]; // ----- no-multiple-empty-lines -----
type NoMultipleEmptyLines = [] | [{
max: number;
maxEOF?: number;
maxBOF?: number;
}]; // ----- no-native-reassign -----
type NoNativeReassign = [] | [{
exceptions?: string[];
}]; // ----- no-only-tests/no-only-tests -----
type NoOnlyTestsNoOnlyTests = [] | [{
block?: string[];
focus?: string[];
functions?: string[];
fix?: boolean;
}]; // ----- no-param-reassign -----
type NoParamReassign = [] | [({
props?: false;
} | {
props?: true;
ignorePropertyModificationsFor?: string[];
ignorePropertyModificationsForRegex?: string[];
})]; // ----- no-plusplus -----
type NoPlusplus = [] | [{
allowForLoopAfterthoughts?: boolean;
}]; // ----- no-promise-executor-return -----
type NoPromiseExecutorReturn = [] | [{
allowVoid?: boolean;
}]; // ----- no-redeclare -----
type NoRedeclare = [] | [{
builtinGlobals?: boolean;
}]; // ----- no-restricted-exports -----
type NoRestrictedExports = [] | [({
restrictedNamedExports?: string[];
restrictedNamedExportsPattern?: string;
} | {
restrictedNamedExports?: string[];
restrictedNamedExportsPattern?: string;
restrictDefaultExports?: {
direct?: boolean;
named?: boolean;
defaultFrom?: boolean;
namedFrom?: boolean;
namespaceFrom?: boolean;
};
})]; // ----- no-restricted-globals -----
type NoRestrictedGlobals = ((string | {
name: string;
message?: string;
})[] | [] | [{
globals: (string | {
name: string;
message?: string;
})[];
checkGlobalObject?: boolean;
globalObjects?: string[];
}]); // ----- no-restricted-imports -----
type NoRestrictedImports = ((string | {
name: string;
message?: string;
importNames?: string[];
allowImportNames?: string[];
allowTypeImports?: boolean;
})[] | [] | [{
paths?: (string | {
name: string;
message?: string;
importNames?: string[];
allowImportNames?: string[];
allowTypeImports?: boolean;
})[];
patterns?: (string[] | ({
[k: string]: unknown | undefined;
} | {
[k: string]: unknown | undefined;
})[]);
}]); // ----- no-restricted-modules -----
type NoRestrictedModules = ((string | {
name: string;
message?: string;
})[] | {
paths?: (string | {
name: string;
message?: string;
})[];
patterns?: string[];
}[]); // ----- no-restricted-properties -----
type NoRestrictedProperties = ({
[k: string]: unknown | undefined;
} | {
[k: string]: unknown | undefined;
})[]; // ----- no-restricted-syntax -----
type NoRestrictedSyntax = (string | {
selector: string;
message?: string;
})[]; // ----- no-return-assign -----
type NoReturnAssign = [] | [("except-parens" | "always")]; // ----- no-self-assign -----
type NoSelfAssign = [] | [{
props?: boolean;
}]; // ----- no-sequences -----
type NoSequences = [] | [{
allowInParentheses?: boolean;
}]; // ----- no-shadow -----
type NoShadow = [] | [{
builtinGlobals?: boolean;
hoist?: ("all" | "functions" | "never" | "types" | "functions-and-types");
allow?: string[];
ignoreOnInitialization?: boolean;
ignoreTypeValueShadow?: boolean;
ignoreFunctionTypeParameterNameValueShadow?: boolean;
}]; // ----- no-shadow-restricted-names -----
type NoShadowRestrictedNames = [] | [{
reportGlobalThis?: boolean;
}]; // ----- no-sync -----
type NoSync = [] | [{
allowAtRootLevel?: boolean;
}]; // ----- no-tabs -----
type NoTabs = [] | [{
allowIndentationTabs?: boolean;
}]; // ----- no-trailing-spaces -----
type NoTrailingSpaces = [] | [{
skipBlankLines?: boolean;
ignoreComments?: boolean;
}]; // ----- no-undef -----
type NoUndef = [] | [{
typeof?: boolean;
}]; // ----- no-underscore-dangle -----
type NoUnderscoreDangle = [] | [{
allow?: string[];
allowAfterThis?: boolean;
allowAfterSuper?: boolean;
allowAfterThisConstructor?: boolean;
enforceInMethodNames?: boolean;
allowFunctionParams?: boolean;
enforceInClassFields?: boolean;
allowInArrayDestructuring?: boolean;
allowInObjectDestructuring?: boolean;
}]; // ----- no-unneeded-ternary -----
type NoUnneededTernary = [] | [{
defaultAssignment?: boolean;
}]; // ----- no-unreachable-loop -----
type NoUnreachableLoop = [] | [{
ignore?: ("WhileStatement" | "DoWhileStatement" | "ForStatement" | "ForInStatement" | "ForOfStatement")[];
}]; // ----- no-unsafe-negation -----
type NoUnsafeNegation = [] | [{
enforceForOrderingRelations?: boolean;
}]; // ----- no-unsafe-optional-chaining -----
type NoUnsafeOptionalChaining = [] | [{
disallowArithmeticOperators?: boolean;
}]; // ----- no-unused-expressions -----
type NoUnusedExpressions = [] | [{
allowShortCircuit?: boolean;
allowTernary?: boolean;
allowTaggedTemplates?: boolean;
enforceForJSX?: boolean;
ignoreDirectives?: boolean;
}]; // ----- no-unused-vars -----
type NoUnusedVars = [] | [(("all" | "local") | {
vars?: ("all" | "local");
varsIgnorePattern?: string;
args?: ("all" | "after-used" | "none");
ignoreRestSiblings?: boolean;
argsIgnorePattern?: string;
caughtErrors?: ("all" | "none");
caughtErrorsIgnorePattern?: string;
destructuredArrayIgnorePattern?: string;
ignoreClassWithStaticInitBlock?: boolean;
ignoreUsingDeclarations?: boolean;
reportUsedIgnorePattern?: boolean;
})]; // ----- no-use-before-define -----
type NoUseBeforeDefine = [] | [("nofunc" | {
functions?: boolean;
classes?: boolean;
variables?: boolean;
allowNamedExports?: boolean;
enums?: boolean;
typedefs?: boolean;
ignoreTypeReferences?: boolean;
})]; // ----- no-useless-computed-key -----
type NoUselessComputedKey = [] | [{
enforceForClassMembers?: boolean;
}]; // ----- no-useless-escape -----
type NoUselessEscape = [] | [{
allowRegexCharacters?: string[];
}]; // ----- no-useless-rename -----
type NoUselessRename = [] | [{
ignoreDestructuring?: boolean;
ignoreImport?: boolean;
ignoreExport?: boolean;
}]; // ----- no-void -----
type NoVoid = [] | [{
allowAsStatement?: boolean;
}]; // ----- no-warning-comments -----
type NoWarningComments = [] | [{
terms?: string[];
location?: ("start" | "anywhere");
decoration?: [string, ...(string)[]];
}]; // ----- nonblock-statement-body-position -----
type NonblockStatementBodyPosition = [] | [("beside" | "below" | "any")] | [("beside" | "below" | "any"), {
overrides?: {
if?: ("beside" | "below" | "any");
else?: ("beside" | "below" | "any");
while?: ("beside" | "below" | "any");
do?: ("beside" | "below" | "any");
for?: ("beside" | "below" | "any");
};
}]; // ----- object-curly-newline -----
type ObjectCurlyNewline = [] | [((("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
}) | {
ObjectExpression?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ObjectPattern?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ImportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ExportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
})]; // ----- object-curly-spacing -----
type ObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
arraysInObjects?: boolean;
objectsInObjects?: boolean;
}]; // ----- object-property-newline -----
type ObjectPropertyNewline = [] | [{
allowAllPropertiesOnSameLine?: boolean;
allowMultiplePropertiesPerLine?: boolean;
}]; // ----- object-shorthand -----
type ObjectShorthand = ([] | [("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | [] | [("always" | "methods" | "properties")] | [("always" | "methods" | "properties"), {
avoidQuotes?: boolean;
}] | [] | [("always" | "methods")] | [("always" | "methods"), {
ignoreConstructors?: boolean;
methodsIgnorePattern?: string;
avoidQuotes?: boolean;
avoidExplicitReturnArrows?: boolean;
}]); // ----- one-var -----
type OneVar = [] | [(("always" | "never" | "consecutive") | {
separateRequires?: boolean;
var?: ("always" | "never" | "consecutive");
let?: ("always" | "never" | "consecutive");
const?: ("always" | "never" | "consecutive");
using?: ("always" | "never" | "consecutive");
awaitUsing?: ("always" | "never" | "consecutive");
} | {
initialized?: ("always" | "never" | "consecutive");
uninitialized?: ("always" | "never" | "consecutive");
})]; // ----- one-var-declaration-per-line -----
type OneVarDeclarationPerLine = [] | [("always" | "initializations")]; // ----- operator-assignment -----
type OperatorAssignment = [] | [("always" | "never")]; // ----- operator-linebreak -----
type OperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [("after" | "before" | "none" | null), {
overrides?: {
[k: string]: ("after" | "before" | "none" | "ignore") | undefined;
};
}]; // ----- padded-blocks -----
type PaddedBlocks = [] | [(("always" | "never") | {
blocks?: ("always" | "never");
switches?: ("always" | "never");
classes?: ("always" | "never");
})] | [(("always" | "never") | {
blocks?: ("always" | "never");
switches?: ("always" | "never");
classes?: ("always" | "never");
}), {
allowSingleLineBlocks?: boolean;
}]; // ----- padding-line-between-statements -----
type _PaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
type _PaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "cjs-export" | "cjs-import" | "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") | [("*" | "block-like" | "cjs-export" | "cjs-import" | "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"), ...(("*" | "block-like" | "cjs-export" | "cjs-import" | "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"))[]]);
type PaddingLineBetweenStatements = {
blankLine: _PaddingLineBetweenStatementsPaddingType;
prev: _PaddingLineBetweenStatementsStatementType;
next: _PaddingLineBetweenStatementsStatementType;
}[]; // ----- perfectionist/sort-array-includes -----
type PerfectionistSortArrayIncludes = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-arrays -----
type PerfectionistSortArrays = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-classes -----
type PerfectionistSortClasses = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
decoratorNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
decoratorNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("async" | "protected" | "private" | "public" | "static" | "abstract" | "override" | "readonly" | "decorated" | "declare" | "optional")[];
selector?: ("accessor-property" | "index-signature" | "constructor" | "static-block" | "get-method" | "set-method" | "function-property" | "property" | "method");
decoratorNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
useExperimentalDependencyDetection?: boolean;
newlinesBetweenOverloadSignatures?: ("ignore" | number);
ignoreCallbackDependenciesPatterns?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-decorators -----
type PerfectionistSortDecorators = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
sortOnParameters?: boolean;
sortOnProperties?: boolean;
sortOnAccessors?: boolean;
sortOnMethods?: boolean;
sortOnClasses?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-enums -----
type PerfectionistSortEnums = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
sortByValue?: ("always" | "ifNumericEnum" | "never");
useExperimentalDependencyDetection?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-export-attributes -----
type PerfectionistSortExportAttributes = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-exports -----
type PerfectionistSortExports = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
selector?: "export";
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
selector?: "export";
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type" | "named" | "wildcard" | "multiline" | "singleline")[];
selector?: "export";
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-heritage-clauses -----
type PerfectionistSortHeritageClauses = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByNewLine?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
}[]; // ----- perfectionist/sort-import-attributes -----
type PerfectionistSortImportAttributes = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-imports -----
type PerfectionistSortImports = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("default" | "multiline" | "named" | "require" | "side-effect" | "singleline" | "ts-equals" | "type" | "value" | "wildcard")[];
selector?: ("side-effect-style" | "tsconfig-path" | "side-effect" | "external" | "internal" | "builtin" | "sibling" | "subpath" | "import" | "parent" | "index" | "style" | "type");
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "type-import-first");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("specifier" | "path");
})[];
newlinesBetween?: ("ignore" | number);
tsconfig?: {
rootDir: string;
filename?: string;
};
maxLineLength?: number;
sortSideEffects?: boolean;
environment?: ("node" | "bun");
useExperimentalDependencyDetection?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
internalPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}[]; // ----- perfectionist/sort-interfaces -----
type PerfectionistSortInterfaces = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("optional" | "required" | "multiline")[];
selector?: ("index-signature" | "member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("optional" | "required" | "multiline")[];
selector?: ("index-signature" | "member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("optional" | "required" | "multiline")[];
selector?: ("index-signature" | "member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
hasNumericKeysOnly?: boolean;
declarationCommentMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
declarationMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-intersection-types -----
type PerfectionistSortIntersectionTypes = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-jsx-props -----
type PerfectionistSortJsxProps = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("shorthand" | "multiline")[];
selector?: "prop";
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("shorthand" | "multiline")[];
selector?: "prop";
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("shorthand" | "multiline")[];
selector?: "prop";
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
tagMatchesPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
};
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-maps -----
type PerfectionistSortMaps = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-modules -----
type PerfectionistSortModules = [] | [{
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
selector?: ("enum" | "function" | "interface" | "type" | "class");
decoratorNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
selector?: ("enum" | "function" | "interface" | "type" | "class");
decoratorNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("async" | "declare" | "decorated" | "default" | "export")[];
selector?: ("enum" | "function" | "interface" | "type" | "class");
decoratorNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order" | "usage");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useExperimentalDependencyDetection?: boolean;
newlinesBetweenOverloadSignatures?: ("ignore" | number);
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}]; // ----- perfectionist/sort-named-exports -----
type PerfectionistSortNamedExports = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type")[];
selector?: "export";
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type")[];
selector?: "export";
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type")[];
selector?: "export";
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
ignoreAlias?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-named-imports -----
type PerfectionistSortNamedImports = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type")[];
selector?: "import";
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type")[];
selector?: "import";
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("value" | "type")[];
selector?: "import";
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
ignoreAlias?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-object-types -----
type PerfectionistSortObjectTypes = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("optional" | "required" | "multiline")[];
selector?: ("index-signature" | "member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("optional" | "required" | "multiline")[];
selector?: ("index-signature" | "member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("optional" | "required" | "multiline")[];
selector?: ("index-signature" | "member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
hasNumericKeysOnly?: boolean;
declarationCommentMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
declarationMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-objects -----
type PerfectionistSortObjects = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("multiline")[];
selector?: ("member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("multiline")[];
selector?: ("member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
modifiers?: ("multiline")[];
selector?: ("member" | "method" | "property");
elementValuePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
sortBy?: ("name" | "value");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
objectType?: ("destructured" | "non-destructured");
hasNumericKeysOnly?: boolean;
declarationCommentMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
callingFunctionNamePattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
declarationMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
};
partitionByComputedKey?: boolean;
styledComponents?: boolean;
useExperimentalDependencyDetection?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-sets -----
type PerfectionistSortSets = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: "literal";
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-switch-case -----
type PerfectionistSortSwitchCase = [] | [{
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
}]; // ----- perfectionist/sort-union-types -----
type PerfectionistSortUnionTypes = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("intersection" | "conditional" | "function" | "operator" | "keyword" | "literal" | "nullish" | "import" | "object" | "named" | "tuple" | "union");
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- perfectionist/sort-variable-declarations -----
type PerfectionistSortVariableDeclarations = {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
specialCharacters?: ("remove" | "trim" | "keep");
ignoreCase?: boolean;
alphabet?: string;
locales?: (string | string[]);
order?: ("asc" | "desc");
customGroups?: ({
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
anyOf: [{
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("initialized" | "uninitialized");
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("initialized" | "uninitialized");
})[]];
} | {
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
groupName: string;
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("initialized" | "uninitialized");
})[];
newlinesInside?: (("ignore" | number) | "newlinesBetween");
groups?: (string | [string, ...(string)[]] | {
newlinesBetween: ("ignore" | number);
} | {
group: (string | [string, ...(string)[]]);
fallbackSort?: {
type: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
order?: ("asc" | "desc");
};
commentAbove?: string;
type?: ("alphabetical" | "natural" | "line-length" | "custom" | "unsorted" | "subgroup-order");
newlinesInside?: ("ignore" | number);
order?: ("asc" | "desc");
})[];
newlinesBetween?: ("ignore" | number);
useConfigurationIf?: {
allNamesMatchPattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
matchesAstSelector?: string;
};
useExperimentalDependencyDetection?: boolean;
partitionByComment?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)) | {
block?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
line?: (boolean | (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string)));
});
partitionByNewLine?: boolean;
}[]; // ----- pnpm/json-enforce-catalog -----
type PnpmJsonEnforceCatalog = [] | [{
allowedProtocols?: string[];
autofix?: boolean;
defaultCatalog?: string;
reuseExistingCatalog?: boolean;
conflicts?: ("new-catalog" | "overrides" | "error");
fields?: string[];
ignores?: string[];
}]; // ----- pnpm/json-prefer-workspace-settings -----
type PnpmJsonPreferWorkspaceSettings = [] | [{
autofix?: boolean;
}]; // ----- pnpm/json-valid-catalog -----
type PnpmJsonValidCatalog = [] | [{
autoInsert?: boolean;
autoInsertDefaultSpecifier?: string;
autofix?: boolean;
enforceNoConflict?: boolean;
fields?: unknown[];
}]; // ----- pnpm/yaml-enforce-settings -----
type PnpmYamlEnforceSettings = [] | [{
autofix?: boolean;
settings?: {
[k: string]: unknown | undefined;
};
requiredFields?: string[];
forbiddenFields?: string[];
}]; // ----- pnpm/yaml-no-duplicate-catalog-item -----
type PnpmYamlNoDuplicateCatalogItem = [] | [{
allow?: string[];
checkDuplicates?: ("name-only" | "exact-version");
}]; // ----- prefer-arrow-callback -----
type PreferArrowCallback = [] | [{
allowNamedFunctions?: boolean;
allowUnboundThis?: boolean;
}]; // ----- prefer-const -----
type PreferConst = [] | [{
destructuring?: ("any" | "all");
ignoreReadBeforeAssign?: boolean;
}]; // ----- prefer-destructuring -----
type PreferDestructuring = [] | [({
VariableDeclarator?: {
array?: boolean;
object?: boolean;
};
AssignmentExpression?: {
array?: boolean;
object?: boolean;
};
} | {
array?: boolean;
object?: boolean;
})] | [({
VariableDeclarator?: {
array?: boolean;
object?: boolean;
};
AssignmentExpression?: {
array?: boolean;
object?: boolean;
};
} | {
array?: boolean;
object?: boolean;
}), {
enforceForRenamedProperties?: boolean;
}]; // ----- prefer-promise-reject-errors -----
type PreferPromiseRejectErrors = [] | [{
allowEmptyReject?: boolean;
}]; // ----- prefer-reflect -----
type PreferReflect = [] | [{
exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[];
}]; // ----- prefer-regex-literals -----
type PreferRegexLiterals = [] | [{
disallowRedundantWrapping?: boolean;
}]; // ----- preserve-caught-error -----
type PreserveCaughtError = [] | [{
requireCatchParameter?: boolean;
}]; // ----- quote-props -----
type QuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
keywords?: boolean;
unnecessary?: boolean;
numbers?: boolean;
}]); // ----- quotes -----
type Quotes = [] | [("single" | "double" | "backtick")] | [("single" | "double" | "backtick"), ("avoid-escape" | {
avoidEscape?: boolean;
allowTemplateLiterals?: boolean;
})]; // ----- radix -----
type Radix = [] | [("always" | "as-needed")]; // ----- require-atomic-updates -----
type RequireAtomicUpdates = [] | [{
allowProperties?: boolean;
}]; // ----- require-unicode-regexp -----
type RequireUnicodeRegexp = [] | [{
requireFlag?: ("u" | "v");
}]; // ----- rest-spread-spacing -----
type RestSpreadSpacing = [] | [("always" | "never")]; // ----- semi -----
type Semi = ([] | ["never"] | ["never", {
beforeStatementContinuationChars?: ("always" | "any" | "never");
}] | [] | ["always"] | ["always", {
omitLastInOneLineBlock?: boolean;
omitLastInOneLineClassBody?: boolean;
}]); // ----- semi-spacing -----
type SemiSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- semi-style -----
type SemiStyle = [] | [("last" | "first")]; // ----- sort-imports -----
type SortImports = [] | [{
ignoreCase?: boolean;
memberSyntaxSortOrder?: [("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single"), ("none" | "all" | "multiple" | "single")];
ignoreDeclarationSort?: boolean;
ignoreMemberSort?: boolean;
allowSeparatedGroups?: boolean;
}]; // ----- sort-keys -----
type SortKeys = [] | [("asc" | "desc")] | [("asc" | "desc"), {
caseSensitive?: boolean;
natural?: boolean;
minKeys?: number;
allowLineSeparatedGroups?: boolean;
ignoreComputedKeys?: boolean;
}]; // ----- sort-vars -----
type SortVars = [] | [{
ignoreCase?: boolean;
}]; // ----- space-before-blocks -----
type SpaceBeforeBlocks = [] | [(("always" | "never") | {
keywords?: ("always" | "never" | "off");
functions?: ("always" | "never" | "off");
classes?: ("always" | "never" | "off");
})]; // ----- space-before-function-paren -----
type SpaceBeforeFunctionParen = [] | [(("always" | "never") | {
anonymous?: ("always" | "never" | "ignore");
named?: ("always" | "never" | "ignore");
asyncArrow?: ("always" | "never" | "ignore");
})]; // ----- space-in-parens -----
type SpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
exceptions?: ("{}" | "[]" | "()" | "empty")[];
}]; // ----- space-infix-ops -----
type SpaceInfixOps = [] | [{
int32Hint?: boolean;
}]; // ----- space-unary-ops -----
type SpaceUnaryOps = [] | [{
words?: boolean;
nonwords?: boolean;
overrides?: {
[k: string]: boolean | undefined;
};
}]; // ----- spaced-comment -----
type SpacedComment = [] | [("always" | "never")] | [("always" | "never"), {
exceptions?: string[];
markers?: string[];
line?: {
exceptions?: string[];
markers?: string[];
};
block?: {
exceptions?: string[];
markers?: string[];
balanced?: boolean;
};
}]; // ----- strict -----
type Strict = [] | [("never" | "global" | "function" | "safe")]; // ----- switch-colon-spacing -----
type SwitchColonSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- template-curly-spacing -----
type TemplateCurlySpacing = [] | [("always" | "never")]; // ----- template-tag-spacing -----
type TemplateTagSpacing = [] | [("always" | "never")]; // ----- unicode-bom -----
type UnicodeBom = [] | [("always" | "never")]; // ----- unicorn/better-regex -----
type UnicornBetterRegex = [] | [{
sortCharacterClasses?: boolean;
}]; // ----- unicorn/catch-error-name -----
type UnicornCatchErrorName = [] | [{
name?: string;
ignore?: unknown[];
}]; // ----- unicorn/consistent-function-scoping -----
type UnicornConsistentFunctionScoping = [] | [{
checkArrowFunctions?: boolean;
}]; // ----- unicorn/escape-case -----
type UnicornEscapeCase = [] | [("uppercase" | "lowercase")]; // ----- unicorn/expiring-todo-comments -----
type UnicornExpiringTodoComments = [] | [{
terms?: string[];
ignore?: unknown[];
ignoreDates?: boolean;
ignoreDatesOnPullRequests?: boolean;
allowWarningComments?: boolean;
date?: string;
}]; // ----- unicorn/explicit-length-check -----
type UnicornExplicitLengthCheck = [] | [{
"non-zero"?: ("greater-than" | "not-equal");
}]; // ----- unicorn/filename-case -----
type UnicornFilenameCase = [] | [({
case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
ignore?: unknown[];
multipleFileExtensions?: boolean;
} | {
cases?: {
camelCase?: boolean;
snakeCase?: boolean;
kebabCase?: boolean;
pascalCase?: boolean;
};
ignore?: unknown[];
multipleFileExtensions?: boolean;
})]; // ----- unicorn/import-style -----
type UnicornImportStyle = [] | [{
checkImport?: boolean;
checkDynamicImport?: boolean;
checkExportFrom?: boolean;
checkRequire?: boolean;
extendDefaultStyles?: boolean;
styles?: _UnicornImportStyle_ModuleStyles;
}];
type _UnicornImportStyleStyles = (false | _UnicornImportStyle_BooleanObject) | undefined;
interface _UnicornImportStyle_ModuleStyles {
[k: string]: _UnicornImportStyleStyles | undefined;
}
interface _UnicornImportStyle_BooleanObject {
[k: string]: boolean | undefined;
} // ----- unicorn/isolated-functions -----
type UnicornIsolatedFunctions = [] | [{
overrideGlobals?: {
[k: string]: (boolean | ("readonly" | "writable" | "writeable" | "off")) | undefined;
};
functions?: string[];
selectors?: string[];
comments?: string[];
}]; // ----- unicorn/no-array-reduce -----
type UnicornNoArrayReduce = [] | [{
allowSimpleOperations?: boolean;
}]; // ----- unicorn/no-array-reverse -----
type UnicornNoArrayReverse = [] | [{
allowExpressionStatement?: boolean;
}]; // ----- unicorn/no-array-sort -----
type UnicornNoArraySort = [] | [{
allowExpressionStatement?: boolean;
}]; // ----- unicorn/no-instanceof-builtins -----
type UnicornNoInstanceofBuiltins = [] | [{
useErrorIsError?: boolean;
strategy?: ("loose" | "strict");
include?: string[];
exclude?: string[];
}]; // ----- unicorn/no-keyword-prefix -----
type UnicornNoKeywordPrefix = [] | [{
disallowedPrefixes?: [] | [string];
checkProperties?: boolean;
onlyCamelCase?: boolean;
}]; // ----- unicorn/no-null -----
type UnicornNoNull = [] | [{
checkStrictEquality?: boolean;
}]; // ----- unicorn/no-typeof-undefined -----
type UnicornNoTypeofUndefined = [] | [{
checkGlobalVariables?: boolean;
}]; // ----- unicorn/no-unnecessary-polyfills -----
type UnicornNoUnnecessaryPolyfills = [] | [{
targets: (string | unknown[] | {
[k: string]: unknown | undefined;
});
}]; // ----- unicorn/no-useless-undefined -----
type UnicornNoUselessUndefined = [] | [{
checkArguments?: boolean;
checkArrowFunctionBody?: boolean;
}]; // ----- unicorn/number-literal-case -----
type UnicornNumberLiteralCase = [] | [{
hexadecimalValue?: ("uppercase" | "lowercase");
}]; // ----- unicorn/numeric-separators-style -----
type UnicornNumericSeparatorsStyle = [] | [{
binary?: {
onlyIfContainsSeparator?: boolean;
minimumDigits?: number;
groupLength?: number;
};
octal?: {
onlyIfContainsSeparator?: boolean;
minimumDigits?: number;
groupLength?: number;
};
hexadecimal?: {
onlyIfContainsSeparator?: boolean;
minimumDigits?: number;
groupLength?: number;
};
number?: {
onlyIfContainsSeparator?: boolean;
minimumDigits?: number;
groupLength?: number;
};
onlyIfContainsSeparator?: boolean;
}]; // ----- unicorn/prefer-add-event-listener -----
type UnicornPreferAddEventListener = [] | [{
excludedPackages?: string[];
}]; // ----- unicorn/prefer-array-find -----
type UnicornPreferArrayFind = [] | [{
checkFromLast?: boolean;
}]; // ----- unicorn/prefer-array-flat -----
type UnicornPreferArrayFlat = [] | [{
functions?: unknown[];
}]; // ----- unicorn/prefer-at -----
type UnicornPreferAt = [] | [{
getLastElementFunctions?: unknown[];
checkAllIndexAccess?: boolean;
}]; // ----- unicorn/prefer-export-from -----
type UnicornPreferExportFrom = [] | [{
ignoreUsedVariables?: boolean;
}]; // ----- unicorn/prefer-number-properties -----
type UnicornPreferNumberProperties = [] | [{
checkInfinity?: boolean;
checkNaN?: boolean;
}]; // ----- unicorn/prefer-object-from-entries -----
type UnicornPreferObjectFromEntries = [] | [{
functions?: unknown[];
}]; // ----- unicorn/prefer-single-call -----
type UnicornPreferSingleCall = [] | [{
ignore?: unknown[];
}]; // ----- unicorn/prefer-structured-clone -----
type UnicornPreferStructuredClone = [] | [{
functions?: unknown[];
}]; // ----- unicorn/prefer-switch -----
type UnicornPreferSwitch = [] | [{
minimumCases?: number;
emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
}]; // ----- unicorn/prefer-ternary -----
type UnicornPreferTernary = [] | [("always" | "only-single-line")]; // ----- unicorn/prevent-abbreviations -----
type UnicornPreventAbbreviations = [] | [{
checkProperties?: boolean;
checkVariables?: boolean;
checkDefaultAndNamespaceImports?: (boolean | string);
checkShorthandImports?: (boolean | string);
checkShorthandProperties?: boolean;
checkFilenames?: boolean;
extendDefaultReplacements?: boolean;
replacements?: _UnicornPreventAbbreviations_Abbreviations;
extendDefaultAllowList?: boolean;
allowList?: _UnicornPreventAbbreviations_BooleanObject;
ignore?: unknown[];
}];
type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
interface _UnicornPreventAbbreviations_Abbreviations {
[k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
}
interface _UnicornPreventAbbreviations_BooleanObject {
[k: string]: boolean | undefined;
}
interface _UnicornPreventAbbreviations_BooleanObject {
[k: string]: boolean | undefined;
} // ----- unicorn/relative-url-style -----
type UnicornRelativeUrlStyle = [] | [("never" | "always")]; // ----- unicorn/string-content -----
type UnicornStringContent = [] | [{
patterns?: {
[k: string]: (string | {
suggest: string;
fix?: boolean;
message?: string;
}) | undefined;
};
}]; // ----- unicorn/switch-case-braces -----
type UnicornSwitchCaseBraces = [] | [("always" | "avoid")]; // ----- unicorn/template-indent -----
type UnicornTemplateIndent = [] | [{
indent?: (string | number);
tags?: string[];
functions?: string[];
selectors?: string[];
comments?: string[];
}]; // ----- unicorn/text-encoding-identifier-case -----
type UnicornTextEncodingIdentifierCase = [] | [{
withDash?: boolean;
}]; // ----- use-isnan -----
type UseIsnan = [] | [{
enforceForSwitchCase?: boolean;
enforceForIndexOf?: boolean;
}]; // ----- valid-typeof -----
type ValidTypeof = [] | [{
requireStringLiterals?: boolean;
}]; // ----- vitest/consistent-each-for -----
type VitestConsistentEachFor = [] | [{
test?: ("each" | "for");
it?: ("each" | "for");
describe?: ("each" | "for");
suite?: ("each" | "for");
}]; // ----- vitest/consistent-test-filename -----
type VitestConsistentTestFilename = [] | [{
pattern?: string;
allTestPattern?: string;
}]; // ----- vitest/consistent-test-it -----
type VitestConsistentTestIt = [] | [{
fn?: ("test" | "it");
withinDescribe?: ("test" | "it");
}]; // ----- vitest/consistent-vitest-vi -----
type VitestConsistentVitestVi = [] | [{
fn?: ("vi" | "vitest");
}]; // ----- vitest/expect-expect -----
type VitestExpectExpect = [] | [{
assertFunctionNames?: string[];
additionalTestBlockFunctions?: string[];
}]; // ----- vitest/max-expects -----
type VitestMaxExpects = [] | [{
max?: number;
}]; // ----- vitest/max-nested-describe -----
type VitestMaxNestedDescribe = [] | [{
max?: number;
}]; // ----- vitest/no-focused-tests -----
type VitestNoFocusedTests = [] | [{
fixable?: boolean;
}]; // ----- vitest/no-hooks -----
type VitestNoHooks = [] | [{
allow?: ("beforeAll" | "beforeEach" | "afterAll" | "afterEach")[];
}]; // ----- vitest/no-large-snapshots -----
type VitestNoLargeSnapshots = [] | [{
maxSize?: number;
inlineMaxSize?: number;
allowedSnapshots?: {
[k: string]: unknown[] | undefined;
};
}]; // ----- vitest/no-restricted-matchers -----
type VitestNoRestrictedMatchers = [] | [{
[k: string]: (string | null) | undefined;
}]; // ----- vitest/no-restricted-vi-methods -----
type VitestNoRestrictedViMethods = [] | [{
[k: string]: (string | null) | undefined;
}]; // ----- vitest/no-standalone-expect -----
type VitestNoStandaloneExpect = [] | [{
additionalTestBlockFunctions?: string[];
}]; // ----- vitest/prefer-expect-assertions -----
type VitestPreferExpectAssertions = [] | [{
onlyFunctionsWithAsyncKeyword?: boolean;
onlyFunctionsWithExpectInLoop?: boolean;
onlyFunctionsWithExpectInCallback?: boolean;
}]; // ----- vitest/prefer-lowercase-title -----
type VitestPreferLowercaseTitle = [] | [{
ignore?: ("describe" | "test" | "it")[];
allowedPrefixes?: string[];
ignoreTopLevelDescribe?: boolean;
lowercaseFirstCharacterOnly?: boolean;
}]; // ----- vitest/prefer-snapshot-hint -----
type VitestPreferSnapshotHint = [] | [("always" | "multi")]; // ----- vitest/require-hook -----
type VitestRequireHook = [] | [{
allowedFunctionCalls?: string[];
}]; // ----- vitest/require-mock-type-parameters -----
type VitestRequireMockTypeParameters = [] | [{
checkImportFunctions?: boolean;
}]; // ----- vitest/require-top-level-describe -----
type VitestRequireTopLevelDescribe = [] | [{
maxNumberOfTopLevelDescribes?: number;
}]; // ----- vitest/valid-expect -----
type VitestValidExpect = [] | [{
alwaysAwait?: boolean;
asyncMatchers?: string[];
minArgs?: number;
maxArgs?: number;
}]; // ----- vitest/valid-title -----
type VitestValidTitle = [] | [{
ignoreTypeOfDescribeName?: boolean;
allowArguments?: boolean;
disallowedWords?: string[];
[k: string]: (string | [string] | [string, string] | {
[k: string]: (string | [string] | [string, string]) | undefined;
});
}]; // ----- vue/array-bracket-newline -----
type VueArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
})]; // ----- vue/array-bracket-spacing -----
type VueArrayBracketSpacing = [] | [("always" | "never")] | [("always" | "never"), {
singleValue?: boolean;
objectsInArrays?: boolean;
arraysInArrays?: boolean;
}]; // ----- vue/array-element-newline -----
type VueArrayElementNewline = [] | [(_VueArrayElementNewlineBasicConfig | {
ArrayExpression?: _VueArrayElementNewlineBasicConfig;
ArrayPattern?: _VueArrayElementNewlineBasicConfig;
})];
type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
multiline?: boolean;
minItems?: (number | null);
}); // ----- vue/arrow-spacing -----
type VueArrowSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- vue/attribute-hyphenation -----
type VueAttributeHyphenation = [] | [("always" | "never")] | [("always" | "never"), {
ignore?: (string & {
[k: string]: unknown | undefined;
} & {
[k: string]: unknown | undefined;
})[];
ignoreTags?: string[];
}]; // ----- vue/attributes-order -----
type VueAttributesOrder = [] | [{
order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
alphabetical?: boolean;
sortLineLength?: boolean;
ignoreVBindObject?: boolean;
}]; // ----- vue/block-lang -----
type VueBlockLang = [] | [{
[k: string]: {
lang?: (string | string[]);
allowNoLang?: boolean;
};
}]; // ----- vue/block-order -----
type VueBlockOrder = [] | [{
order?: (string | string[])[];
}]; // ----- vue/block-spacing -----
type VueBlockSpacing = [] | [("always" | "never")]; // ----- vue/block-tag-newline -----
type VueBlockTagNewline = [] | [{
singleline?: ("always" | "never" | "consistent" | "ignore");
multiline?: ("always" | "never" | "consistent" | "ignore");
maxEmptyLines?: number;
blocks?: {
[k: string]: {
singleline?: ("always" | "never" | "consistent" | "ignore");
multiline?: ("always" | "never" | "consistent" | "ignore");
maxEmptyLines?: number;
};
};
}]; // ----- vue/brace-style -----
type VueBraceStyle = [] | [("1tbs" | "stroustrup" | "allman")] | [("1tbs" | "stroustrup" | "allman"), {
allowSingleLine?: boolean;
}]; // ----- vue/camelcase -----
type VueCamelcase = [] | [{
ignoreDestructuring?: boolean;
ignoreImports?: boolean;
ignoreGlobals?: boolean;
properties?: ("always" | "never");
allow?: string[];
}]; // ----- vue/comma-dangle -----
type VueCommaDangle = [] | [(_VueCommaDangleValue | {
arrays?: _VueCommaDangleValueWithIgnore;
objects?: _VueCommaDangleValueWithIgnore;
imports?: _VueCommaDangleValueWithIgnore;
exports?: _VueCommaDangleValueWithIgnore;
functions?: _VueCommaDangleValueWithIgnore;
})];
type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline"); // ----- vue/comma-spacing -----
type VueCommaSpacing = [] | [{
before?: boolean;
after?: boolean;
}]; // ----- vue/comma-style -----
type VueCommaStyle = [] | [("first" | "last")] | [("first" | "last"), {
exceptions?: {
[k: string]: boolean | undefined;
};
}]; // ----- vue/comment-directive -----
type VueCommentDirective = [] | [{
reportUnusedDisableDirectives?: boolean;
}]; // ----- vue/component-api-style -----
type VueComponentApiStyle = [] | [[("script-setup" | "composition" | "composition-vue2" | "options"), ...(("script-setup" | "composition" | "composition-vue2" | "options"))[]]]; // ----- vue/component-definition-name-casing -----
type VueComponentDefinitionNameCasing = [] | [("PascalCase" | "kebab-case")]; // ----- vue/component-name-in-template-casing -----
type VueComponentNameInTemplateCasing = [] | [("PascalCase" | "kebab-case")] | [("PascalCase" | "kebab-case"), {
globals?: string[];
ignores?: string[];
registeredComponentsOnly?: boolean;
}]; // ----- vue/component-options-name-casing -----
type VueComponentOptionsNameCasing = [] | [("camelCase" | "kebab-case" | "PascalCase")]; // ----- vue/custom-event-name-casing -----
type VueCustomEventNameCasing = [] | [("kebab-case" | "camelCase")] | [("kebab-case" | "camelCase"), {
ignores?: string[];
}]; // ----- vue/define-emits-declaration -----
type VueDefineEmitsDeclaration = [] | [("type-based" | "type-literal" | "runtime")]; // ----- vue/define-macros-order -----
type VueDefineMacrosOrder = [] | [{
order?: string[];
defineExposeLast?: boolean;
}]; // ----- vue/define-props-declaration -----
type VueDefinePropsDeclaration = [] | [("type-based" | "runtime")]; // ----- vue/define-props-destructuring -----
type VueDefinePropsDestructuring = [] | [{
destructure?: ("only-when-assigned" | "always" | "never");
}]; // ----- vue/dot-location -----
type VueDotLocation = [] | [("object" | "property")]; // ----- vue/dot-notation -----
type VueDotNotation = [] | [{
allowKeywords?: boolean;
allowPattern?: string;
}]; // ----- vue/enforce-style-attribute -----
type VueEnforceStyleAttribute = [] | [{
allow?: [("plain" | "scoped" | "module"), ...(("plain" | "scoped" | "module"))[]];
}]; // ----- vue/eqeqeq -----
type VueEqeqeq = ([] | ["always"] | ["always", {
null?: ("always" | "never" | "ignore");
}] | [] | [("smart" | "allow-null")]); // ----- vue/first-attribute-linebreak -----
type VueFirstAttributeLinebreak = [] | [{
multiline?: ("below" | "beside" | "ignore");
singleline?: ("below" | "beside" | "ignore");
}]; // ----- vue/func-call-spacing -----
type VueFuncCallSpacing = ([] | ["never"] | [] | ["always"] | ["always", {
allowNewlines?: boolean;
}]); // ----- vue/html-button-has-type -----
type VueHtmlButtonHasType = [] | [{
button?: boolean;
submit?: boolean;
reset?: boolean;
}]; // ----- vue/html-closing-bracket-newline -----
type VueHtmlClosingBracketNewline = [] | [{
singleline?: ("always" | "never");
multiline?: ("always" | "never");
selfClosingTag?: {
singleline?: ("always" | "never");
multiline?: ("always" | "never");
};
}]; // ----- vue/html-closing-bracket-spacing -----
type VueHtmlClosingBracketSpacing = [] | [{
startTag?: ("always" | "never");
endTag?: ("always" | "never");
selfClosingTag?: ("always" | "never");
}]; // ----- vue/html-comment-content-newline -----
type VueHtmlCommentContentNewline = [] | [(("always" | "never") | {
singleline?: ("always" | "never" | "ignore");
multiline?: ("always" | "never" | "ignore");
})] | [(("always" | "never") | {
singleline?: ("always" | "never" | "ignore");
multiline?: ("always" | "never" | "ignore");
}), {
exceptions?: string[];
}]; // ----- vue/html-comment-content-spacing -----
type VueHtmlCommentContentSpacing = [] | [("always" | "never")] | [("always" | "never"), {
exceptions?: string[];
}]; // ----- vue/html-comment-indent -----
type VueHtmlCommentIndent = [] | [(number | "tab")]; // ----- vue/html-indent -----
type VueHtmlIndent = [] | [(number | "tab")] | [(number | "tab"), {
attribute?: number;
baseIndent?: number;
closeBracket?: (number | {
startTag?: number;
endTag?: number;
selfClosingTag?: number;
});
switchCase?: number;
alignAttributesVertically?: boolean;
ignores?: (string & {
[k: string]: unknown | undefined;
} & {
[k: string]: unknown | undefined;
})[];
}]; // ----- vue/html-quotes -----
type VueHtmlQuotes = [] | [("double" | "single")] | [("double" | "single"), {
avoidEscape?: boolean;
}]; // ----- vue/html-self-closing -----
type VueHtmlSelfClosing = [] | [{
html?: {
normal?: _VueHtmlSelfClosingOptionValue;
void?: _VueHtmlSelfClosingOptionValue;
component?: _VueHtmlSelfClosingOptionValue;
};
svg?: _VueHtmlSelfClosingOptionValue;
math?: _VueHtmlSelfClosingOptionValue;
}];
type _VueHtmlSelfClosingOptionValue = ("always" | "never" | "any"); // ----- vue/key-spacing -----
type VueKeySpacing = [] | [({
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
align?: (("colon" | "value") | {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
});
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
} | {
singleLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
multiLine?: {
mode?: ("strict" | "minimum");
beforeColon?: boolean;
afterColon?: boolean;
};
align?: {
mode?: ("strict" | "minimum");
on?: ("colon" | "value");
beforeColon?: boolean;
afterColon?: boolean;
};
})]; // ----- vue/keyword-spacing -----
type VueKeywordSpacing = [] | [{
before?: boolean;
after?: boolean;
overrides?: {
abstract?: {
before?: boolean;
after?: boolean;
};
as?: {
before?: boolean;
after?: boolean;
};
async?: {
before?: boolean;
after?: boolean;
};
await?: {
before?: boolean;
after?: boolean;
};
boolean?: {
before?: boolean;
after?: boolean;
};
break?: {
before?: boolean;
after?: boolean;
};
byte?: {
before?: boolean;
after?: boolean;
};
case?: {
before?: boolean;
after?: boolean;
};
catch?: {
before?: boolean;
after?: boolean;
};
char?: {
before?: boolean;
after?: boolean;
};
class?: {
before?: boolean;
after?: boolean;
};
const?: {
before?: boolean;
after?: boolean;
};
continue?: {
before?: boolean;
after?: boolean;
};
debugger?: {
before?: boolean;
after?: boolean;
};
default?: {
before?: boolean;
after?: boolean;
};
delete?: {
before?: boolean;
after?: boolean;
};
do?: {
before?: boolean;
after?: boolean;
};
double?: {
before?: boolean;
after?: boolean;
};
else?: {
before?: boolean;
after?: boolean;
};
enum?: {
before?: boolean;
after?: boolean;
};
export?: {
before?: boolean;
after?: boolean;
};
extends?: {
before?: boolean;
after?: boolean;
};
false?: {
before?: boolean;
after?: boolean;
};
final?: {
before?: boolean;
after?: boolean;
};
finally?: {
before?: boolean;
after?: boolean;
};
float?: {
before?: boolean;
after?: boolean;
};
for?: {
before?: boolean;
after?: boolean;
};
from?: {
before?: boolean;
after?: boolean;
};
function?: {
before?: boolean;
after?: boolean;
};
get?: {
before?: boolean;
after?: boolean;
};
goto?: {
before?: boolean;
after?: boolean;
};
if?: {
before?: boolean;
after?: boolean;
};
implements?: {
before?: boolean;
after?: boolean;
};
import?: {
before?: boolean;
after?: boolean;
};
in?: {
before?: boolean;
after?: boolean;
};
instanceof?: {
before?: boolean;
after?: boolean;
};
int?: {
before?: boolean;
after?: boolean;
};
interface?: {
before?: boolean;
after?: boolean;
};
let?: {
before?: boolean;
after?: boolean;
};
long?: {
before?: boolean;
after?: boolean;
};
native?: {
before?: boolean;
after?: boolean;
};
new?: {
before?: boolean;
after?: boolean;
};
null?: {
before?: boolean;
after?: boolean;
};
of?: {
before?: boolean;
after?: boolean;
};
package?: {
before?: boolean;
after?: boolean;
};
private?: {
before?: boolean;
after?: boolean;
};
protected?: {
before?: boolean;
after?: boolean;
};
public?: {
before?: boolean;
after?: boolean;
};
return?: {
before?: boolean;
after?: boolean;
};
set?: {
before?: boolean;
after?: boolean;
};
short?: {
before?: boolean;
after?: boolean;
};
static?: {
before?: boolean;
after?: boolean;
};
super?: {
before?: boolean;
after?: boolean;
};
switch?: {
before?: boolean;
after?: boolean;
};
synchronized?: {
before?: boolean;
after?: boolean;
};
this?: {
before?: boolean;
after?: boolean;
};
throw?: {
before?: boolean;
after?: boolean;
};
throws?: {
before?: boolean;
after?: boolean;
};
transient?: {
before?: boolean;
after?: boolean;
};
true?: {
before?: boolean;
after?: boolean;
};
try?: {
before?: boolean;
after?: boolean;
};
typeof?: {
before?: boolean;
after?: boolean;
};
var?: {
before?: boolean;
after?: boolean;
};
void?: {
before?: boolean;
after?: boolean;
};
volatile?: {
before?: boolean;
after?: boolean;
};
while?: {
before?: boolean;
after?: boolean;
};
with?: {
before?: boolean;
after?: boolean;
};
yield?: {
before?: boolean;
after?: boolean;
};
};
}]; // ----- vue/match-component-file-name -----
type VueMatchComponentFileName = [] | [{
extensions?: string[];
shouldMatchCase?: boolean;
}]; // ----- vue/max-attributes-per-line -----
type VueMaxAttributesPerLine = [] | [{
singleline?: (number | {
max?: number;
});
multiline?: (number | {
max?: number;
});
}]; // ----- vue/max-len -----
type VueMaxLen = [] | [({
code?: number;
template?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreTrailingComments?: boolean;
ignoreUrls?: boolean;
ignoreStrings?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreHTMLAttributeValues?: boolean;
ignoreHTMLTextContents?: boolean;
} | number)] | [({
code?: number;
template?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreTrailingComments?: boolean;
ignoreUrls?: boolean;
ignoreStrings?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreHTMLAttributeValues?: boolean;
ignoreHTMLTextContents?: boolean;
} | number), ({
code?: number;
template?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreTrailingComments?: boolean;
ignoreUrls?: boolean;
ignoreStrings?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreHTMLAttributeValues?: boolean;
ignoreHTMLTextContents?: boolean;
} | number)] | [({
code?: number;
template?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreTrailingComments?: boolean;
ignoreUrls?: boolean;
ignoreStrings?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreHTMLAttributeValues?: boolean;
ignoreHTMLTextContents?: boolean;
} | number), ({
code?: number;
template?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreTrailingComments?: boolean;
ignoreUrls?: boolean;
ignoreStrings?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreHTMLAttributeValues?: boolean;
ignoreHTMLTextContents?: boolean;
} | number), {
code?: number;
template?: number;
comments?: number;
tabWidth?: number;
ignorePattern?: string;
ignoreComments?: boolean;
ignoreTrailingComments?: boolean;
ignoreUrls?: boolean;
ignoreStrings?: boolean;
ignoreTemplateLiterals?: boolean;
ignoreRegExpLiterals?: boolean;
ignoreHTMLAttributeValues?: boolean;
ignoreHTMLTextContents?: boolean;
}]; // ----- vue/max-lines-per-block -----
type VueMaxLinesPerBlock = [] | [{
style?: number;
template?: number;
script?: number;
skipBlankLines?: boolean;
}]; // ----- vue/max-props -----
type VueMaxProps = [] | [{
maxProps?: number;
}]; // ----- vue/max-template-depth -----
type VueMaxTemplateDepth = [] | [{
maxDepth?: number;
}]; // ----- vue/multi-word-component-names -----
type VueMultiWordComponentNames = [] | [{
ignores?: string[];
}]; // ----- vue/multiline-html-element-content-newline -----
type VueMultilineHtmlElementContentNewline = [] | [{
ignoreWhenEmpty?: boolean;
ignores?: string[];
allowEmptyLines?: boolean;
}]; // ----- vue/multiline-ternary -----
type VueMultilineTernary = [] | [("always" | "always-multiline" | "never")]; // ----- vue/mustache-interpolation-spacing -----
type VueMustacheInterpolationSpacing = [] | [("always" | "never")]; // ----- vue/new-line-between-multi-line-property -----
type VueNewLineBetweenMultiLineProperty = [] | [{
minLineOfMultilineProperty?: number;
}]; // ----- vue/next-tick-style -----
type VueNextTickStyle = [] | [("promise" | "callback")]; // ----- vue/no-async-in-computed-properties -----
type VueNoAsyncInComputedProperties = [] | [{
ignoredObjectNames?: string[];
}]; // ----- vue/no-bare-strings-in-template -----
type VueNoBareStringsInTemplate = [] | [{
allowlist?: string[];
attributes?: {
[k: string]: string[];
};
directives?: string[];
}]; // ----- vue/no-boolean-default -----
type VueNoBooleanDefault = [] | [("default-false" | "no-default")]; // ----- vue/no-child-content -----
type VueNoChildContent = [] | [{
additionalDirectives: [string, ...(string)[]];
}]; // ----- vue/no-console -----
type VueNoConsole = [] | [{
allow?: [string, ...(string)[]];
}]; // ----- vue/no-constant-condition -----
type VueNoConstantCondition = [] | [{
checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
}]; // ----- vue/no-deprecated-model-definition -----
type VueNoDeprecatedModelDefinition = [] | [{
allowVue3Compat?: boolean;
}]; // ----- vue/no-deprecated-router-link-tag-prop -----
type VueNoDeprecatedRouterLinkTagProp = [] | [{
components?: [string, ...(string)[]];
}]; // ----- vue/no-deprecated-slot-attribute -----
type VueNoDeprecatedSlotAttribute = [] | [{
ignore?: string[];
ignoreParents?: string[];
}]; // ----- vue/no-dupe-keys -----
type VueNoDupeKeys = [] | [{
groups?: unknown[];
}]; // ----- vue/no-duplicate-attr-inheritance -----
type VueNoDuplicateAttrInheritance = [] | [{
checkMultiRootNodes?: boolean;
}]; // ----- vue/no-duplicate-attributes -----
type VueNoDuplicateAttributes = [] | [{
allowCoexistClass?: boolean;
allowCoexistStyle?: boolean;
}]; // ----- vue/no-empty-pattern -----
type VueNoEmptyPattern = [] | [{
allowObjectPatternsAsParameters?: boolean;
}]; // ----- vue/no-extra-parens -----
type VueNoExtraParens = ([] | ["functions"] | [] | ["all"] | ["all", {
conditionalAssign?: boolean;
ternaryOperandBinaryExpressions?: boolean;
nestedBinaryExpressions?: boolean;
returnAssign?: boolean;
ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
enforceForArrowConditionals?: boolean;
enforceForSequenceExpressions?: boolean;
enforceForNewInMemberExpressions?: boolean;
enforceForFunctionPrototypeMethods?: boolean;
allowParensAfterCommentPattern?: string;
}]); // ----- vue/no-implicit-coercion -----
type VueNoImplicitCoercion = [] | [{
boolean?: boolean;
number?: boolean;
string?: boolean;
disallowTemplateShorthand?: boolean;
allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[];
}]; // ----- vue/no-irregular-whitespace -----
type VueNoIrregularWhitespace = [] | [{
skipComments?: boolean;
skipStrings?: boolean;
skipTemplates?: boolean;
skipRegExps?: boolean;
skipHTMLAttributeValues?: boolean;
skipHTMLTextContents?: boolean;
}]; // ----- vue/no-literals-in-template -----
type VueNoLiteralsInTemplate = [] | [{
ignores?: string[];
}]; // ----- vue/no-lone-template -----
type VueNoLoneTemplate = [] | [{
ignoreAccessible?: boolean;
}]; // ----- vue/no-multi-spaces -----
type VueNoMultiSpaces = [] | [{
ignoreProperties?: boolean;
ignoreEOLComments?: boolean;
}]; // ----- vue/no-multiple-template-root -----
type VueNoMultipleTemplateRoot = [] | [{
disallowComments?: boolean;
}]; // ----- vue/no-mutating-props -----
type VueNoMutatingProps = [] | [{
shallowOnly?: boolean;
}]; // ----- vue/no-parsing-error -----
type VueNoParsingError = [] | [{
"abrupt-closing-of-empty-comment"?: boolean;
"absence-of-digits-in-numeric-character-reference"?: boolean;
"cdata-in-html-content"?: boolean;
"character-reference-outside-unicode-range"?: boolean;
"control-character-in-input-stream"?: boolean;
"control-character-reference"?: boolean;
"eof-before-tag-name"?: boolean;
"eof-in-cdata"?: boolean;
"eof-in-comment"?: boolean;
"eof-in-tag"?: boolean;
"incorrectly-closed-comment"?: boolean;
"incorrectly-opened-comment"?: boolean;
"invalid-first-character-of-tag-name"?: boolean;
"missing-attribute-value"?: boolean;
"missing-end-tag-name"?: boolean;
"missing-semicolon-after-character-reference"?: boolean;
"missing-whitespace-between-attributes"?: boolean;
"nested-comment"?: boolean;
"noncharacter-character-reference"?: boolean;
"noncharacter-in-input-stream"?: boolean;
"null-character-reference"?: boolean;
"surrogate-character-reference"?: boolean;
"surrogate-in-input-stream"?: boolean;
"unexpected-character-in-attribute-name"?: boolean;
"unexpected-character-in-unquoted-attribute-value"?: boolean;
"unexpected-equals-sign-before-attribute-name"?: boolean;
"unexpected-null-character"?: boolean;
"unexpected-question-mark-instead-of-tag-name"?: boolean;
"unexpected-solidus-in-tag"?: boolean;
"unknown-named-character-reference"?: boolean;
"end-tag-with-attributes"?: boolean;
"duplicate-attribute"?: boolean;
"end-tag-with-trailing-solidus"?: boolean;
"non-void-html-element-start-tag-with-trailing-solidus"?: boolean;
"x-invalid-end-tag"?: boolean;
"x-invalid-namespace"?: boolean;
}]; // ----- vue/no-potential-component-option-typo -----
type VueNoPotentialComponentOptionTypo = [] | [{
presets?: ("all" | "vue" | "vue-router" | "nuxt")[];
custom?: string[];
threshold?: number;
}]; // ----- vue/no-required-prop-with-default -----
type VueNoRequiredPropWithDefault = [] | [{
autofix?: boolean;
}]; // ----- vue/no-reserved-component-names -----
type VueNoReservedComponentNames = [] | [{
disallowVueBuiltInComponents?: boolean;
disallowVue3BuiltInComponents?: boolean;
htmlElementCaseSensitive?: boolean;
}]; // ----- vue/no-reserved-keys -----
type VueNoReservedKeys = [] | [{
reserved?: unknown[];
groups?: unknown[];
}]; // ----- vue/no-reserved-props -----
type VueNoReservedProps = [] | [{
vueVersion?: (2 | 3);
}]; // ----- vue/no-restricted-block -----
type VueNoRestrictedBlock = (string | {
element: string;
message?: string;
})[]; // ----- vue/no-restricted-call-after-await -----
type VueNoRestrictedCallAfterAwait = {
module: string;
path?: (string | string[]);
message?: string;
}[]; // ----- vue/no-restricted-class -----
type VueNoRestrictedClass = string[]; // ----- vue/no-restricted-component-names -----
type VueNoRestrictedComponentNames = (string | {
name: string;
message?: string;
suggest?: string;
})[]; // ----- vue/no-restricted-component-options -----
type VueNoRestrictedComponentOptions = (string | string[] | {
name: (string | string[]);
message?: string;
})[]; // ----- vue/no-restricted-custom-event -----
type VueNoRestrictedCustomEvent = (string | {
event: string;
message?: string;
suggest?: string;
})[]; // ----- vue/no-restricted-html-elements -----
type VueNoRestrictedHtmlElements = (string | {
element: (string | string[]);
message?: string;
})[]; // ----- vue/no-restricted-props -----
type VueNoRestrictedProps = (string | {
name: string;
message?: string;
suggest?: string;
})[]; // ----- vue/no-restricted-static-attribute -----
type VueNoRestrictedStaticAttribute = (string | {
key: string;
value?: (string | true);
element?: string;
message?: string;
})[]; // ----- vue/no-restricted-syntax -----
type VueNoRestrictedSyntax = (string | {
selector: string;
message?: string;
})[]; // ----- vue/no-restricted-v-bind -----
type VueNoRestrictedVBind = ((string | null) | {
argument: (string | null);
modifiers?: ("prop" | "camel" | "sync" | "attr")[];
element?: string;
message?: string;
})[]; // ----- vue/no-restricted-v-on -----
type VueNoRestrictedVOn = ((string | null) | {
argument: (string | null);
element?: string;
message?: string;
modifiers?: [("prevent" | "stop" | "capture" | "self" | "once" | "passive"), ...(("prevent" | "stop" | "capture" | "self" | "once" | "passive"))[]];
})[]; // ----- vue/no-static-inline-styles -----
type VueNoStaticInlineStyles = [] | [{
allowBinding?: boolean;
}]; // ----- vue/no-template-shadow -----
type VueNoTemplateShadow = [] | [{
allow?: string[];
}]; // ----- vue/no-template-target-blank -----
type VueNoTemplateTargetBlank = [] | [{
allowReferrer?: boolean;
enforceDynamicLinks?: ("always" | "never");
}]; // ----- vue/no-undef-components -----
type VueNoUndefComponents = [] | [{
ignorePatterns?: unknown[];
}]; // ----- vue/no-undef-directives -----
type VueNoUndefDirectives = [] | [{
ignore?: string[];
}]; // ----- vue/no-undef-properties -----
type VueNoUndefProperties = [] | [{
ignores?: string[];
}]; // ----- vue/no-unsupported-features -----
type VueNoUnsupportedFeatures = [] | [{
version?: string;
ignores?: ("slot-scope-attribute" | "dynamic-directive-arguments" | "v-slot" | "script-setup" | "style-css-vars-injection" | "v-model-argument" | "v-model-custom-modifiers" | "v-is" | "is-attribute-with-vue-prefix" | "v-memo" | "v-bind-prop-modifier-shorthand" | "v-bind-attr-modifier" | "define-options" | "define-slots" | "define-model" | "v-bind-same-name-shorthand")[];
}]; // ----- vue/no-unused-components -----
type VueNoUnusedComponents = [] | [{
ignoreWhenBindingPresent?: boolean;
}]; // ----- vue/no-unused-properties -----
type VueNoUnusedProperties = [] | [{
groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup" | "inject")[];
deepData?: boolean;
ignorePublicMembers?: boolean;
unreferencedOptions?: ("unknownMemberAsUnreferenced" | "returnAsUnreferenced")[];
}]; // ----- vue/no-unused-vars -----
type VueNoUnusedVars = [] | [{
ignorePattern?: string;
}]; // ----- vue/no-use-v-if-with-v-for -----
type VueNoUseVIfWithVFor = [] | [{
allowUsingIterationVar?: boolean;
}]; // ----- vue/no-useless-mustaches -----
type VueNoUselessMustaches = [] | [{
ignoreIncludesComment?: boolean;
ignoreStringEscape?: boolean;
}]; // ----- vue/no-useless-v-bind -----
type VueNoUselessVBind = [] | [{
ignoreIncludesComment?: boolean;
ignoreStringEscape?: boolean;
}]; // ----- vue/no-v-html -----
type VueNoVHtml = [] | [{
ignorePattern?: string;
}]; // ----- vue/no-v-text-v-html-on-component -----
type VueNoVTextVHtmlOnComponent = [] | [{
allow?: string[];
ignoreElementNamespaces?: boolean;
}]; // ----- vue/object-curly-newline -----
type VueObjectCurlyNewline = [] | [((("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
}) | {
ObjectExpression?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ObjectPattern?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ImportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
ExportDeclaration?: (("always" | "never") | {
multiline?: boolean;
minProperties?: number;
consistent?: boolean;
});
})]; // ----- vue/object-curly-spacing -----
type VueObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
arraysInObjects?: boolean;
objectsInObjects?: boolean;
}]; // ----- vue/object-property-newline -----
type VueObjectPropertyNewline = [] | [{
allowAllPropertiesOnSameLine?: boolean;
allowMultiplePropertiesPerLine?: boolean;
}]; // ----- vue/object-shorthand -----
type VueObjectShorthand = ([] | [("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")] | [] | [("always" | "methods" | "properties")] | [("always" | "methods" | "properties"), {
avoidQuotes?: boolean;
}] | [] | [("always" | "methods")] | [("always" | "methods"), {
ignoreConstructors?: boolean;
methodsIgnorePattern?: string;
avoidQuotes?: boolean;
avoidExplicitReturnArrows?: boolean;
}]); // ----- vue/operator-linebreak -----
type VueOperatorLinebreak = [] | [("after" | "before" | "none" | null)] | [("after" | "before" | "none" | null), {
overrides?: {
[k: string]: ("after" | "before" | "none" | "ignore") | undefined;
};
}]; // ----- vue/order-in-components -----
type VueOrderInComponents = [] | [{
order?: unknown[];
}]; // ----- vue/padding-line-between-blocks -----
type VuePaddingLineBetweenBlocks = [] | [("never" | "always")]; // ----- vue/padding-line-between-tags -----
type VuePaddingLineBetweenTags = [] | [{
blankLine: ("always" | "never" | "consistent");
prev: string;
next: string;
}[]]; // ----- vue/padding-lines-in-component-definition -----
type VuePaddingLinesInComponentDefinition = [] | [(("always" | "never") | {
betweenOptions?: ("never" | "always" | "ignore");
withinOption?: (("never" | "always" | "ignore") | {
[k: string]: (("never" | "always" | "ignore") | {
betweenItems?: ("never" | "always" | "ignore");
withinEach?: ("never" | "always" | "ignore");
});
});
groupSingleLineProperties?: boolean;
})]; // ----- vue/prefer-true-attribute-shorthand -----
type VuePreferTrueAttributeShorthand = [] | [("always" | "never")] | [("always" | "never"), {
except?: string[];
}]; // ----- vue/prop-name-casing -----
type VuePropNameCasing = [] | [("camelCase" | "snake_case")] | [("camelCase" | "snake_case"), {
ignoreProps?: string[];
}]; // ----- vue/quote-props -----
type VueQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
keywords?: boolean;
unnecessary?: boolean;
numbers?: boolean;
}]); // ----- vue/require-direct-export -----
type VueRequireDirectExport = [] | [{
disallowFunctionalComponentFunction?: boolean;
}]; // ----- vue/require-explicit-emits -----
type VueRequireExplicitEmits = [] | [{
allowProps?: boolean;
}]; // ----- vue/require-macro-variable-name -----
type VueRequireMacroVariableName = [] | [{
defineProps?: string;
defineEmits?: string;
defineSlots?: string;
useSlots?: string;
useAttrs?: string;
}]; // ----- vue/require-prop-comment -----
type VueRequirePropComment = [] | [{
type?: ("JSDoc" | "line" | "block" | "any");
}]; // ----- vue/require-toggle-inside-transition -----
type VueRequireToggleInsideTransition = [] | [{
additionalDirectives?: string[];
}]; // ----- vue/restricted-component-names -----
type VueRestrictedComponentNames = [] | [{
allow?: string[];
}]; // ----- vue/return-in-computed-property -----
type VueReturnInComputedProperty = [] | [{
treatUndefinedAsUnspecified?: boolean;
}]; // ----- vue/script-indent -----
type VueScriptIndent = [] | [(number | "tab")] | [(number | "tab"), {
baseIndent?: number;
switchCase?: number;
ignores?: (string & {
[k: string]: unknown | undefined;
} & {
[k: string]: unknown | undefined;
})[];
}]; // ----- vue/singleline-html-element-content-newline -----
type VueSinglelineHtmlElementContentNewline = [] | [{
ignoreWhenNoAttributes?: boolean;
ignoreWhenEmpty?: boolean;
ignores?: string[];
externalIgnores?: string[];
}]; // ----- vue/slot-name-casing -----
type VueSlotNameCasing = [] | [("camelCase" | "kebab-case" | "singleword")]; // ----- vue/sort-keys -----
type VueSortKeys = [] | [("asc" | "desc")] | [("asc" | "desc"), {
caseSensitive?: boolean;
ignoreChildrenOf?: unknown[];
ignoreGrandchildrenOf?: unknown[];
minKeys?: number;
natural?: boolean;
}]; // ----- vue/space-in-parens -----
type VueSpaceInParens = [] | [("always" | "never")] | [("always" | "never"), {
exceptions?: ("{}" | "[]" | "()" | "empty")[];
}]; // ----- vue/space-infix-ops -----
type VueSpaceInfixOps = [] | [{
int32Hint?: boolean;
}]; // ----- vue/space-unary-ops -----
type VueSpaceUnaryOps = [] | [{
words?: boolean;
nonwords?: boolean;
overrides?: {
[k: string]: boolean | undefined;
};
}]; // ----- vue/template-curly-spacing -----
type VueTemplateCurlySpacing = [] | [("always" | "never")]; // ----- vue/this-in-template -----
type VueThisInTemplate = [] | [("always" | "never")]; // ----- vue/v-bind-style -----
type VueVBindStyle = [] | [("shorthand" | "longform")] | [("shorthand" | "longform"), {
sameNameShorthand?: ("always" | "never" | "ignore");
}]; // ----- vue/v-for-delimiter-style -----
type VueVForDelimiterStyle = [] | [("in" | "of")]; // ----- vue/v-on-event-hyphenation -----
type VueVOnEventHyphenation = [] | [("always" | "never")] | [("always" | "never"), {
autofix?: boolean;
ignore?: (string & {
[k: string]: unknown | undefined;
} & {
[k: string]: unknown | undefined;
})[];
ignoreTags?: string[];
}]; // ----- vue/v-on-handler-style -----
type VueVOnHandlerStyle = [] | [(("inline" | "inline-function") | ["method", ("inline" | "inline-function")])] | [(("inline" | "inline-function") | ["method", ("inline" | "inline-function")]), {
ignoreIncludesComment?: boolean;
}]; // ----- vue/v-on-style -----
type VueVOnStyle = [] | [("shorthand" | "longform")]; // ----- vue/v-slot-style -----
type VueVSlotStyle = [] | [(("shorthand" | "longform") | {
atComponent?: ("shorthand" | "longform" | "v-slot");
default?: ("shorthand" | "longform" | "v-slot");
named?: ("shorthand" | "longform");
})]; // ----- vue/valid-v-for -----
type VueValidVFor = [] | [{
allowEmptyAlias?: boolean;
}]; // ----- vue/valid-v-on -----
type VueValidVOn = [] | [{
modifiers?: unknown[];
}]; // ----- vue/valid-v-slot -----
type VueValidVSlot = [] | [{
allowModifiers?: boolean;
}]; // ----- wrap-iife -----
type WrapIife = [] | [("outside" | "inside" | "any")] | [("outside" | "inside" | "any"), {
functionPrototypeMethods?: boolean;
}]; // ----- yield-star-spacing -----
type YieldStarSpacing = [] | [(("before" | "after" | "both" | "neither") | {
before?: boolean;
after?: boolean;
})]; // ----- yoda -----
type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
exceptRange?: boolean;
onlyEquality?: boolean;
}];
type ConfigNames = 'vuetify/gitignore' | 'vuetify/js/recommended' | 'vuetify/js' | 'vuetify/imports' | 'vuetfiy/autoimports' | 'vuetify/unicorn/recommended' | 'vuetify/unicorn' | 'vuetify/perfectionist' | 'vuetify/vue/typescript__typescript-eslint/base' | 'vuetify/vue/typescript__typescript-eslint/eslint-recommended' | 'vuetify/vue/typescript__typescript-eslint/recommended' | 'vuetify/vue/typescript' | 'vuetify/vue' | 'vuetify/vue/jsx' | 'vuetify/typescript__typescript-eslint/base' | 'vuetify/typescript__typescript-eslint/eslint-recommended' | 'vuetify/typescript__typescript-eslint/recommended' | 'vuetify/typescript' | 'vuetify/typescript/dts' | 'vuetify/typescript/cjs-rules' | 'vuetify/stylistic' | 'vuetify/pnpm/package-json' | 'vuetify/pnpm/pnpm-workspace-yaml' | 'vuetify/jsonc/setup' | 'vuetify/jsonc/rules' | 'vuetify/antfu';
//#endregion
//#region src/types/index.d.ts
interface Rules extends RuleOptions {}
type TypedFlatConfigItem = Omit<Linter.Config<Linter.RulesRecord & Rules>, 'plugins'> & {
plugins?: Record<string, any>;
};
//#endregion
//#region node_modules/.pnpm/valibot@1.3.1_typescript@6.0.3/node_modules/valibot/dist/index.d.mts
//#endregion
//#region src/methods/fallback/fallback.d.ts
/**
* Fallback type.
*/
type Fallback<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>> = MaybeDeepReadonly<InferOutput<TSchema>> | ((dataset?: OutputDataset<InferOutput<TSchema>, InferIssue<TSchema>>, config?: Config<InferIssue<TSchema>>) => MaybeDeepReadonly<InferOutput<TSchema>>);
/**
* Schema with fallback type.
*/
type SchemaWithFallback<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TFallback$1 extends Fallback<TSchema>> = TSchema & {
/**
* The fallback value.
*/
readonly fallback: TFallback$1;
};
/**
* Returns a fallback value as output if the input does not match the schema.
*
* @param schema The schema to catch.
* @param fallback The fallback value.
*
* @returns The passed schema.
*/
//#endregion
//#region src/methods/fallback/fallbackAsync.d.ts
/**
* Fallback async type.
*/
type FallbackAsync<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>> = MaybeDeepReadonly<InferOutput<TSchema>> | ((dataset?: OutputDataset<InferOutput<TSchema>, InferIssue<TSchema>>, config?: Config<InferIssue<TSchema>>) => MaybePromise<MaybeDeepReadonly<InferOutput<TSchema>>>);
/**
* Schema with fallback async type.
*/
type SchemaWithFallbackAsync<TSchema extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TFallback$1 extends FallbackAsync<TSchema>> = Omit<TSchema, "async" | "~standard" | "~run"> & {
/**
* The fallback value.
*/
readonly fallback: TFallback$1;
/**
* Whether it's async.
*/
readonly async: true;
/**
* The Standard Schema properties.
*
* @internal
*/
readonly "~standard": StandardProps<InferInput<TSchema>, InferOutput<TSchema>>;
/**
* Parses unknown input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: UnknownDataset, config: Config<BaseIssue<unknown>>) => Promise<OutputDataset<InferOutput<TSchema>, InferIssue<TSchema>>>;
};
/**
* Returns a fallback value as output if the input does not match the schema.
*
* @param schema The schema to catch.
* @param fallback The fallback value.
*
* @returns The passed schema.
*/
//#endregion
//#region src/methods/pipe/pipe.d.ts
/**
* Schema with pipe type.
*/
type SchemaWithPipe<TPipe$1 extends readonly [BaseSchema<unknown, unknown, BaseIssue<unknown>>, ...PipeItem<any, unknown, BaseIssue<unknown>>[]]> = Omit<FirstTupleItem<TPipe$1>, "pipe" | "~standard" | "~run" | "~types"> & {
/**
* The pipe items.
*/
readonly pipe: TPipe$1;
/**
* The Standard Schema properties.
*
* @internal
*/
readonly "~standard": StandardProps<InferInput<FirstTupleItem<TPipe$1>>, InferOutput<LastTupleItem<TPipe$1>>>;
/**
* Parses unknown input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: UnknownDataset, config: Config<BaseIssue<unknown>>) => OutputDataset<InferOutput<LastTupleItem<TPipe$1>>, InferIssue<TPipe$1[number]>>;
/**
* The input, output and issue type.
*
* @internal
*/
readonly "~types"?: {
readonly input: InferInput<FirstTupleItem<TPipe$1>>;
readonly output: InferOutput<LastTupleItem<TPipe$1>>;
readonly issue: InferIssue<TPipe$1[number]>;
} | undefined;
};
/**
* Adds a pipeline to a schema, that can validate and transform its input.
*
* @param schema The root schema.
* @param item1 The first pipe item.
*
* @returns A schema with a pipeline.
*/
//#endregion
//#region src/methods/pipe/pipeAsync.d.ts
/**
* Schema with pipe async type.
*/
type SchemaWithPipeAsync<TPipe$1 extends readonly [(BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>), ...(PipeItem<any, unknown, BaseIssue<unknown>> | PipeItemAsync<any, unknown, BaseIssue<unknown>>)[]]> = Omit<FirstTupleItem<TPipe$1>, "async" | "pipe" | "~standard" | "~run" | "~types"> & {
/**
* The pipe items.
*/
readonly pipe: TPipe$1;
/**
* Whether it's async.
*/
readonly async: true;
/**
* The Standard Schema properties.
*
* @internal
*/
readonly "~standard": StandardProps<InferInput<FirstTupleItem<TPipe$1>>, InferOutput<LastTupleItem<TPipe$1>>>;
/**
* Parses unknown input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: UnknownDataset, config: Config<BaseIssue<unknown>>) => Promise<OutputDataset<InferOutput<LastTupleItem<TPipe$1>>, InferIssue<TPipe$1[number]>>>;
/**
* The input, output and issue type.
*
* @internal
*/
readonly "~types"?: {
readonly input: InferInput<FirstTupleItem<TPipe$1>>;
readonly output: InferOutput<LastTupleItem<TPipe$1>>;
readonly issue: InferIssue<TPipe$1[number]>;
} | undefined;
};
/**
* Adds a pipeline to a schema, that can validate and transform its input.
*
* @param schema The root schema.
* @param item1 The first pipe item.
*
* @returns A schema with a pipeline.
*/
//#endregion
//#region src/types/metadata.d.ts
/**
* Base metadata interface.
*/
interface BaseMetadata<TInput$1> {
/**
* The object kind.
*/
readonly kind: "metadata";
/**
* The metadata type.
*/
readonly type: string;
/**
* The metadata reference.
*/
readonly reference: (...args: any[]) => BaseMetadata<any>;
/**
* The input, output and issue type.
*
* @internal
*/
readonly "~types"?: {
readonly input: TInput$1;
readonly output: TInput$1;
readonly issue: never;
} | undefined;
}
/**
* Generic metadata type.
*/
//#endregion
//#region src/types/dataset.d.ts
/**
* Unknown dataset interface.
*/
interface UnknownDataset {
/**
* Whether is's typed.
*/
typed?: false;
/**
* The dataset value.
*/
value: unknown;
/**
* The dataset issues.
*/
issues?: undefined;
}
/**
* Success dataset interface.
*/
interface SuccessDataset<TValue$1> {
/**
* Whether is's typed.
*/
typed: true;
/**
* The dataset value.
*/
value: TValue$1;
/**
* The dataset issues.
*/
issues?: undefined;
}
/**
* Partial dataset interface.
*/
interface PartialDataset<TValue$1, TIssue extends BaseIssue<unknown>> {
/**
* Whether is's typed.
*/
typed: true;
/**
* The dataset value.
*/
value: TValue$1;
/**
* The dataset issues.
*/
issues: [TIssue, ...TIssue[]];
}
/**
* Failure dataset interface.
*/
interface FailureDataset<TIssue extends BaseIssue<unknown>> {
/**
* Whether is's typed.
*/
typed: false;
/**
* The dataset value.
*/
value: unknown;
/**
* The dataset issues.
*/
issues: [TIssue, ...TIssue[]];
}
/**
* Output dataset type.
*/
type OutputDataset<TValue$1, TIssue extends BaseIssue<unknown>> = SuccessDataset<TValue$1> | PartialDataset<TValue$1, TIssue> | FailureDataset<TIssue>; //#endregion
//#region src/types/standard.d.ts
/**
* The Standard Schema properties interface.
*/
interface StandardProps<TInput$1, TOutput$1> {
/**
* The version number of the standard.
*/
readonly version: 1;
/**
* The vendor name of the schema library.
*/
readonly vendor: "valibot";
/**
* Validates unknown input values.
*/
readonly validate: (value: unknown) => StandardResult<TOutput$1> | Promise<StandardResult<TOutput$1>>;
/**
* Inferred types associated with the schema.
*/
readonly types?: StandardTypes<TInput$1, TOutput$1> | undefined;
}
/**
* The result interface of the validate function.
*/
type StandardResult<TOutput$1> = StandardSuccessResult<TOutput$1> | StandardFailureResult;
/**
* The result interface if validation succeeds.
*/
interface StandardSuccessResult<TOutput$1> {
/**
* The typed output value.
*/
readonly value: TOutput$1;
/**
* The non-existent issues.
*/
readonly issues?: undefined;
}
/**
* The result interface if validation fails.
*/
interface StandardFailureResult {
/**
* The issues of failed validation.
*/
readonly issues: readonly StandardIssue[];
}
/**
* The issue interface of the failure output.
*/
interface StandardIssue {
/**
* The error message of the issue.
*/
readonly message: string;
/**
* The path of the issue, if any.
*/
readonly path?: readonly (PropertyKey | StandardPathItem)[] | undefined;
}
/**
* The path item interface of the issue.
*/
interface StandardPathItem {
/**
* The key of the path item.
*/
readonly key: PropertyKey;
}
/**
* The Standard Schema types interface.
*/
interface StandardTypes<TInput$1, TOutput$1> {
/**
* The input type of the schema.
*/
readonly input: TInput$1;
/**
* The output type of the schema.
*/
readonly output: TOutput$1;
} //#endregion
//#region src/types/schema.d.ts
/**
* Base schema interface.
*/
interface BaseSchema<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> {
/**
* The object kind.
*/
readonly kind: "schema";
/**
* The schema type.
*/
readonly type: string;
/**
* The schema reference.
*/
readonly reference: (...args: any[]) => BaseSchema<unknown, unknown, BaseIssue<unknown>>;
/**
* The expected property.
*/
readonly expects: string;
/**
* Whether it's async.
*/
readonly async: false;
/**
* The Standard Schema properties.
*
* @internal
*/
readonly "~standard": StandardProps<TInput$1, TOutput$1>;
/**
* Parses unknown input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: UnknownDataset, config: Config<BaseIssue<unknown>>) => OutputDataset<TOutput$1, TIssue>;
/**
* The input, output and issue type.
*
* @internal
*/
readonly "~types"?: {
readonly input: TInput$1;
readonly output: TOutput$1;
readonly issue: TIssue;
} | undefined;
}
/**
* Base schema async interface.
*/
interface BaseSchemaAsync<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> extends Omit<BaseSchema<TInput$1, TOutput$1, TIssue>, "reference" | "async" | "~run"> {
/**
* The schema reference.
*/
readonly reference: (...args: any[]) => BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>;
/**
* Whether it's async.
*/
readonly async: true;
/**
* Parses unknown input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: UnknownDataset, config: Config<BaseIssue<unknown>>) => Promise<OutputDataset<TOutput$1, TIssue>>;
}
/**
* Generic schema type.
*/
//#endregion
//#region src/types/transformation.d.ts
/**
* Base transformation interface.
*/
interface BaseTransformation<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> {
/**
* The object kind.
*/
readonly kind: "transformation";
/**
* The transformation type.
*/
readonly type: string;
/**
* The transformation reference.
*/
readonly reference: (...args: any[]) => BaseTransformation<any, any, BaseIssue<unknown>>;
/**
* Whether it's async.
*/
readonly async: false;
/**
* Transforms known input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: SuccessDataset<TInput$1>, config: Config<BaseIssue<unknown>>) => OutputDataset<TOutput$1, BaseIssue<unknown> | TIssue>;
/**
* The input, output and issue type.
*
* @internal
*/
readonly "~types"?: {
readonly input: TInput$1;
readonly output: TOutput$1;
readonly issue: TIssue;
} | undefined;
}
/**
* Base transformation async interface.
*/
interface BaseTransformationAsync<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> extends Omit<BaseTransformation<TInput$1, TOutput$1, TIssue>, "reference" | "async" | "~run"> {
/**
* The transformation reference.
*/
readonly reference: (...args: any[]) => BaseTransformation<any, any, BaseIssue<unknown>> | BaseTransformationAsync<any, any, BaseIssue<unknown>>;
/**
* Whether it's async.
*/
readonly async: true;
/**
* Transforms known input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: SuccessDataset<TInput$1>, config: Config<BaseIssue<unknown>>) => Promise<OutputDataset<TOutput$1, BaseIssue<unknown> | TIssue>>;
}
/**
* Generic transformation type.
*/
//#endregion
//#region src/types/validation.d.ts
/**
* Base validation interface.
*/
interface BaseValidation<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> {
/**
* The object kind.
*/
readonly kind: "validation";
/**
* The validation type.
*/
readonly type: string;
/**
* The validation reference.
*/
readonly reference: (...args: any[]) => BaseValidation<any, any, BaseIssue<unknown>>;
/**
* The expected property.
*/
readonly expects: string | null;
/**
* Whether it's async.
*/
readonly async: false;
/**
* Validates known input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: OutputDataset<TInput$1, BaseIssue<unknown>>, config: Config<BaseIssue<unknown>>) => OutputDataset<TOutput$1, BaseIssue<unknown> | TIssue>;
/**
* The input, output and issue type.
*
* @internal
*/
readonly "~types"?: {
readonly input: TInput$1;
readonly output: TOutput$1;
readonly issue: TIssue;
} | undefined;
}
/**
* Base validation async interface.
*/
interface BaseValidationAsync<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> extends Omit<BaseValidation<TInput$1, TOutput$1, TIssue>, "reference" | "async" | "~run"> {
/**
* The validation reference.
*/
readonly reference: (...args: any[]) => BaseValidation<any, any, BaseIssue<unknown>> | BaseValidationAsync<any, any, BaseIssue<unknown>>;
/**
* Whether it's async.
*/
readonly async: true;
/**
* Validates known input values.
*
* @param dataset The input dataset.
* @param config The configuration.
*
* @returns The output dataset.
*
* @internal
*/
readonly "~run": (dataset: OutputDataset<TInput$1, BaseIssue<unknown>>, config: Config<BaseIssue<unknown>>) => Promise<OutputDataset<TOutput$1, BaseIssue<unknown> | TIssue>>;
}
/**
* Generic validation type.
*/
//#endregion
//#region src/types/infer.d.ts
/**
* Infer input type.
*/
type InferInput<TItem$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<any, unknown, BaseIssue<unknown>> | BaseValidationAsync<any, unknown, BaseIssue<unknown>> | BaseTransformation<any, unknown, BaseIssue<unknown>> | BaseTransformationAsync<any, unknown, BaseIssue<unknown>> | BaseMetadata<any>> = NonNullable<TItem$1["~types"]>["input"];
/**
* Infer output type.
*/
type InferOutput<TItem$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<any, unknown, BaseIssue<unknown>> | BaseValidationAsync<any, unknown, BaseIssue<unknown>> | BaseTransformation<any, unknown, BaseIssue<unknown>> | BaseTransformationAsync<any, unknown, BaseIssue<unknown>> | BaseMetadata<any>> = NonNullable<TItem$1["~types"]>["output"];
/**
* Infer issue type.
*/
type InferIssue<TItem$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | BaseValidation<any, unknown, BaseIssue<unknown>> | BaseValidationAsync<any, unknown, BaseIssue<unknown>> | BaseTransformation<any, unknown, BaseIssue<unknown>> | BaseTransformationAsync<any, unknown, BaseIssue<unknown>> | BaseMetadata<any>> = NonNullable<TItem$1["~types"]>["issue"]; //#endregion
//#region src/types/utils.d.ts
/**
* Checks if a type is `any`.
*/
/**
* Constructs a type that is maybe readonly.
*/
type MaybeReadonly<TValue$1> = TValue$1 | Readonly<TValue$1>;
/**
* Constructs a type that is deeply readonly.
*/
type DeepReadonly<TValue$1> = TValue$1 extends Record<string, unknown> | readonly unknown[] ? { readonly [TKey in keyof TValue$1]: DeepReadonly<TValue$1[TKey]> } : TValue$1;
/**
* Constructs a type that is maybe deeply readonly.
*/
type MaybeDeepReadonly<TValue$1> = TValue$1 | DeepReadonly<TValue$1>;
/**
* Constructs a type that is maybe a promise.
*/
type MaybePromise<TValue$1> = TValue$1 | Promise<TValue$1>;
/**
* Prettifies a type for better readability.
*
* Hint: This type has no effect and is only used so that TypeScript displays
* the final type in the preview instead of the utility types used.
*/
type Prettify<TObject> = { [TKey in keyof TObject]: TObject[TKey] } & {};
/**
* Marks specific keys as optional.
*/
type MarkOptional<TObject, TKeys extends keyof TObject> = { [TKey in keyof TObject]?: unknown } & Omit<TObject, TKeys> & Partial<Pick<TObject, TKeys>>;
/**
* Merges two objects. Overlapping entries from the second object overwrite
* properties from the first object.
*/
/**
* Extracts first tuple item.
*/
type FirstTupleItem<TTuple extends readonly [unknown, ...unknown[]]> = TTuple[0];
/**
* Extracts last tuple item.
*/
type LastTupleItem<TTuple extends readonly [unknown, ...unknown[]]> = TTuple[TTuple extends readonly [unknown, ...infer TRest] ? TRest["length"] : never];
/**
* Converts union to intersection type.
*/
//#endregion
//#region src/types/other.d.ts
/**
* Error message type.
*/
type ErrorMessage<TIssue extends BaseIssue<unknown>> = ((issue: TIssue) => string) | string;
/**
* Default type.
*/
type Default<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TInput$1 extends null | undefined> = MaybeDeepReadonly<InferInput<TWrapped$1> | TInput$1> | ((dataset?: UnknownDataset, config?: Config<InferIssue<TWrapped$1>>) => MaybeDeepReadonly<InferInput<TWrapped$1> | TInput$1>) | undefined;
/**
* Default async type.
*/
type DefaultAsync<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TInput$1 extends null | undefined> = MaybeDeepReadonly<InferInput<TWrapped$1> | TInput$1> | ((dataset?: UnknownDataset, config?: Config<InferIssue<TWrapped$1>>) => MaybePromise<MaybeDeepReadonly<InferInput<TWrapped$1> | TInput$1>>) | undefined;
/**
* Default value type.
*/
type DefaultValue<TDefault extends Default<BaseSchema<unknown, unknown, BaseIssue<unknown>>, null | undefined> | DefaultAsync<BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, null | undefined>> = TDefault extends DefaultAsync<infer TWrapped extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, infer TInput> ? TDefault extends ((dataset?: UnknownDataset, config?: Config<InferIssue<TWrapped>>) => MaybePromise<MaybeDeepReadonly<InferInput<TWrapped> | TInput>>) ? Awaited<ReturnType<TDefault>> : TDefault : never; //#endregion
//#region src/types/object.d.ts
/**
* Optional entry schema type.
*/
type OptionalEntrySchema = ExactOptionalSchema<BaseSchema<unknown, unknown, BaseIssue<unknown>>, unknown> | NullishSchema<BaseSchema<unknown, unknown, BaseIssue<unknown>>, unknown> | OptionalSchema<BaseSchema<unknown, unknown, BaseIssue<unknown>>, unknown>;
/**
* Optional entry schema async type.
*/
type OptionalEntrySchemaAsync = ExactOptionalSchemaAsync<BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, unknown> | NullishSchemaAsync<BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, unknown> | OptionalSchemaAsync<BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, unknown>;
/**
* Object entries interface.
*/
interface ObjectEntries {
[key: string]: BaseSchema<unknown, unknown, BaseIssue<unknown>> | SchemaWithFallback<BaseSchema<unknown, unknown, BaseIssue<unknown>>, unknown> | OptionalEntrySchema;
}
/**
* Object entries async interface.
*/
interface ObjectEntriesAsync {
[key: string]: BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>> | SchemaWithFallback<BaseSchema<unknown, unknown, BaseIssue<unknown>>, unknown> | SchemaWithFallbackAsync<BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, unknown> | OptionalEntrySchema | OptionalEntrySchemaAsync;
}
/**
* Object keys type.
*/
/**
* Infer entries input type.
*/
type InferEntriesInput<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = { -readonly [TKey in keyof TEntries$1]: InferInput<TEntries$1[TKey]> };
/**
* Infer entries output type.
*/
type InferEntriesOutput<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = { -readonly [TKey in keyof TEntries$1]: InferOutput<TEntries$1[TKey]> };
/**
* Optional input keys type.
*/
type OptionalInputKeys<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = { [TKey in keyof TEntries$1]: TEntries$1[TKey] extends OptionalEntrySchema | OptionalEntrySchemaAsync ? TKey : never }[keyof TEntries$1];
/**
* Optional output keys type.
*/
type OptionalOutputKeys<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = { [TKey in keyof TEntries$1]: TEntries$1[TKey] extends OptionalEntrySchema | OptionalEntrySchemaAsync ? undefined extends TEntries$1[TKey]["default"] ? TKey : never : never }[keyof TEntries$1];
/**
* Input with question marks type.
*/
type InputWithQuestionMarks<TEntries$1 extends ObjectEntries | ObjectEntriesAsync, TObject extends InferEntriesInput<TEntries$1>> = MarkOptional<TObject, OptionalInputKeys<TEntries$1>>;
/**
* Output with question marks type.
*/
type OutputWithQuestionMarks<TEntries$1 extends ObjectEntries | ObjectEntriesAsync, TObject extends InferEntriesOutput<TEntries$1>> = MarkOptional<TObject, OptionalOutputKeys<TEntries$1>>;
/**
* Readonly output keys type.
*/
type ReadonlyOutputKeys<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = { [TKey in keyof TEntries$1]: TEntries$1[TKey] extends SchemaWithPipe<infer TPipe> | SchemaWithPipeAsync<infer TPipe> ? ReadonlyAction<any> extends TPipe[number] ? TKey : never : never }[keyof TEntries$1];
/**
* Output with readonly type.
*/
type OutputWithReadonly<TEntries$1 extends ObjectEntries | ObjectEntriesAsync, TObject extends OutputWithQuestionMarks<TEntries$1, InferEntriesOutput<TEntries$1>>> = Readonly<TObject> & Pick<TObject, Exclude<keyof TObject, ReadonlyOutputKeys<TEntries$1>>>;
/**
* Infer object input type.
*/
type InferObjectInput<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = Prettify<InputWithQuestionMarks<TEntries$1, InferEntriesInput<TEntries$1>>>;
/**
* Infer object output type.
*/
type InferObjectOutput<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = Prettify<OutputWithReadonly<TEntries$1, OutputWithQuestionMarks<TEntries$1, InferEntriesOutput<TEntries$1>>>>;
/**
* Infer object issue type.
*/
type InferObjectIssue<TEntries$1 extends ObjectEntries | ObjectEntriesAsync> = InferIssue<TEntries$1[keyof TEntries$1]>; //#endregion
//#region src/types/tuple.d.ts
/**
* Tuple items type.
*/
//#endregion
//#region src/types/issue.d.ts
/**
* Array path item interface.
*/
interface ArrayPathItem {
/**
* The path item type.
*/
readonly type: "array";
/**
* The path item origin.
*/
readonly origin: "value";
/**
* The path item input.
*/
readonly input: MaybeReadonly<unknown[]>;
/**
* The path item key.
*/
readonly key: number;
/**
* The path item value.
*/
readonly value: unknown;
}
/**
* Map path item interface.
*/
interface MapPathItem {
/**
* The path item type.
*/
readonly type: "map";
/**
* The path item origin.
*/
readonly origin: "key" | "value";
/**
* The path item input.
*/
readonly input: Map<unknown, unknown>;
/**
* The path item key.
*/
readonly key: unknown;
/**
* The path item value.
*/
readonly value: unknown;
}
/**
* Object path item interface.
*/
interface ObjectPathItem {
/**
* The path item type.
*/
readonly type: "object";
/**
* The path item origin.
*/
readonly origin: "key" | "value";
/**
* The path item input.
*/
readonly input: Record<string, unknown>;
/**
* The path item key.
*/
readonly key: string;
/**
* The path item value.
*/
readonly value: unknown;
}
/**
* Set path item interface.
*/
interface SetPathItem {
/**
* The path item type.
*/
readonly type: "set";
/**
* The path item origin.
*/
readonly origin: "value";
/**
* The path item input.
*/
readonly input: Set<unknown>;
/**
* The path item key.
*/
readonly key: null;
/**
* The path item key.
*/
readonly value: unknown;
}
/**
* Unknown path item interface.
*/
interface UnknownPathItem {
/**
* The path item type.
*/
readonly type: "unknown";
/**
* The path item origin.
*/
readonly origin: "key" | "value";
/**
* The path item input.
*/
readonly input: unknown;
/**
* The path item key.
*/
readonly key: unknown;
/**
* The path item value.
*/
readonly value: unknown;
}
/**
* Issue path item type.
*/
type IssuePathItem = ArrayPathItem | MapPathItem | ObjectPathItem | SetPathItem | UnknownPathItem;
/**
* Base issue interface.
*/
interface BaseIssue<TInput$1> extends Config<BaseIssue<TInput$1>> {
/**
* The issue kind.
*/
readonly kind: "schema" | "validation" | "transformation";
/**
* The issue type.
*/
readonly type: string;
/**
* The raw input data.
*/
readonly input: TInput$1;
/**
* The expected property.
*/
readonly expected: string | null;
/**
* The received property.
*/
readonly received: string;
/**
* The error message.
*/
readonly message: string;
/**
* The input requirement.
*/
readonly requirement?: unknown | undefined;
/**
* The issue path.
*/
readonly path?: [IssuePathItem, ...IssuePathItem[]] | undefined;
/**
* The sub issues.
*/
readonly issues?: [BaseIssue<TInput$1>, ...BaseIssue<TInput$1>[]] | undefined;
}
/**
* Generic issue type.
*/
//#endregion
//#region src/types/config.d.ts
/**
* Config interface.
*/
interface Config<TIssue extends BaseIssue<unknown>> {
/**
* The selected language.
*/
readonly lang?: string | undefined;
/**
* The error message.
*/
readonly message?: ErrorMessage<TIssue> | undefined;
/**
* Whether it should be aborted early.
*/
readonly abortEarly?: boolean | undefined;
/**
* Whether a pipe should be aborted early.
*/
readonly abortPipeEarly?: boolean | undefined;
} //#endregion
//#region src/types/pipe.d.ts
/**
* Pipe action type.
*/
type PipeAction<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> = BaseValidation<TInput$1, TOutput$1, TIssue> | BaseTransformation<TInput$1, TOutput$1, TIssue> | BaseMetadata<TInput$1>;
/**
* Pipe action async type.
*/
type PipeActionAsync<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> = BaseValidationAsync<TInput$1, TOutput$1, TIssue> | BaseTransformationAsync<TInput$1, TOutput$1, TIssue>;
/**
* Pipe item type.
*/
type PipeItem<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> = BaseSchema<TInput$1, TOutput$1, TIssue> | PipeAction<TInput$1, TOutput$1, TIssue>;
/**
* Pipe item async type.
*/
type PipeItemAsync<TInput$1, TOutput$1, TIssue extends BaseIssue<unknown>> = BaseSchemaAsync<TInput$1, TOutput$1, TIssue> | PipeActionAsync<TInput$1, TOutput$1, TIssue>;
/**
* Schema without pipe type.
*/
//#endregion
//#region src/schemas/array/types.d.ts
/**
* Array issue interface.
*/
interface ArrayIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "array";
/**
* The expected property.
*/
readonly expected: "Array";
} //#endregion
//#region src/schemas/array/array.d.ts
/**
* Array schema interface.
*/
interface ArraySchema<TItem$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TMessage extends ErrorMessage<ArrayIssue> | undefined> extends BaseSchema<InferInput<TItem$1>[], InferOutput<TItem$1>[], ArrayIssue | InferIssue<TItem$1>> {
/**
* The schema type.
*/
readonly type: "array";
/**
* The schema reference.
*/
readonly reference: typeof array;
/**
* The expected property.
*/
readonly expects: "Array";
/**
* The array item schema.
*/
readonly item: TItem$1;
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates an array schema.
*
* @param item The item schema.
*
* @returns An array schema.
*/
declare function array<const TItem$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(item: TItem$1): ArraySchema<TItem$1, undefined>;
/**
* Creates an array schema.
*
* @param item The item schema.
* @param message The error message.
*
* @returns An array schema.
*/
declare function array<const TItem$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, const TMessage extends ErrorMessage<ArrayIssue> | undefined>(item: TItem$1, message: TMessage): ArraySchema<TItem$1, TMessage>; //#endregion
//#region src/schemas/array/arrayAsync.d.ts
/**
* Array schema interface.
*/
//#endregion
//#region src/schemas/boolean/boolean.d.ts
/**
* Boolean issue interface.
*/
interface BooleanIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "boolean";
/**
* The expected property.
*/
readonly expected: "boolean";
}
/**
* Boolean schema interface.
*/
interface BooleanSchema<TMessage extends ErrorMessage<BooleanIssue> | undefined> extends BaseSchema<boolean, boolean, BooleanIssue> {
/**
* The schema type.
*/
readonly type: "boolean";
/**
* The schema reference.
*/
readonly reference: typeof boolean;
/**
* The expected property.
*/
readonly expects: "boolean";
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates a boolean schema.
*
* @returns A boolean schema.
*/
declare function boolean(): BooleanSchema<undefined>;
/**
* Creates a boolean schema.
*
* @param message The error message.
*
* @returns A boolean schema.
*/
declare function boolean<const TMessage extends ErrorMessage<BooleanIssue> | undefined>(message: TMessage): BooleanSchema<TMessage>; //#endregion
//#region src/schemas/custom/types.d.ts
/**
* Custom issue interface.
*/
//#endregion
//#region src/schemas/exactOptional/exactOptional.d.ts
/**
* Exact optional schema interface.
*/
interface ExactOptionalSchema<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TDefault extends Default<TWrapped$1, never>> extends BaseSchema<InferInput<TWrapped$1>, InferOutput<TWrapped$1>, InferIssue<TWrapped$1>> {
/**
* The schema type.
*/
readonly type: "exact_optional";
/**
* The schema reference.
*/
readonly reference: typeof exactOptional;
/**
* The expected property.
*/
readonly expects: TWrapped$1["expects"];
/**
* The wrapped schema.
*/
readonly wrapped: TWrapped$1;
/**
* The default value.
*/
readonly default: TDefault;
}
/**
* Creates an exact optional schema.
*
* @param wrapped The wrapped schema.
*
* @returns An exact optional schema.
*/
declare function exactOptional<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(wrapped: TWrapped$1): ExactOptionalSchema<TWrapped$1, undefined>;
/**
* Creates an exact optional schema.
*
* @param wrapped The wrapped schema.
* @param default_ The default value.
*
* @returns An exact optional schema.
*/
declare function exactOptional<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, const TDefault extends Default<TWrapped$1, never>>(wrapped: TWrapped$1, default_: TDefault): ExactOptionalSchema<TWrapped$1, TDefault>; //#endregion
//#region src/schemas/exactOptional/exactOptionalAsync.d.ts
/**
* Exact optional schema async interface.
*/
interface ExactOptionalSchemaAsync<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped$1, never>> extends BaseSchemaAsync<InferInput<TWrapped$1>, InferOutput<TWrapped$1>, InferIssue<TWrapped$1>> {
/**
* The schema type.
*/
readonly type: "exact_optional";
/**
* The schema reference.
*/
readonly reference: typeof exactOptional | typeof exactOptionalAsync;
/**
* The expected property.
*/
readonly expects: TWrapped$1["expects"];
/**
* The wrapped schema.
*/
readonly wrapped: TWrapped$1;
/**
* The default value.
*/
readonly default: TDefault;
}
/**
* Creates an exact optional schema.
*
* @param wrapped The wrapped schema.
*
* @returns An exact optional schema.
*/
declare function exactOptionalAsync<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>>(wrapped: TWrapped$1): ExactOptionalSchemaAsync<TWrapped$1, undefined>;
/**
* Creates an exact optional schema.
*
* @param wrapped The wrapped schema.
* @param default_ The default value.
*
* @returns An exact optional schema.
*/
declare function exactOptionalAsync<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, const TDefault extends DefaultAsync<TWrapped$1, never>>(wrapped: TWrapped$1, default_: TDefault): ExactOptionalSchemaAsync<TWrapped$1, TDefault>; //#endregion
//#region src/schemas/file/file.d.ts
/**
* File issue interface.
*/
//#endregion
//#region src/schemas/literal/literal.d.ts
/**
* Literal type.
*/
type Literal = bigint | boolean | number | string | symbol;
/**
* Literal issue interface.
*/
interface LiteralIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "literal";
/**
* The expected property.
*/
readonly expected: string;
}
/**
* Literal schema interface.
*/
interface LiteralSchema<TLiteral extends Literal, TMessage extends ErrorMessage<LiteralIssue> | undefined> extends BaseSchema<TLiteral, TLiteral, LiteralIssue> {
/**
* The schema type.
*/
readonly type: "literal";
/**
* The schema reference.
*/
readonly reference: typeof literal;
/**
* The literal value.
*/
readonly literal: TLiteral;
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates a literal schema.
*
* @param literal_ The literal value.
*
* @returns A literal schema.
*/
declare function literal<const TLiteral extends Literal>(literal_: TLiteral): LiteralSchema<TLiteral, undefined>;
/**
* Creates a literal schema.
*
* @param literal_ The literal value.
* @param message The error message.
*
* @returns A literal schema.
*/
declare function literal<const TLiteral extends Literal, const TMessage extends ErrorMessage<LiteralIssue> | undefined>(literal_: TLiteral, message: TMessage): LiteralSchema<TLiteral, TMessage>; //#endregion
//#region src/schemas/looseObject/types.d.ts
/**
* Loose object issue interface.
*/
//#endregion
//#region src/schemas/union/types.d.ts
/**
* Union issue interface.
*/
interface UnionIssue<TSubIssue extends BaseIssue<unknown>> extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "union";
/**
* The expected property.
*/
readonly expected: string;
/**
* The sub issues.
*/
readonly issues?: [TSubIssue, ...TSubIssue[]];
} //#endregion
//#region src/schemas/union/union.d.ts
/**
* Union options type.
*/
type UnionOptions = MaybeReadonly<BaseSchema<unknown, unknown, BaseIssue<unknown>>[]>;
/**
* Union schema interface.
*/
interface UnionSchema<TOptions$1 extends UnionOptions, TMessage extends ErrorMessage<UnionIssue<InferIssue<TOptions$1[number]>>> | undefined> extends BaseSchema<InferInput<TOptions$1[number]>, InferOutput<TOptions$1[number]>, UnionIssue<InferIssue<TOptions$1[number]>> | InferIssue<TOptions$1[number]>> {
/**
* The schema type.
*/
readonly type: "union";
/**
* The schema reference.
*/
readonly reference: typeof union;
/**
* The union options.
*/
readonly options: TOptions$1;
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates an union schema.
*
* @param options The union options.
*
* @returns An union schema.
*/
declare function union<const TOptions$1 extends UnionOptions>(options: TOptions$1): UnionSchema<TOptions$1, undefined>;
/**
* Creates an union schema.
*
* @param options The union options.
* @param message The error message.
*
* @returns An union schema.
*/
declare function union<const TOptions$1 extends UnionOptions, const TMessage extends ErrorMessage<UnionIssue<InferIssue<TOptions$1[number]>>> | undefined>(options: TOptions$1, message: TMessage): UnionSchema<TOptions$1, TMessage>; //#endregion
//#region src/schemas/union/unionAsync.d.ts
/**
* Union options async type.
*/
//#endregion
//#region src/schemas/nullish/types.d.ts
/**
* Infer nullish output type.
*/
type InferNullishOutput<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped$1, null | undefined>> = undefined extends TDefault ? InferOutput<TWrapped$1> | null | undefined : InferOutput<TWrapped$1> | Extract<DefaultValue<TDefault>, null | undefined>; //#endregion
//#region src/schemas/nullish/nullish.d.ts
/**
* Nullish schema interface.
*/
interface NullishSchema<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TDefault extends Default<TWrapped$1, null | undefined>> extends BaseSchema<InferInput<TWrapped$1> | null | undefined, InferNullishOutput<TWrapped$1, TDefault>, InferIssue<TWrapped$1>> {
/**
* The schema type.
*/
readonly type: "nullish";
/**
* The schema reference.
*/
readonly reference: typeof nullish;
/**
* The expected property.
*/
readonly expects: `(${TWrapped$1["expects"]} | null | undefined)`;
/**
* The wrapped schema.
*/
readonly wrapped: TWrapped$1;
/**
* The default value.
*/
readonly default: TDefault;
}
/**
* Creates a nullish schema.
*
* @param wrapped The wrapped schema.
*
* @returns A nullish schema.
*/
declare function nullish<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(wrapped: TWrapped$1): NullishSchema<TWrapped$1, undefined>;
/**
* Creates a nullish schema.
*
* @param wrapped The wrapped schema.
* @param default_ The default value.
*
* @returns A nullish schema.
*/
declare function nullish<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, const TDefault extends Default<TWrapped$1, null | undefined>>(wrapped: TWrapped$1, default_: TDefault): NullishSchema<TWrapped$1, TDefault>; //#endregion
//#region src/schemas/nullish/nullishAsync.d.ts
/**
* Nullish schema async interface.
*/
interface NullishSchemaAsync<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped$1, null | undefined>> extends BaseSchemaAsync<InferInput<TWrapped$1> | null | undefined, InferNullishOutput<TWrapped$1, TDefault>, InferIssue<TWrapped$1>> {
/**
* The schema type.
*/
readonly type: "nullish";
/**
* The schema reference.
*/
readonly reference: typeof nullish | typeof nullishAsync;
/**
* The expected property.
*/
readonly expects: `(${TWrapped$1["expects"]} | null | undefined)`;
/**
* The wrapped schema.
*/
readonly wrapped: TWrapped$1;
/**
* The default value.
*/
readonly default: TDefault;
}
/**
* Creates a nullish schema.
*
* @param wrapped The wrapped schema.
*
* @returns A nullish schema.
*/
declare function nullishAsync<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>>(wrapped: TWrapped$1): NullishSchemaAsync<TWrapped$1, undefined>;
/**
* Creates a nullish schema.
*
* @param wrapped The wrapped schema.
* @param default_ The default value.
*
* @returns A nullish schema.
*/
declare function nullishAsync<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, const TDefault extends DefaultAsync<TWrapped$1, null | undefined>>(wrapped: TWrapped$1, default_: TDefault): NullishSchemaAsync<TWrapped$1, TDefault>; //#endregion
//#region src/schemas/number/number.d.ts
/**
* Number issue interface.
*/
//#endregion
//#region src/schemas/object/types.d.ts
/**
* Object issue interface.
*/
interface ObjectIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "object";
/**
* The expected property.
*/
readonly expected: "Object" | `"${string}"`;
} //#endregion
//#region src/schemas/object/object.d.ts
/**
* Object schema interface.
*/
interface ObjectSchema<TEntries$1 extends ObjectEntries, TMessage extends ErrorMessage<ObjectIssue> | undefined> extends BaseSchema<InferObjectInput<TEntries$1>, InferObjectOutput<TEntries$1>, ObjectIssue | InferObjectIssue<TEntries$1>> {
/**
* The schema type.
*/
readonly type: "object";
/**
* The schema reference.
*/
readonly reference: typeof object;
/**
* The expected property.
*/
readonly expects: "Object";
/**
* The entries schema.
*/
readonly entries: TEntries$1;
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates an object schema.
*
* Hint: This schema removes unknown entries. The output will only include the
* entries you specify. To include unknown entries, use `looseObject`. To
* return an issue for unknown entries, use `strictObject`. To include and
* validate unknown entries, use `objectWithRest`.
*
* @param entries The entries schema.
*
* @returns An object schema.
*/
declare function object<const TEntries$1 extends ObjectEntries>(entries: TEntries$1): ObjectSchema<TEntries$1, undefined>;
/**
* Creates an object schema.
*
* Hint: This schema removes unknown entries. The output will only include the
* entries you specify. To include unknown entries, use `looseObject`. To
* return an issue for unknown entries, use `strictObject`. To include and
* validate unknown entries, use `objectWithRest`.
*
* @param entries The entries schema.
* @param message The error message.
*
* @returns An object schema.
*/
declare function object<const TEntries$1 extends ObjectEntries, const TMessage extends ErrorMessage<ObjectIssue> | undefined>(entries: TEntries$1, message: TMessage): ObjectSchema<TEntries$1, TMessage>; //#endregion
//#region src/schemas/object/objectAsync.d.ts
/**
* Object schema async interface.
*/
//#endregion
//#region src/schemas/optional/types.d.ts
/**
* Infer optional output type.
*/
type InferOptionalOutput<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped$1, undefined>> = undefined extends TDefault ? InferOutput<TWrapped$1> | undefined : InferOutput<TWrapped$1> | Extract<DefaultValue<TDefault>, undefined>; //#endregion
//#region src/schemas/optional/optional.d.ts
/**
* Optional schema interface.
*/
interface OptionalSchema<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TDefault extends Default<TWrapped$1, undefined>> extends BaseSchema<InferInput<TWrapped$1> | undefined, InferOptionalOutput<TWrapped$1, TDefault>, InferIssue<TWrapped$1>> {
/**
* The schema type.
*/
readonly type: "optional";
/**
* The schema reference.
*/
readonly reference: typeof optional;
/**
* The expected property.
*/
readonly expects: `(${TWrapped$1["expects"]} | undefined)`;
/**
* The wrapped schema.
*/
readonly wrapped: TWrapped$1;
/**
* The default value.
*/
readonly default: TDefault;
}
/**
* Creates an optional schema.
*
* @param wrapped The wrapped schema.
*
* @returns An optional schema.
*/
declare function optional<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(wrapped: TWrapped$1): OptionalSchema<TWrapped$1, undefined>;
/**
* Creates an optional schema.
*
* @param wrapped The wrapped schema.
* @param default_ The default value.
*
* @returns An optional schema.
*/
declare function optional<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, const TDefault extends Default<TWrapped$1, undefined>>(wrapped: TWrapped$1, default_: TDefault): OptionalSchema<TWrapped$1, TDefault>; //#endregion
//#region src/schemas/optional/optionalAsync.d.ts
/**
* Optional schema async interface.
*/
interface OptionalSchemaAsync<TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TDefault extends DefaultAsync<TWrapped$1, undefined>> extends BaseSchemaAsync<InferInput<TWrapped$1> | undefined, InferOptionalOutput<TWrapped$1, TDefault>, InferIssue<TWrapped$1>> {
/**
* The schema type.
*/
readonly type: "optional";
/**
* The schema reference.
*/
readonly reference: typeof optional | typeof optionalAsync;
/**
* The expected property.
*/
readonly expects: `(${TWrapped$1["expects"]} | undefined)`;
/**
* The wrapped schema.
*/
readonly wrapped: TWrapped$1;
/**
* The default value.
*/
readonly default: TDefault;
}
/**
* Creates an optional schema.
*
* @param wrapped The wrapped schema.
*
* @returns An optional schema.
*/
declare function optionalAsync<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>>(wrapped: TWrapped$1): OptionalSchemaAsync<TWrapped$1, undefined>;
/**
* Creates an optional schema.
*
* @param wrapped The wrapped schema.
* @param default_ The default value.
*
* @returns An optional schema.
*/
declare function optionalAsync<const TWrapped$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, const TDefault extends DefaultAsync<TWrapped$1, undefined>>(wrapped: TWrapped$1, default_: TDefault): OptionalSchemaAsync<TWrapped$1, TDefault>; //#endregion
//#region src/schemas/picklist/picklist.d.ts
/**
* Picklist options type.
*/
//#endregion
//#region src/schemas/record/types.d.ts
/**
* Record issue interface.
*/
interface RecordIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "record";
/**
* The expected property.
*/
readonly expected: "Object";
}
/**
* Is literal type.
*/
type IsLiteral<TKey$1 extends string | number | symbol> = string extends TKey$1 ? false : number extends TKey$1 ? false : symbol extends TKey$1 ? false : TKey$1 extends Brand<string | number | symbol> ? false : true;
/**
* Optional keys type.
*/
type OptionalKeys<TObject extends Record<string | number | symbol, unknown>> = { [TKey in keyof TObject]: IsLiteral<TKey> extends true ? TKey : never }[keyof TObject];
/**
* With question marks type.
*
* Hint: We mark an entry as optional if we detect that its key is a literal
* type. The reason for this is that it is not technically possible to detect
* missing literal keys without restricting the key schema to `string`, `enum`
* and `picklist`. However, if `enum` and `picklist` are used, it is better to
* use `object` with `entriesFromList` because it already covers the needed
* functionality. This decision also reduces the bundle size of `record`,
* because it only needs to check the entries of the input and not any missing
* keys.
*/
type WithQuestionMarks<TObject extends Record<string | number | symbol, unknown>> = MarkOptional<TObject, OptionalKeys<TObject>>;
/**
* With readonly type.
*/
type WithReadonly<TValue$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>, TObject extends WithQuestionMarks<Record<string | number | symbol, unknown>>> = TValue$1 extends SchemaWithPipe<infer TPipe> | SchemaWithPipeAsync<infer TPipe> ? ReadonlyAction<any> extends TPipe[number] ? Readonly<TObject> : TObject : TObject;
/**
* Infer record input type.
*/
type InferRecordInput<TKey$1 extends BaseSchema<string, string | number | symbol, BaseIssue<unknown>> | BaseSchemaAsync<string, string | number | symbol, BaseIssue<unknown>>, TValue$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>> = Prettify<WithQuestionMarks<Record<InferInput<TKey$1>, InferInput<TValue$1>>>>;
/**
* Infer record output type.
*/
type InferRecordOutput<TKey$1 extends BaseSchema<string, string | number | symbol, BaseIssue<unknown>> | BaseSchemaAsync<string, string | number | symbol, BaseIssue<unknown>>, TValue$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>> | BaseSchemaAsync<unknown, unknown, BaseIssue<unknown>>> = Prettify<WithReadonly<TValue$1, WithQuestionMarks<Record<InferOutput<TKey$1>, InferOutput<TValue$1>>>>>; //#endregion
//#region src/schemas/record/record.d.ts
/**
* Record schema interface.
*/
interface RecordSchema<TKey$1 extends BaseSchema<string, string | number | symbol, BaseIssue<unknown>>, TValue$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, TMessage extends ErrorMessage<RecordIssue> | undefined> extends BaseSchema<InferRecordInput<TKey$1, TValue$1>, InferRecordOutput<TKey$1, TValue$1>, RecordIssue | InferIssue<TKey$1> | InferIssue<TValue$1>> {
/**
* The schema type.
*/
readonly type: "record";
/**
* The schema reference.
*/
readonly reference: typeof record;
/**
* The expected property.
*/
readonly expects: "Object";
/**
* The record key schema.
*/
readonly key: TKey$1;
/**
* The record value schema.
*/
readonly value: TValue$1;
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates a record schema.
*
* @param key The key schema.
* @param value The value schema.
*
* @returns A record schema.
*/
declare function record<const TKey$1 extends BaseSchema<string, string | number | symbol, BaseIssue<unknown>>, const TValue$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>>(key: TKey$1, value: TValue$1): RecordSchema<TKey$1, TValue$1, undefined>;
/**
* Creates a record schema.
*
* @param key The key schema.
* @param value The value schema.
* @param message The error message.
*
* @returns A record schema.
*/
declare function record<const TKey$1 extends BaseSchema<string, string | number | symbol, BaseIssue<unknown>>, const TValue$1 extends BaseSchema<unknown, unknown, BaseIssue<unknown>>, const TMessage extends ErrorMessage<RecordIssue> | undefined>(key: TKey$1, value: TValue$1, message: TMessage): RecordSchema<TKey$1, TValue$1, TMessage>; //#endregion
//#region src/schemas/record/recordAsync.d.ts
/**
* Record schema async interface.
*/
//#endregion
//#region src/schemas/strictObject/types.d.ts
/**
* Strict object issue interface.
*/
interface StrictObjectIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "strict_object";
/**
* The expected property.
*/
readonly expected: "Object" | `"${string}"` | "never";
} //#endregion
//#region src/schemas/strictObject/strictObject.d.ts
/**
* Strict object schema interface.
*/
interface StrictObjectSchema<TEntries$1 extends ObjectEntries, TMessage extends ErrorMessage<StrictObjectIssue> | undefined> extends BaseSchema<InferObjectInput<TEntries$1>, InferObjectOutput<TEntries$1>, StrictObjectIssue | InferObjectIssue<TEntries$1>> {
/**
* The schema type.
*/
readonly type: "strict_object";
/**
* The schema reference.
*/
readonly reference: typeof strictObject;
/**
* The expected property.
*/
readonly expects: "Object";
/**
* The entries schema.
*/
readonly entries: TEntries$1;
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates a strict object schema.
*
* @param entries The entries schema.
*
* @returns A strict object schema.
*/
declare function strictObject<const TEntries$1 extends ObjectEntries>(entries: TEntries$1): StrictObjectSchema<TEntries$1, undefined>;
/**
* Creates a strict object schema.
*
* @param entries The entries schema.
* @param message The error message.
*
* @returns A strict object schema.
*/
declare function strictObject<const TEntries$1 extends ObjectEntries, const TMessage extends ErrorMessage<StrictObjectIssue> | undefined>(entries: TEntries$1, message: TMessage): StrictObjectSchema<TEntries$1, TMessage>; //#endregion
//#region src/schemas/strictObject/strictObjectAsync.d.ts
/**
* Strict object schema async interface.
*/
//#endregion
//#region src/schemas/string/string.d.ts
/**
* String issue interface.
*/
interface StringIssue extends BaseIssue<unknown> {
/**
* The issue kind.
*/
readonly kind: "schema";
/**
* The issue type.
*/
readonly type: "string";
/**
* The expected property.
*/
readonly expected: "string";
}
/**
* String schema interface.
*/
interface StringSchema<TMessage extends ErrorMessage<StringIssue> | undefined> extends BaseSchema<string, string, StringIssue> {
/**
* The schema type.
*/
readonly type: "string";
/**
* The schema reference.
*/
readonly reference: typeof string;
/**
* The expected property.
*/
readonly expects: "string";
/**
* The error message.
*/
readonly message: TMessage;
}
/**
* Creates a string schema.
*
* @returns A string schema.
*/
declare function string(): StringSchema<undefined>;
/**
* Creates a string schema.
*
* @param message The error message.
*
* @returns A string schema.
*/
declare function string<const TMessage extends ErrorMessage<StringIssue> | undefined>(message: TMessage): StringSchema<TMessage>; //#endregion
//#region src/schemas/symbol/symbol.d.ts
/**
* Symbol issue interface.
*/
//#endregion
//#region src/actions/brand/brand.d.ts
/**
* Brand symbol.
*/
declare const BrandSymbol: unique symbol;
/**
* Brand name type.
*/
type BrandName = string | number | symbol;
/**
* Brand interface.
*/
interface Brand<TName extends BrandName> {
[BrandSymbol]: { [TValue in TName]: TValue };
}
/**
* Brand action interface.
*/
//#endregion
//#region src/actions/readonly/readonly.d.ts
/**
* Readonly output type.
*/
type ReadonlyOutput<TInput$1> = TInput$1 extends Map<infer TKey, infer TValue> ? ReadonlyMap<TKey, TValue> : TInput$1 extends Set<infer TValue> ? ReadonlySet<TValue> : Readonly<TInput$1>;
/**
* Readonly action interface.
*/
interface ReadonlyAction<TInput$1> extends BaseTransformation<TInput$1, ReadonlyOutput<TInput$1>, never> {
/**
* The action type.
*/
readonly type: "readonly";
/**
* The action reference.
*/
readonly reference: typeof readonly;
}
/**
* Creates a readonly transformation action.
*
* @returns A readonly action.
*/
declare function readonly<TInput$1>(): ReadonlyAction<TInput$1>; //#endregion
//#region src/actions/reduceItems/reduceItems.d.ts
/**
* Array action type.
*/
//#endregion
//#region src/schema.d.ts
declare const optionsSchema: StrictObjectSchema<{
readonly ts: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly preset: ExactOptionalSchema<UnionSchema<[LiteralSchema<"recommended", undefined>, LiteralSchema<"strict", undefined>, LiteralSchema<"recommendedTypeChecked", undefined>, LiteralSchema<"strictTypeChecked", undefined>, LiteralSchema<"all", undefined>], undefined>, "recommended">;
readonly projectService: ExactOptionalSchema<BooleanSchema<undefined>, undefined>;
readonly tsconfigRootDir: ExactOptionalSchema<StringSchema<undefined>, undefined>;
}, undefined>], undefined>, boolean>;
readonly vue: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly a11y: ExactOptionalSchema<BooleanSchema<undefined>, undefined>;
}, undefined>], undefined>, boolean>;
readonly autoimports: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly src: ExactOptionalSchema<UnionSchema<[StringSchema<undefined>, ObjectSchema<{
readonly globals: RecordSchema<StringSchema<undefined>, UnionSchema<[BooleanSchema<undefined>, LiteralSchema<"off", undefined>, LiteralSchema<"readable", undefined>, LiteralSchema<"readonly", undefined>, LiteralSchema<"writable", undefined>, LiteralSchema<"writeable", undefined>], undefined>, undefined>;
}, undefined>], undefined>, undefined>;
}, undefined>], undefined>, true>;
readonly perfectionist: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly import: ExactOptionalSchema<BooleanSchema<undefined>, undefined>;
readonly export: ExactOptionalSchema<BooleanSchema<undefined>, undefined>;
}, undefined>], undefined>, true>;
readonly isInEditor: ExactOptionalSchema<BooleanSchema<undefined>, boolean>;
readonly stylistic: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly severity: ExactOptionalSchema<UnionSchema<[LiteralSchema<"error", undefined>, LiteralSchema<"warn", undefined>], undefined>, undefined>;
}, undefined>], undefined>, boolean>;
readonly test: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly runner: ExactOptionalSchema<UnionSchema<[LiteralSchema<"jest", undefined>, LiteralSchema<"vitest", undefined>], undefined>, undefined>;
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, boolean>;
readonly pnpm: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly enforceCatalog: ExactOptionalSchema<BooleanSchema<undefined>, undefined>;
}, undefined>], undefined>, undefined>;
readonly gitignore: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly sources: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly gitmodules: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, boolean>;
readonly ignore: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly ignore: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly extendIgnore: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, true>;
readonly js: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, true>;
readonly imports: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
readonly plugin: ExactOptionalSchema<UnionSchema<[LiteralSchema<"import-lite", undefined>, LiteralSchema<"import-x", undefined>], undefined>, "import-lite">;
}, undefined>], undefined>, true>;
readonly unicorn: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, true>;
readonly json: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, true>;
readonly antfu: ExactOptionalSchema<UnionSchema<[BooleanSchema<undefined>, ObjectSchema<{
readonly files: ExactOptionalSchema<ArraySchema<StringSchema<undefined>, undefined>, undefined>;
}, undefined>], undefined>, true>;
}, undefined>;
type Options = InferInput<typeof optionsSchema>;
//#endregion
//#region src/builder.d.ts
declare function buildConfig(maybeOptions?: Options | TypedFlatConfigItem, ...userConfigs: Awaitable<Arrayable<TypedFlatConfigItem> | FlatConfigComposer<any, any> | Linter.Config[]>[]): Promise<FlatConfigComposer<TypedFlatConfigItem, ConfigNames>>;
//#endregion
export { buildConfig as default };