@jimmy.codes/eslint-config
Version:
A simple, modern ESLint config that covers most use cases.
16,046 lines • 723 kB
text/typescript
import { Linter } from "eslint";
//#region src/rules.gen.d.ts
interface RuleOptions {
/**
* require a `eslint-enable` comment for every `eslint-disable` comment
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
*/
'@eslint-community/eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommunityEslintCommentsDisableEnablePair>;
/**
* disallow a `eslint-enable` comment for multiple `eslint-disable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
*/
'@eslint-community/eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate `eslint-disable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
*/
'@eslint-community/eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>;
/**
* disallow `eslint-disable` comments about specific rules
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
*/
'@eslint-community/eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommunityEslintCommentsNoRestrictedDisable>;
/**
* disallow `eslint-disable` comments without rule names
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
*/
'@eslint-community/eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>;
/**
* disallow unused `eslint-disable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
*/
'@eslint-community/eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>;
/**
* disallow unused `eslint-enable` comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
*/
'@eslint-community/eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>;
/**
* disallow ESLint directive-comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html
*/
'@eslint-community/eslint-comments/no-use'?: Linter.RuleEntry<EslintCommunityEslintCommentsNoUse>;
/**
* require include descriptions in ESLint directive-comments
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html
*/
'@eslint-community/eslint-comments/require-description'?: Linter.RuleEntry<EslintCommunityEslintCommentsRequireDescription>;
/**
* Enforce font-display behavior with Google Fonts.
* @see https://nextjs.org/docs/messages/google-font-display
*/
'@next/next/google-font-display'?: Linter.RuleEntry<[]>;
/**
* Ensure `preconnect` is used with Google Fonts.
* @see https://nextjs.org/docs/messages/google-font-preconnect
*/
'@next/next/google-font-preconnect'?: Linter.RuleEntry<[]>;
/**
* Enforce `id` attribute on `next/script` components with inline content.
* @see https://nextjs.org/docs/messages/inline-script-id
*/
'@next/next/inline-script-id'?: Linter.RuleEntry<[]>;
/**
* Prefer `@next/third-parties/google` when using the inline script for Google Analytics and Tag Manager.
* @see https://nextjs.org/docs/messages/next-script-for-ga
*/
'@next/next/next-script-for-ga'?: Linter.RuleEntry<[]>;
/**
* Prevent assignment to the `module` variable.
* @see https://nextjs.org/docs/messages/no-assign-module-variable
*/
'@next/next/no-assign-module-variable'?: Linter.RuleEntry<[]>;
/**
* Prevent Client Components from being async functions.
* @see https://nextjs.org/docs/messages/no-async-client-component
*/
'@next/next/no-async-client-component'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
* @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
*/
'@next/next/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>;
/**
* Prevent manual stylesheet tags.
* @see https://nextjs.org/docs/messages/no-css-tags
*/
'@next/next/no-css-tags'?: Linter.RuleEntry<[]>;
/**
* Prevent importing `next/document` outside of `pages/_document.js`.
* @see https://nextjs.org/docs/messages/no-document-import-in-page
*/
'@next/next/no-document-import-in-page'?: Linter.RuleEntry<[]>;
/**
* Prevent duplicate usage of `<Head>` in `pages/_document.js`.
* @see https://nextjs.org/docs/messages/no-duplicate-head
*/
'@next/next/no-duplicate-head'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `<head>` element.
* @see https://nextjs.org/docs/messages/no-head-element
*/
'@next/next/no-head-element'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `next/head` in `pages/_document.js`.
* @see https://nextjs.org/docs/messages/no-head-import-in-document
*/
'@next/next/no-head-import-in-document'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `<a>` elements to navigate to internal Next.js pages.
* @see https://nextjs.org/docs/messages/no-html-link-for-pages
*/
'@next/next/no-html-link-for-pages'?: Linter.RuleEntry<NextNextNoHtmlLinkForPages>;
/**
* Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
* @see https://nextjs.org/docs/messages/no-img-element
*/
'@next/next/no-img-element'?: Linter.RuleEntry<[]>;
/**
* Prevent page-only custom fonts.
* @see https://nextjs.org/docs/messages/no-page-custom-font
*/
'@next/next/no-page-custom-font'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `next/script` in `next/head` component.
* @see https://nextjs.org/docs/messages/no-script-component-in-head
*/
'@next/next/no-script-component-in-head'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `styled-jsx` in `pages/_document.js`.
* @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
*/
'@next/next/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>;
/**
* Prevent synchronous scripts.
* @see https://nextjs.org/docs/messages/no-sync-scripts
*/
'@next/next/no-sync-scripts'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `<title>` with `Head` component from `next/document`.
* @see https://nextjs.org/docs/messages/no-title-in-document-head
*/
'@next/next/no-title-in-document-head'?: Linter.RuleEntry<[]>;
/**
* Prevent common typos in Next.js data fetching functions.
*/
'@next/next/no-typos'?: Linter.RuleEntry<[]>;
/**
* Prevent duplicate polyfills from Polyfill.io.
* @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
*/
'@next/next/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>;
/**
* 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 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
*/
'@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>;
/**
* Exhaustive deps rule for useQuery
* @see https://tanstack.com/query/latest/docs/eslint/exhaustive-deps
*/
'@tanstack/query/exhaustive-deps'?: Linter.RuleEntry<[]>;
/**
* Ensure correct order of inference sensitive properties for infinite queries
* @see https://tanstack.com/query/latest/docs/eslint/infinite-query-property-order
*/
'@tanstack/query/infinite-query-property-order'?: Linter.RuleEntry<[]>;
/**
* Ensure correct order of inference-sensitive properties in useMutation()
* @see https://tanstack.com/query/latest/docs/eslint/mutation-property-order
*/
'@tanstack/query/mutation-property-order'?: Linter.RuleEntry<[]>;
/**
* Disallows rest destructuring in queries
* @see https://tanstack.com/query/latest/docs/eslint/no-rest-destructuring
*/
'@tanstack/query/no-rest-destructuring'?: Linter.RuleEntry<[]>;
/**
* Disallow putting the result of query hooks directly in a React hook dependency array
* @see https://tanstack.com/query/latest/docs/eslint/no-unstable-deps
*/
'@tanstack/query/no-unstable-deps'?: Linter.RuleEntry<[]>;
/**
* Ensures queryFn returns a non-undefined value
* @see https://tanstack.com/query/latest/docs/eslint/no-void-query-fn
*/
'@tanstack/query/no-void-query-fn'?: Linter.RuleEntry<[]>;
/**
* Makes sure that QueryClient is stable
* @see https://tanstack.com/query/latest/docs/eslint/stable-query-client
*/
'@tanstack/query/stable-query-client'?: Linter.RuleEntry<[]>;
/**
* 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<[]>;
/**
* 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>;
/**
* 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>;
/**
* 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 consistent arrow function return style based on length, multiline expressions, JSX usage, and export context
* @see https://github.com/christopher-buss/eslint-plugin-arrow-return-style-x/blob/v1.2.6/src/rules/arrow-return-style/documentation.md
*/
'arrow-style/arrow-return-style'?: Linter.RuleEntry<ArrowStyleArrowReturnStyle>;
/**
* Disallow anonymous arrow functions as export default declarations
* @see https://github.com/christopher-buss/eslint-plugin-arrow-return-style-x/blob/v1.2.6/src/rules/no-export-default-arrow/documentation.md
*/
'arrow-style/no-export-default-arrow'?: Linter.RuleEntry<[]>;
/**
* apply `jsx-a11y/alt-text` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/
*/
'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11YAltText>;
/**
* apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/
*/
'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11YAnchorAmbiguousText>;
/**
* apply `jsx-a11y/anchor-has-content` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/
*/
'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11YAnchorHasContent>;
/**
* apply `jsx-a11y/anchor-is-valid` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/
*/
'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11YAnchorIsValid>;
/**
* apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/
*/
'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11YAriaActivedescendantHasTabindex>;
/**
* apply `jsx-a11y/aria-props` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/
*/
'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11YAriaProps>;
/**
* apply `jsx-a11y/aria-proptypes` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/
*/
'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11YAriaProptypes>;
/**
* apply `jsx-a11y/aria-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/
*/
'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11YAriaRole>;
/**
* apply `jsx-a11y/aria-unsupported-elements` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/
*/
'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11YAriaUnsupportedElements>;
/**
* apply `jsx-a11y/autocomplete-valid` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/
*/
'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11YAutocompleteValid>;
/**
* apply `jsx-a11y/click-events-have-key-events` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/
*/
'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YClickEventsHaveKeyEvents>;
/**
* apply `jsx-a11y/control-has-associated-label` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/
*/
'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11YControlHasAssociatedLabel>;
/**
* apply `jsx-a11y/heading-has-content` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/
*/
'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11YHeadingHasContent>;
/**
* apply `jsx-a11y/html-has-lang` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/
*/
'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11YHtmlHasLang>;
/**
* apply `jsx-a11y/iframe-has-title` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/
*/
'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11YIframeHasTitle>;
/**
* apply `jsx-a11y/img-redundant-alt` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/
*/
'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11YImgRedundantAlt>;
/**
* apply `jsx-a11y/interactive-supports-focus` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/
*/
'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11YInteractiveSupportsFocus>;
/**
* apply `jsx-a11y/label-has-associated-control` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/
*/
'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11YLabelHasAssociatedControl>;
/**
* apply `jsx-a11y/lang` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/
*/
'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11YLang>;
/**
* apply `jsx-a11y/media-has-caption` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/
*/
'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11YMediaHasCaption>;
/**
* apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/
*/
'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YMouseEventsHaveKeyEvents>;
/**
* apply `jsx-a11y/no-access-key` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/
*/
'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11YNoAccessKey>;
/**
* apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/
*/
'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11YNoAriaHiddenOnFocusable>;
/**
* apply `jsx-a11y/no-autofocus` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/
*/
'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11YNoAutofocus>;
/**
* apply `jsx-a11y/no-distracting-elements` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/
*/
'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11YNoDistractingElements>;
/**
* apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/
*/
'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11YNoInteractiveElementToNoninteractiveRole>;
/**
* apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/
*/
'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementInteractions>;
/**
* apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/
*/
'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementToInteractiveRole>;
/**
* apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/
*/
'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveTabindex>;
/**
* apply `jsx-a11y/no-redundant-roles` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/
*/
'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11YNoRedundantRoles>;
/**
* apply `jsx-a11y/no-static-element-interactions` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/
*/
'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoStaticElementInteractions>;
/**
* apply `jsx-a11y/prefer-tag-over-role` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/
*/
'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11YPreferTagOverRole>;
/**
* apply `jsx-a11y/role-has-required-aria-props` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/
*/
'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleHasRequiredAriaProps>;
/**
* apply `jsx-a11y/role-supports-aria-props` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/
*/
'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleSupportsAriaProps>;
/**
* apply `jsx-a11y/scope` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/
*/
'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11YScope>;
/**
* apply `jsx-a11y/tabindex-no-positive` rule to Astro components
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/
*/
'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11YTabindexNoPositive>;
/**
* the client:only directive is missing the correct component's framework value
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/
*/
'astro/missing-client-only-directive-value'?: Linter.RuleEntry<[]>;
/**
* disallow conflicting set directives and child contents
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-conflict-set-directives/
*/
'astro/no-conflict-set-directives'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Astro.canonicalURL`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-canonicalurl/
*/
'astro/no-deprecated-astro-canonicalurl'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Astro.fetchContent()`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-fetchcontent/
*/
'astro/no-deprecated-astro-fetchcontent'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `Astro.resolve()`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-astro-resolve/
*/
'astro/no-deprecated-astro-resolve'?: Linter.RuleEntry<[]>;
/**
* disallow using deprecated `getEntryBySlug()`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-getentrybyslug/
*/
'astro/no-deprecated-getentrybyslug'?: Linter.RuleEntry<[]>;
/**
* disallow value export
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
*/
'astro/no-exports-from-components'?: Linter.RuleEntry<[]>;
/**
* disallow use of `set:html` to prevent XSS attack
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
*/
'astro/no-set-html-directive'?: Linter.RuleEntry<[]>;
/**
* disallow use of `set:text`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-text-directive/
*/
'astro/no-set-text-directive'?: Linter.RuleEntry<[]>;
/**
* disallow inline `<script>` without `src` to encourage CSP-safe patterns
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unsafe-inline-scripts/
*/
'astro/no-unsafe-inline-scripts'?: Linter.RuleEntry<AstroNoUnsafeInlineScripts>;
/**
* disallow selectors defined in `style` tag that don't use in HTML
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unused-css-selector/
*/
'astro/no-unused-css-selector'?: Linter.RuleEntry<[]>;
/**
* disallow unused `define:vars={...}` in `style` tag
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-unused-define-vars-in-style/
*/
'astro/no-unused-define-vars-in-style'?: Linter.RuleEntry<[]>;
/**
* require `class:list` directives instead of `class` with expressions
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/prefer-class-list-directive/
*/
'astro/prefer-class-list-directive'?: Linter.RuleEntry<[]>;
/**
* require use object instead of ternary expression in `class:list`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/prefer-object-class-list/
*/
'astro/prefer-object-class-list'?: Linter.RuleEntry<[]>;
/**
* require use split array elements in `class:list`
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/prefer-split-class-list/
*/
'astro/prefer-split-class-list'?: Linter.RuleEntry<AstroPreferSplitClassList>;
/**
* Require or disallow semicolons instead of ASI
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/semi/
*/
'astro/semi'?: Linter.RuleEntry<AstroSemi>;
/**
* enforce sorting of attributes
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/sort-attributes/
*/
'astro/sort-attributes'?: Linter.RuleEntry<AstroSortAttributes>;
/**
* disallow warnings when compiling.
* @see https://ota-meshi.github.io/eslint-plugin-astro/rules/valid-compile/
*/
'astro/valid-compile'?: Linter.RuleEntry<[]>;
/**
* 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>;
/**
* Transforms the negation of a conjunction !(A && B) into the equivalent !A || !B according to De Morgan’s law
* @see https://github.com/azat-io/eslint-plugin-de-morgan/blob/main/docs/no-negated-conjunction.md
*/
'de-morgan/no-negated-conjunction'?: Linter.RuleEntry<[]>;
/**
* Transforms the negation of a disjunction !(A || B) into the equivalent !A && !B according to De Morgan’s law
* @see https://github.com/azat-io/eslint-plugin-de-morgan/blob/main/docs/no-negated-disjunction.md
*/
'de-morgan/no-negated-disjunction'?: Linter.RuleEntry<[]>;
/**
* 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>;
/**
* Avoid using TypeScript's enums.
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/enums.md
*/
'erasable-syntax-only/enums'?: Linter.RuleEntry<[]>;
/**
* Avoid using TypeScript's import aliases.
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/import-aliases.md
*/
'erasable-syntax-only/import-aliases'?: Linter.RuleEntry<[]>;
/**
* Avoid using TypeScript's namespaces.
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/namespaces.md
*/
'erasable-syntax-only/namespaces'?: Linter.RuleEntry<[]>;
/**
* Avoid using TypeScript's class parameter properties.
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/parameter-properties.md
*/
'erasable-syntax-only/parameter-properties'?: Linter.RuleEntry<[]>;
/**
* 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/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/consistent-type-specifier-style.md
*/
'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>;
/**
* Ensure a default export is present, given a default import.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/default.md
*/
'import-x/default'?: Linter.RuleEntry<[]>;
/**
* Enforce a leading comment with the webpackChunkName for dynamic imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/dynamic-import-chunkname.md
*/
'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>;
/**
* Forbid any invalid exports, i.e. re-export of the same name.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/export.md
*/
'import-x/export'?: Linter.RuleEntry<[]>;
/**
* Ensure all exports appear after other statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/exports-last.md
*/
'import-x/exports-last'?: Linter.RuleEntry<[]>;
/**
* Ensure consistent use of file extension within the import path.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/extensions.md
*/
'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>;
/**
* Ensure all imports appear before other statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/first.md
*/
'import-x/first'?: Linter.RuleEntry<ImportXFirst>;
/**
* Prefer named exports to be grouped together in a single export declaration.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/group-exports.md
*/
'import-x/group-exports'?: Linter.RuleEntry<[]>;
/**
* Replaced by `import-x/first`.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/imports-first.md
* @deprecated
*/
'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>;
/**
* Enforce the maximum number of dependencies a module can have.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/max-dependencies.md
*/
'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>;
/**
* Ensure named imports correspond to a named export in the remote file.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/named.md
*/
'import-x/named'?: Linter.RuleEntry<ImportXNamed>;
/**
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/namespace.md
*/
'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>;
/**
* Enforce a newline after import statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/newline-after-import.md
*/
'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>;
/**
* Forbid import of modules using absolute paths.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-absolute-path.md
*/
'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>;
/**
* Forbid AMD `require` and `define` calls.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-amd.md
*/
'import-x/no-amd'?: Linter.RuleEntry<[]>;
/**
* Forbid anonymous values as default exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-anonymous-default-export.md
*/
'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>;
/**
* Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-commonjs.md
*/
'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>;
/**
* Forbid a module from importing a module with a dependency path back to itself.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-cycle.md
*/
'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>;
/**
* Forbid default exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-default-export.md
*/
'import-x/no-default-export'?: Linter.RuleEntry<[]>;
/**
* Forbid imported names marked with `@deprecated` documentation tag.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-deprecated.md
*/
'import-x/no-deprecated'?: Linter.RuleEntry<[]>;
/**
* Forbid repeated import of the same module in multiple places.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-duplicates.md
*/
'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>;
/**
* Forbid `require()` calls with expressions.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-dynamic-require.md
*/
'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>;
/**
* Forbid empty named import blocks.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-empty-named-blocks.md
*/
'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
/**
* Forbid the use of extraneous packages.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-extraneous-dependencies.md
*/
'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>;
/**
* Forbid import statements with CommonJS module.exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-import-module-exports.md
*/
'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>;
/**
* Forbid importing the submodules of other modules.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-internal-modules.md
*/
'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>;
/**
* Forbid the use of mutable exports with `var` or `let`.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-mutable-exports.md
*/
'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>;
/**
* Forbid use of exported name as identifier of default export.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default.md
*/
'import-x/no-named-as-default'?: Linter.RuleEntry<[]>;
/**
* Forbid use of exported name as property of default export.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-as-default-member.md
*/
'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>;
/**
* Forbid named default exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-default.md
*/
'import-x/no-named-default'?: Linter.RuleEntry<[]>;
/**
* Forbid named exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-named-export.md
*/
'import-x/no-named-export'?: Linter.RuleEntry<[]>;
/**
* Forbid namespace (a.k.a. "wildcard" `*`) imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-namespace.md
*/
'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>;
/**
* Forbid Node.js builtin modules.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-nodejs-modules.md
*/
'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>;
/**
* Forbid importing packages through relative paths.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-packages.md
*/
'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>;
/**
* Forbid importing modules from parent directories.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-relative-parent-imports.md
*/
'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>;
/**
* Forbid importing a default export by a different name.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-rename-default.md
*/
'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>;
/**
* Enforce which files can be imported in a given folder.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-restricted-paths.md
*/
'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>;
/**
* Forbid a module from importing itself.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-self-import.md
*/
'import-x/no-self-import'?: Linter.RuleEntry<[]>;
/**
* Forbid unassigned imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unassigned-import.md
*/
'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>;
/**
* Ensure imports point to a file/module that can be resolved.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unresolved.md
*/
'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>;
/**
* Forbid modules without exports, or exports without matching import in another module.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-unused-modules.md
*/
'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>;
/**
* Forbid unnecessary path segments in import and require statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-useless-path-segments.md
*/
'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>;
/**
* Forbid webpack loader syntax in imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/no-webpack-loader-syntax.md
*/
'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
/**
* Enforce a convention in module import order.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/order.md
*/
'import-x/order'?: Linter.RuleEntry<ImportXOrder>;
/**
* Prefer a default export if module exports a single name or multiple names.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-default-export.md
*/
'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>;
/**
* Enforce using namespace imports for specific modules, like `react`/`react-dom`, etc.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/prefer-namespace-import.md
*/
'import-x/prefer-namespace-import'?: Linter.RuleEntry<ImportXPreferNamespaceImport>;
/**
* Forbid potentially ambiguous parse goal (`script` vs. `module`).
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
*/
'import-x/unambiguous'?: Linter.RuleEntry<[]>;
/**
* 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>;
/**
* prefer toBeChecked over checking attributes
* @see prefer-checked
*/
'jest-dom/prefer-checked'?: Linter.RuleEntry<[]>;
/**
* Prefer toBeEmpty over checking innerHTML
* @see prefer-empty
*/
'jest-dom/prefer-empty'?: Linter.RuleEntry<[]>;
/**
* prefer toBeDisabled or toBeEnabled over checking attributes
* @see prefer-enabled-disabled
*/
'jest-dom/prefer-enabled-disabled'?: Linter.RuleEntry<[]>;
/**
* prefer toHaveFocus over checking document.activeElement
* @see prefer-focus
*/
'jest-dom/prefer-focus'?: Linter.RuleEntry<[]>;
/**
* Prefer .toBeInTheDocument() for asserting the existence of a DOM node
* @see prefer-in-document
*/
'jest-dom/prefer-in-document'?: Linter.RuleEntry<[]>;
/**
* prefer toBeRequired over checking properties
* @see prefer-required
*/
'jest-dom/prefer-required'?: Linter.RuleEntry<[]>;
/**
* prefer toHaveAttribute over checking getAttribute/hasAttribute
* @see prefer-to-have-attribute
*/
'jest-dom/prefer-to-have-attribute'?: Linter.RuleEntry<[]>;
/**
* prefer toHaveClass over checking element className
* @see prefer-to-have-class
*/
'jest-dom/prefer-to-have-class'?: Linter.RuleEntry<[]>;
/**
* prefer toHaveStyle over checking element style
* @see prefer-to-have-style
*/
'jest-dom/prefer-to-have-style'?: Linter.RuleEntry<[]>;
/**
* Prefer toHaveTextContent over checking element.textContent
* @see prefer-to-have-text-content
*/
'jest-dom/prefer-to-have-text-content'?: Linter.RuleEntry<[]>;
/**
* prefer toHaveValue over checking element.value
* @see prefer-to-have-value
*/
'jest-dom/prefer-to-have-value'?: Linter.RuleEntry<[]>;
/**
* Enforce `test` and `it` usage conventions
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/docs/rules/no-duplicate-hooks.md
*/
'jest/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
/**
* Disallow using equality matchers on error types
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-error-equal.md
*/
'jest/no-error-equal'?: Linter.RuleEntry<[]>;
/**
* Disallow using `exports` in files containing tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-export.md
*/
'jest/no-export'?: Linter.RuleEntry<[]>;
/**
* Disallow focused tests
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/docs/rules/no-test-return-statement.md
*/
'jest/no-test-return-statement'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary assertions based on types
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/no-unnecessary-assertion.md
*/
'jest/no-unnecessary-assertion'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary async function wrapper for expected promises
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/docs/rules/prefer-mock-promise-shorthand.md
*/
'jest/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>;
/**
* Prefer mock return shorthands
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/prefer-mock-return-shorthand.md
*/
'jest/prefer-mock-return-shorthand'?: Linter.RuleEntry<[]>;
/**
* Prefer including a hint with external snapshots
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/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.12.1/docs/rules/valid-expect-in-promise.md
*/
'jest/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
/**
* Require that `resolve` and `reject` modifiers are present (and only) for promise-like types
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/docs/rules/valid-expect-with-promise.md
*/
'jest/valid-expect-with-promise'?: Linter.RuleEntry<[]>;
/**
* Disallow mocking of non-existing module paths
* @see https://github.com/jest-community/eslint-plugin-jest/blob/v29.12.1/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.12.1/docs/rules/valid-title.md
*/
'jest/valid-title'?: Linter.RuleEntry<JestValidTitle>;
/**
* Checks that `@access` tags have a valid value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-access.md#repos-sticky-header
*/
'jsdoc/check-access'?: Linter.RuleEntry<[]>;
/**
* Reports invalid alignment of JSDoc block asterisks.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-alignment.md#repos-sticky-header
*/
'jsdoc/check-alignment'?: Linter.RuleEntry<JsdocCheckAlignment>;
/**
* @deprecated - Use `getJsdocProcessorPlugin` processor; ensures that (JavaScript) samples within `@example` tags adhere to ESLint rules.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-examples.md#repos-sticky-header
*/
'jsdoc/check-examples'?: Linter.RuleEntry<JsdocCheckExamples>;
/**
* Reports invalid padding inside JSDoc blocks.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-indentation.md#repos-sticky-header
*/
'jsdoc/check-indentation'?: Linter.RuleEntry<JsdocCheckIndentation>;
/**
* Reports invalid alignment of JSDoc block lines.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-line-alignment.md#repos-sticky-header
*/
'jsdoc/check-line-alignment'?: Linter.RuleEntry<JsdocCheckLineAlignment>;
/**
* Checks for dupe `@param` names, that nested param names have roots, and that parameter names in function declarations match JSDoc param names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-param-names.md#repos-sticky-header
*/
'jsdoc/check-param-names'?: Linter.RuleEntry<JsdocCheckParamNames>;
/**
* Ensures that property names in JSDoc are not duplicated on the same block and that nested properties have defined roots.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-property-names.md#repos-sticky-header
*/
'jsdoc/check-property-names'?: Linter.RuleEntry<JsdocCheckPropertyNames>;
/**
* Reports against syntax not valid for the mode (e.g., Google Closure Compiler in non-Closure mode).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-syntax.md#repos-sticky-header
*/
'jsdoc/check-syntax'?: Linter.RuleEntry<[]>;
/**
* Reports invalid block tag names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-tag-names.md#repos-sticky-header
*/
'jsdoc/check-tag-names'?: Linter.RuleEntry<JsdocCheckTagNames>;
/**
* Checks that any `@template` names are actually used in the connected `@typedef` or type alias.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-template-names.md#repos-sticky-header
*/
'jsdoc/check-template-names'?: Linter.RuleEntry<[]>;
/**
* Reports types deemed invalid (customizable and with defaults, for preventing and/or recommending replacements).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-types.md#repos-sticky-header
*/
'jsdoc/check-types'?: Linter.RuleEntry<JsdocCheckTypes>;
/**
* This rule checks the values for a handful of tags: `@version`, `@since`, `@license` and `@author`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/check-values.md#repos-sticky-header
*/
'jsdoc/check-values'?: Linter.RuleEntry<JsdocCheckValues>;
/**
* Converts non-JSDoc comments preceding or following nodes into JSDoc ones
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/convert-to-jsdoc-comments.md#repos-sticky-header
*/
'jsdoc/convert-to-jsdoc-comments'?: Linter.RuleEntry<JsdocConvertToJsdocComments>;
/**
* Checks tags that are expected to be empty (e.g., `@abstract` or `@async`), reporting if they have content
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
*/
'jsdoc/empty-tags'?: Linter.RuleEntry<JsdocEmptyTags>;
/**
* Reports use of JSDoc tags in non-tag positions (in the default "typescript" mode).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md#repos-sticky-header
*/
'jsdoc/escape-inline-tags'?: Linter.RuleEntry<JsdocEscapeInlineTags>;
/**
* Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
*/
'jsdoc/implements-on-classes'?: Linter.RuleEntry<JsdocImplementsOnClasses>;
/**
* Reports if JSDoc `import()` statements point to a package which is not listed in `dependencies` or `devDependencies`
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/imports-as-dependencies.md#repos-sticky-header
*/
'jsdoc/imports-as-dependencies'?: Linter.RuleEntry<[]>;
/**
* This rule reports doc comments that only restate their attached name.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/informative-docs.md#repos-sticky-header
*/
'jsdoc/informative-docs'?: Linter.RuleEntry<JsdocInformativeDocs>;
/**
* Enforces minimum number of newlines before JSDoc comment blocks
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/lines-before-block.md#repos-sticky-header
*/
'jsdoc/lines-before-block'?: Linter.RuleEntry<JsdocLinesBeforeBlock>;
/**
* Enforces a regular expression pattern on descriptions.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-description.md#repos-sticky-header
*/
'jsdoc/match-description'?: Linter.RuleEntry<JsdocMatchDescription>;
/**
* Reports the name portion of a JSDoc tag if matching or not matching a given regular expression.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/match-name.md#repos-sticky-header
*/
'jsdoc/match-name'?: Linter.RuleEntry<JsdocMatchName>;
/**
* Controls how and whether JSDoc blocks can be expressed as single or multiple line blocks.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/multiline-blocks.md#repos-sticky-header
*/
'jsdoc/multiline-blocks'?: Linter.RuleEntry<JsdocMultilineBlocks>;
/**
* This rule checks for multi-line-style comments which fail to meet the criteria of a JSDoc block.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-bad-blocks.md#repos-sticky-header
*/
'jsdoc/no-bad-blocks'?: Linter.RuleEntry<JsdocNoBadBlocks>;
/**
* If tags are present, this rule will prevent empty lines in the block description. If no tags are present, this rule will prevent extra empty lines in the block description.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-block-descriptions.md#repos-sticky-header
*/
'jsdoc/no-blank-block-descriptions'?: Linter.RuleEntry<[]>;
/**
* Removes empty blocks with nothing but possibly line breaks
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-blank-blocks.md#repos-sticky-header
*/
'jsdoc/no-blank-blocks'?: Linter.RuleEntry<JsdocNoBlankBlocks>;
/**
* This rule reports defaults being used on the relevant portion of `@param` or `@default`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-defaults.md#repos-sticky-header
*/
'jsdoc/no-defaults'?: Linter.RuleEntry<JsdocNoDefaults>;
/**
* Reports when certain comment structures are always expected.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-missing-syntax.md#repos-sticky-header
*/
'jsdoc/no-missing-syntax'?: Linter.RuleEntry<JsdocNoMissingSyntax>;
/**
* Prevents use of multiple asterisks at the beginning of lines.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-multi-asterisks.md#repos-sticky-header
*/
'jsdoc/no-multi-asterisks'?: Linter.RuleEntry<JsdocNoMultiAsterisks>;
/**
* Reports when certain comment structures are present.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-restricted-syntax.md#repos-sticky-header
*/
'jsdoc/no-restricted-syntax'?: Linter.RuleEntry<JsdocNoRestrictedSyntax>;
/**
* This rule reports types being used on `@param` or `@returns` (redundant with TypeScript).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
*/
'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>;
/**
* Besides some expected built-in types, prohibits any types not specified as globals or within `@typedef`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-undefined-types.md#repos-sticky-header
*/
'jsdoc/no-undefined-types'?: Linter.RuleEntry<JsdocNoUndefinedTypes>;
/**
* Prefer `@import` tags to inline `import()` statements.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/prefer-import-tag.md#repos-sticky-header
*/
'jsdoc/prefer-import-tag'?: Linter.RuleEntry<JsdocPreferImportTag>;
/**
* Reports use of `any` or `*` type
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-any-type.md#repos-sticky-header
*/
'jsdoc/reject-any-type'?: Linter.RuleEntry<[]>;
/**
* Reports use of `Function` type
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/reject-function-type.md#repos-sticky-header
*/
'jsdoc/reject-function-type'?: Linter.RuleEntry<[]>;
/**
* Requires that each JSDoc line starts with an `*`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-asterisk-prefix.md#repos-sticky-header
*/
'jsdoc/require-asterisk-prefix'?: Linter.RuleEntry<JsdocRequireAsteriskPrefix>;
/**
* Requires that all functions (and potentially other contexts) have a description.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description.md#repos-sticky-header
*/
'jsdoc/require-description'?: Linter.RuleEntry<JsdocRequireDescription>;
/**
* Requires that block description, explicit `@description`, and `@param`/`@returns` tag descriptions are written in complete sentences.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-description-complete-sentence.md#repos-sticky-header
*/
'jsdoc/require-description-complete-sentence'?: Linter.RuleEntry<JsdocRequireDescriptionCompleteSentence>;
/**
* Requires that all functions (and potentially other contexts) have examples.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-example.md#repos-sticky-header
*/
'jsdoc/require-example'?: Linter.RuleEntry<JsdocRequireExample>;
/**
* Checks that all files have one `@file`, `@fileoverview`, or `@overview` tag at the beginning of the file.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-file-overview.md#repos-sticky-header
*/
'jsdoc/require-file-overview'?: Linter.RuleEntry<JsdocRequireFileOverview>;
/**
* Requires a hyphen before the `@param` description (and optionally before `@property` descriptions).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-hyphen-before-param-description.md#repos-sticky-header
*/
'jsdoc/require-hyphen-before-param-description'?: Linter.RuleEntry<JsdocRequireHyphenBeforeParamDescription>;
/**
* Checks for presence of JSDoc comments, on functions and potentially other contexts (optionally limited to exports).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-jsdoc.md#repos-sticky-header
*/
'jsdoc/require-jsdoc'?: Linter.RuleEntry<JsdocRequireJsdoc>;
/**
* Requires a description for `@next` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-description.md#repos-sticky-header
*/
'jsdoc/require-next-description'?: Linter.RuleEntry<[]>;
/**
* Requires a type for `@next` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-next-type.md#repos-sticky-header
*/
'jsdoc/require-next-type'?: Linter.RuleEntry<[]>;
/**
* Requires that all function parameters are documented with a `@param` tag.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param.md#repos-sticky-header
*/
'jsdoc/require-param'?: Linter.RuleEntry<JsdocRequireParam>;
/**
* Requires that each `@param` tag has a `description` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-description.md#repos-sticky-header
*/
'jsdoc/require-param-description'?: Linter.RuleEntry<JsdocRequireParamDescription>;
/**
* Requires that all `@param` tags have names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-name.md#repos-sticky-header
*/
'jsdoc/require-param-name'?: Linter.RuleEntry<JsdocRequireParamName>;
/**
* Requires that each `@param` tag has a type value (in curly brackets).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-param-type.md#repos-sticky-header
*/
'jsdoc/require-param-type'?: Linter.RuleEntry<JsdocRequireParamType>;
/**
* Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header
*/
'jsdoc/require-property'?: Linter.RuleEntry<[]>;
/**
* Requires that each `@property` tag has a `description` value.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-description.md#repos-sticky-header
*/
'jsdoc/require-property-description'?: Linter.RuleEntry<[]>;
/**
* Requires that all `@property` tags have names.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
*/
'jsdoc/require-property-name'?: Linter.RuleEntry<[]>;
/**
* Requires that each `@property` tag has a type value (in curly brackets).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
*/
'jsdoc/require-property-type'?: Linter.RuleEntry<[]>;
/**
* Requires that Promise rejections are documented with `@rejects` tags.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-rejects.md#repos-sticky-header
*/
'jsdoc/require-rejects'?: Linter.RuleEntry<JsdocRequireRejects>;
/**
* Requires that returns are documented with `@returns`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
*/
'jsdoc/require-returns'?: Linter.RuleEntry<JsdocRequireReturns>;
/**
* Requires a return statement in function body if a `@returns` tag is specified in JSDoc comment(and reports if multiple `@returns` tags are present).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
*/
'jsdoc/require-returns-check'?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
/**
* Requires that the `@returns` tag has a `description` value (not including `void`/`undefined` type returns).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
*/
'jsdoc/require-returns-description'?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
/**
* Requires that `@returns` tag has type value (in curly brackets).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
*/
'jsdoc/require-returns-type'?: Linter.RuleEntry<JsdocRequireReturnsType>;
/**
* Requires tags be present, optionally for specific contexts
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-tags.md#repos-sticky-header
*/
'jsdoc/require-tags'?: Linter.RuleEntry<JsdocRequireTags>;
/**
* Requires `@template` tags be present when type parameters are used.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
*/
'jsdoc/require-template'?: Linter.RuleEntry<JsdocRequireTemplate>;
/**
* Requires a description for `@template` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template-description.md#repos-sticky-header
*/
'jsdoc/require-template-description'?: Linter.RuleEntry<[]>;
/**
* Requires that throw statements are documented with `@throws` tags.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
*/
'jsdoc/require-throws'?: Linter.RuleEntry<JsdocRequireThrows>;
/**
* Requires a description for `@throws` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-description.md#repos-sticky-header
*/
'jsdoc/require-throws-description'?: Linter.RuleEntry<[]>;
/**
* Requires a type for `@throws` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws-type.md#repos-sticky-header
*/
'jsdoc/require-throws-type'?: Linter.RuleEntry<[]>;
/**
* Requires yields are documented with `@yields` tags.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
*/
'jsdoc/require-yields'?: Linter.RuleEntry<JsdocRequireYields>;
/**
* Ensures that if a `@yields` is present that a `yield` (or `yield` with a value) is present in the function body (or that if a `@next` is present that there is a yield with a return value present).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
*/
'jsdoc/require-yields-check'?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
/**
* Requires a description for `@yields` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-description.md#repos-sticky-header
*/
'jsdoc/require-yields-description'?: Linter.RuleEntry<[]>;
/**
* Requires a type for `@yields` tags
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-type.md#repos-sticky-header
*/
'jsdoc/require-yields-type'?: Linter.RuleEntry<[]>;
/**
* Sorts tags by a specified sequence according to tag name, optionally adding line breaks between tag groups.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
*/
'jsdoc/sort-tags'?: Linter.RuleEntry<JsdocSortTags>;
/**
* Enforces lines (or no lines) before, after, or between tags.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
*/
'jsdoc/tag-lines'?: Linter.RuleEntry<JsdocTagLines>;
/**
* Auto-escape certain characters that are input within block and tag descriptions.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
*/
'jsdoc/text-escaping'?: Linter.RuleEntry<JsdocTextEscaping>;
/**
* Prefers either function properties or method signatures
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
*/
'jsdoc/ts-method-signature-style'?: Linter.RuleEntry<JsdocTsMethodSignatureStyle>;
/**
* Warns against use of the empty object type
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header
*/
'jsdoc/ts-no-empty-object-type'?: Linter.RuleEntry<[]>;
/**
* Catches unnecessary template expressions such as string expressions within a template literal.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md#repos-sticky-header
*/
'jsdoc/ts-no-unnecessary-template-expression'?: Linter.RuleEntry<JsdocTsNoUnnecessaryTemplateExpression>;
/**
* Prefers function types over call signatures when there are no other properties.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md#repos-sticky-header
*/
'jsdoc/ts-prefer-function-type'?: Linter.RuleEntry<JsdocTsPreferFunctionType>;
/**
* Formats JSDoc type values.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
*/
'jsdoc/type-formatting'?: Linter.RuleEntry<JsdocTypeFormatting>;
/**
* Requires all types/namepaths to be valid JSDoc, Closure compiler, or TypeScript types (configurable in settings).
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
*/
'jsdoc/valid-types'?: Linter.RuleEntry<JsdocValidTypes>;
/**
* Enforce emojis are wrapped in `<span>` and provide screen reader access.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
* @deprecated
*/
'jsx-a11y/accessible-emoji'?: Linter.RuleEntry<JsxA11YAccessibleEmoji>;
/**
* Enforce all elements that require alternative text have meaningful information to relay back to end user.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md
*/
'jsx-a11y/alt-text'?: Linter.RuleEntry<JsxA11YAltText>;
/**
* Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link".
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md
*/
'jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<JsxA11YAnchorAmbiguousText>;
/**
* Enforce all anchors to contain accessible content.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md
*/
'jsx-a11y/anchor-has-content'?: Linter.RuleEntry<JsxA11YAnchorHasContent>;
/**
* Enforce all anchors are valid, navigable elements.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md
*/
'jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<JsxA11YAnchorIsValid>;
/**
* Enforce elements with aria-activedescendant are tabbable.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md
*/
'jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<JsxA11YAriaActivedescendantHasTabindex>;
/**
* Enforce all `aria-*` props are valid.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md
*/
'jsx-a11y/aria-props'?: Linter.RuleEntry<JsxA11YAriaProps>;
/**
* Enforce ARIA state and property values are valid.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md
*/
'jsx-a11y/aria-proptypes'?: Linter.RuleEntry<JsxA11YAriaProptypes>;
/**
* Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md
*/
'jsx-a11y/aria-role'?: Linter.RuleEntry<JsxA11YAriaRole>;
/**
* Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md
*/
'jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<JsxA11YAriaUnsupportedElements>;
/**
* Enforce that autocomplete attributes are used correctly.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md
*/
'jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<JsxA11YAutocompleteValid>;
/**
* Enforce a clickable non-interactive element has at least one keyboard event listener.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md
*/
'jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<JsxA11YClickEventsHaveKeyEvents>;
/**
* Enforce that a control (an interactive element) has a text label.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
*/
'jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<JsxA11YControlHasAssociatedLabel>;
/**
* Enforce heading (`h1`, `h2`, etc) elements contain accessible content.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md
*/
'jsx-a11y/heading-has-content'?: Linter.RuleEntry<JsxA11YHeadingHasContent>;
/**
* Enforce `<html>` element has `lang` prop.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md
*/
'jsx-a11y/html-has-lang'?: Linter.RuleEntry<JsxA11YHtmlHasLang>;
/**
* Enforce iframe elements have a title attribute.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md
*/
'jsx-a11y/iframe-has-title'?: Linter.RuleEntry<JsxA11YIframeHasTitle>;
/**
* Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo".
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md
*/
'jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<JsxA11YImgRedundantAlt>;
/**
* Enforce that elements with interactive handlers like `onClick` must be focusable.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md
*/
'jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<JsxA11YInteractiveSupportsFocus>;
/**
* Enforce that a `label` tag has a text label and an associated control.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
*/
'jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<JsxA11YLabelHasAssociatedControl>;
/**
* Enforce that `<label>` elements have the `htmlFor` prop.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md
* @deprecated
*/
'jsx-a11y/label-has-for'?: Linter.RuleEntry<JsxA11YLabelHasFor>;
/**
* Enforce lang attribute has a valid value.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md
*/
'jsx-a11y/lang'?: Linter.RuleEntry<JsxA11YLang>;
/**
* Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md
*/
'jsx-a11y/media-has-caption'?: Linter.RuleEntry<JsxA11YMediaHasCaption>;
/**
* Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md
*/
'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11YMouseEventsHaveKeyEvents>;
/**
* Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
*/
'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11YNoAccessKey>;
/**
* Disallow `aria-hidden="true"` from being set on focusable elements.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md
*/
'jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<JsxA11YNoAriaHiddenOnFocusable>;
/**
* Enforce autoFocus prop is not used.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-autofocus.md
*/
'jsx-a11y/no-autofocus'?: Linter.RuleEntry<JsxA11YNoAutofocus>;
/**
* Enforce distracting elements are not used.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-distracting-elements.md
*/
'jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<JsxA11YNoDistractingElements>;
/**
* Interactive elements should not be assigned non-interactive roles.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-interactive-element-to-noninteractive-role.md
*/
'jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<JsxA11YNoInteractiveElementToNoninteractiveRole>;
/**
* Non-interactive elements should not be assigned mouse or keyboard event listeners.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-interactions.md
*/
'jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementInteractions>;
/**
* Non-interactive elements should not be assigned interactive roles.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-to-interactive-role.md
*/
'jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementToInteractiveRole>;
/**
* `tabIndex` should only be declared on interactive elements.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-tabindex.md
*/
'jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<JsxA11YNoNoninteractiveTabindex>;
/**
* Enforce usage of `onBlur` over `onChange` on select menus for accessibility.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-onchange.md
* @deprecated
*/
'jsx-a11y/no-onchange'?: Linter.RuleEntry<JsxA11YNoOnchange>;
/**
* Enforce explicit role property is not the same as implicit/default role property on element.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-redundant-roles.md
*/
'jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<JsxA11YNoRedundantRoles>;
/**
* Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-static-element-interactions.md
*/
'jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<JsxA11YNoStaticElementInteractions>;
/**
* Enforces using semantic DOM elements over the ARIA `role` property.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/prefer-tag-over-role.md
*/
'jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<JsxA11YPreferTagOverRole>;
/**
* Enforce that elements with ARIA roles must have all required attributes for that role.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-has-required-aria-props.md
*/
'jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<JsxA11YRoleHasRequiredAriaProps>;
/**
* Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-supports-aria-props.md
*/
'jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<JsxA11YRoleSupportsAriaProps>;
/**
* Enforce `scope` prop is only used on `<th>` elements.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/scope.md
*/
'jsx-a11y/scope'?: Linter.RuleEntry<JsxA11YScope>;
/**
* Enforce `tabIndex` value is not greater than zero.
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
*/
'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11YTabindexNoPositive>;
/**
* 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 `return` statements after callbacks
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/callback-return.md
*/
'n/callback-return'?: Linter.RuleEntry<NCallbackReturn>;
/**
* enforce either `module.exports` or `exports`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/exports-style.md
*/
'n/exports-style'?: Linter.RuleEntry<NExportsStyle>;
/**
* enforce the style of file extensions in `import` declarations
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/file-extension-in-import.md
*/
'n/file-extension-in-import'?: Linter.RuleEntry<NFileExtensionInImport>;
/**
* require `require()` calls to be placed at top-level module scope
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/global-require.md
*/
'n/global-require'?: Linter.RuleEntry<[]>;
/**
* require error handling in callbacks
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/handle-callback-err.md
*/
'n/handle-callback-err'?: Linter.RuleEntry<NHandleCallbackErr>;
/**
* require correct usage of hashbang
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
*/
'n/hashbang'?: Linter.RuleEntry<NHashbang>;
/**
* enforce Node.js-style error-first callback pattern is followed
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-callback-literal.md
*/
'n/no-callback-literal'?: Linter.RuleEntry<[]>;
/**
* disallow deprecated APIs
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-deprecated-api.md
*/
'n/no-deprecated-api'?: Linter.RuleEntry<NNoDeprecatedApi>;
/**
* disallow the assignment to `exports`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-exports-assign.md
*/
'n/no-exports-assign'?: Linter.RuleEntry<[]>;
/**
* disallow `import` declarations which import extraneous modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-extraneous-import.md
*/
'n/no-extraneous-import'?: Linter.RuleEntry<NNoExtraneousImport>;
/**
* disallow `require()` expressions which import extraneous modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-extraneous-require.md
*/
'n/no-extraneous-require'?: Linter.RuleEntry<NNoExtraneousRequire>;
/**
* disallow third-party modules which are hiding core modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-hide-core-modules.md
* @deprecated
*/
'n/no-hide-core-modules'?: Linter.RuleEntry<NNoHideCoreModules>;
/**
* disallow `import` declarations which import missing modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-import.md
*/
'n/no-missing-import'?: Linter.RuleEntry<NNoMissingImport>;
/**
* disallow `require()` expressions which import missing modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-require.md
*/
'n/no-missing-require'?: Linter.RuleEntry<NNoMissingRequire>;
/**
* disallow `require` calls to be mixed with regular variable declarations
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-mixed-requires.md
*/
'n/no-mixed-requires'?: Linter.RuleEntry<NNoMixedRequires>;
/**
* disallow `new` operators with calls to `require`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-new-require.md
*/
'n/no-new-require'?: Linter.RuleEntry<[]>;
/**
* disallow string concatenation with `__dirname` and `__filename`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-path-concat.md
*/
'n/no-path-concat'?: Linter.RuleEntry<[]>;
/**
* disallow the use of `process.env`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-process-env.md
*/
'n/no-process-env'?: Linter.RuleEntry<NNoProcessEnv>;
/**
* disallow the use of `process.exit()`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-process-exit.md
*/
'n/no-process-exit'?: Linter.RuleEntry<[]>;
/**
* disallow specified modules when loaded by `import` declarations
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-restricted-import.md
*/
'n/no-restricted-import'?: Linter.RuleEntry<NNoRestrictedImport>;
/**
* disallow specified modules when loaded by `require`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-restricted-require.md
*/
'n/no-restricted-require'?: Linter.RuleEntry<NNoRestrictedRequire>;
/**
* disallow synchronous methods
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-sync.md
*/
'n/no-sync'?: Linter.RuleEntry<NNoSync>;
/**
* disallow top-level `await` in published modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-top-level-await.md
*/
'n/no-top-level-await'?: Linter.RuleEntry<NNoTopLevelAwait>;
/**
* disallow `bin` files that npm ignores
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-bin.md
*/
'n/no-unpublished-bin'?: Linter.RuleEntry<NNoUnpublishedBin>;
/**
* disallow `import` declarations which import private modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-import.md
*/
'n/no-unpublished-import'?: Linter.RuleEntry<NNoUnpublishedImport>;
/**
* disallow `require()` expressions which import private modules
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-require.md
*/
'n/no-unpublished-require'?: Linter.RuleEntry<NNoUnpublishedRequire>;
/**
* disallow unsupported ECMAScript built-ins on the specified version
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-builtins.md
*/
'n/no-unsupported-features/es-builtins'?: Linter.RuleEntry<NNoUnsupportedFeaturesEsBuiltins>;
/**
* disallow unsupported ECMAScript syntax on the specified version
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-syntax.md
*/
'n/no-unsupported-features/es-syntax'?: Linter.RuleEntry<NNoUnsupportedFeaturesEsSyntax>;
/**
* disallow unsupported Node.js built-in APIs on the specified version
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/node-builtins.md
*/
'n/no-unsupported-features/node-builtins'?: Linter.RuleEntry<NNoUnsupportedFeaturesNodeBuiltins>;
/**
* enforce either `Buffer` or `require("buffer").Buffer`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/buffer.md
*/
'n/prefer-global/buffer'?: Linter.RuleEntry<NPreferGlobalBuffer>;
/**
* enforce either `console` or `require("console")`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/console.md
*/
'n/prefer-global/console'?: Linter.RuleEntry<NPreferGlobalConsole>;
/**
* enforce either `process` or `require("process")`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/process.md
*/
'n/prefer-global/process'?: Linter.RuleEntry<NPreferGlobalProcess>;
/**
* enforce either `TextDecoder` or `require("util").TextDecoder`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/text-decoder.md
*/
'n/prefer-global/text-decoder'?: Linter.RuleEntry<NPreferGlobalTextDecoder>;
/**
* enforce either `TextEncoder` or `require("util").TextEncoder`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/text-encoder.md
*/
'n/prefer-global/text-encoder'?: Linter.RuleEntry<NPreferGlobalTextEncoder>;
/**
* enforce either `URL` or `require("url").URL`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url.md
*/
'n/prefer-global/url'?: Linter.RuleEntry<NPreferGlobalUrl>;
/**
* enforce either `URLSearchParams` or `require("url").URLSearchParams`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url-search-params.md
*/
'n/prefer-global/url-search-params'?: Linter.RuleEntry<NPreferGlobalUrlSearchParams>;
/**
* enforce using the `node:` protocol when importing Node.js builtin modules.
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-node-protocol.md
*/
'n/prefer-node-protocol'?: Linter.RuleEntry<NPreferNodeProtocol>;
/**
* enforce `require("dns").promises`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/dns.md
*/
'n/prefer-promises/dns'?: Linter.RuleEntry<[]>;
/**
* enforce `require("fs").promises`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/fs.md
*/
'n/prefer-promises/fs'?: Linter.RuleEntry<[]>;
/**
* require that `process.exit()` expressions use the same code path as `throw`
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/process-exit-as-throw.md
*/
'n/process-exit-as-throw'?: Linter.RuleEntry<[]>;
/**
* require correct usage of hashbang
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
* @deprecated
*/
'n/shebang'?: Linter.RuleEntry<NShebang>;
/**
* 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 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 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 assertion to be made in a test body
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/expect-expect.md
*/
'playwright/expect-expect'?: Linter.RuleEntry<PlaywrightExpectExpect>;
/**
* Enforces a maximum number assertion calls in a test body
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/max-expects.md
*/
'playwright/max-expects'?: Linter.RuleEntry<PlaywrightMaxExpects>;
/**
* Enforces a maximum depth to nested describe calls
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/max-nested-describe.md
*/
'playwright/max-nested-describe'?: Linter.RuleEntry<PlaywrightMaxNestedDescribe>;
/**
* Identify false positives when async Playwright APIs are not properly awaited.
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/missing-playwright-await.md
*/
'playwright/missing-playwright-await'?: Linter.RuleEntry<PlaywrightMissingPlaywrightAwait>;
/**
* Disallow commented out tests
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-commented-out-tests.md
*/
'playwright/no-commented-out-tests'?: Linter.RuleEntry<[]>;
/**
* Disallow calling `expect` conditionally
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-conditional-expect.md
*/
'playwright/no-conditional-expect'?: Linter.RuleEntry<[]>;
/**
* Disallow conditional logic in tests
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-conditional-in-test.md
*/
'playwright/no-conditional-in-test'?: Linter.RuleEntry<[]>;
/**
* Disallow duplicate setup and teardown hooks
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-duplicate-hooks.md
*/
'playwright/no-duplicate-hooks'?: Linter.RuleEntry<[]>;
/**
* The use of ElementHandle is discouraged, use Locator instead
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-element-handle.md
*/
'playwright/no-element-handle'?: Linter.RuleEntry<[]>;
/**
* The use of `page.$eval` and `page.$$eval` are discouraged, use `locator.evaluate` or `locator.evaluateAll` instead
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-eval.md
*/
'playwright/no-eval'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `.only()` focus test annotation
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-focused-test.md
*/
'playwright/no-focused-test'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of `{ force: true }` option.
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-force-option.md
*/
'playwright/no-force-option'?: Linter.RuleEntry<[]>;
/**
* Disallows the usage of getByTitle()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-get-by-title.md
*/
'playwright/no-get-by-title'?: Linter.RuleEntry<[]>;
/**
* Disallow setup and teardown hooks
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-hooks.md
*/
'playwright/no-hooks'?: Linter.RuleEntry<PlaywrightNoHooks>;
/**
* Disallow nested `test.step()` methods
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-nested-step.md
*/
'playwright/no-nested-step'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of the networkidle option
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-networkidle.md
*/
'playwright/no-networkidle'?: Linter.RuleEntry<[]>;
/**
* Disallow usage of nth methods
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-nth-methods.md
*/
'playwright/no-nth-methods'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of page.pause()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-page-pause.md
*/
'playwright/no-page-pause'?: Linter.RuleEntry<[]>;
/**
* Disallows the usage of raw locators
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-raw-locators.md
*/
'playwright/no-raw-locators'?: Linter.RuleEntry<PlaywrightNoRawLocators>;
/**
* Disallow specific matchers & modifiers
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-restricted-matchers.md
*/
'playwright/no-restricted-matchers'?: Linter.RuleEntry<PlaywrightNoRestrictedMatchers>;
/**
* Prevent usage of the `.skip()` skip test annotation.
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-skipped-test.md
*/
'playwright/no-skipped-test'?: Linter.RuleEntry<PlaywrightNoSkippedTest>;
/**
* Prevent usage of the `.slow()` slow test annotation.
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-slowed-test.md
*/
'playwright/no-slowed-test'?: Linter.RuleEntry<PlaywrightNoSlowedTest>;
/**
* Disallow using `expect` outside of `test` blocks
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-standalone-expect.md
*/
'playwright/no-standalone-expect'?: Linter.RuleEntry<[]>;
/**
* Prevent unsafe variable references in page.evaluate() and page.addInitScript()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-unsafe-references.md
*/
'playwright/no-unsafe-references'?: Linter.RuleEntry<[]>;
/**
* Disallow usage of page locators that are not used
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-unused-locators.md
*/
'playwright/no-unused-locators'?: Linter.RuleEntry<[]>;
/**
* Disallow unnecessary awaits for Playwright methods
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-useless-await.md
*/
'playwright/no-useless-await'?: Linter.RuleEntry<[]>;
/**
* Disallow usage of 'not' matchers when a more specific matcher exists
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-useless-not.md
*/
'playwright/no-useless-not'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of page.waitForNavigation()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-navigation.md
*/
'playwright/no-wait-for-navigation'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of page.waitForSelector()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-selector.md
*/
'playwright/no-wait-for-selector'?: Linter.RuleEntry<[]>;
/**
* Prevent usage of page.waitForTimeout()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-timeout.md
*/
'playwright/no-wait-for-timeout'?: Linter.RuleEntry<[]>;
/**
* Suggest using the built-in comparison matchers
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-comparison-matcher.md
*/
'playwright/prefer-comparison-matcher'?: Linter.RuleEntry<[]>;
/**
* Suggest using the built-in equality matchers
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-equality-matcher.md
*/
'playwright/prefer-equality-matcher'?: Linter.RuleEntry<[]>;
/**
* Prefer having hooks in a consistent order
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-hooks-in-order.md
*/
'playwright/prefer-hooks-in-order'?: Linter.RuleEntry<[]>;
/**
* Suggest having hooks before any test cases
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-hooks-on-top.md
*/
'playwright/prefer-hooks-on-top'?: Linter.RuleEntry<[]>;
/**
* Suggest locators over page methods
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-locator.md
*/
'playwright/prefer-locator'?: Linter.RuleEntry<[]>;
/**
* Enforce lowercase test names
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-lowercase-title.md
*/
'playwright/prefer-lowercase-title'?: Linter.RuleEntry<PlaywrightPreferLowercaseTitle>;
/**
* Prefer native locator functions
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-native-locators.md
*/
'playwright/prefer-native-locators'?: Linter.RuleEntry<PlaywrightPreferNativeLocators>;
/**
* Suggest using `toStrictEqual()`
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-strict-equal.md
*/
'playwright/prefer-strict-equal'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toBe()` for primitive literals
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-be.md
*/
'playwright/prefer-to-be'?: Linter.RuleEntry<[]>;
/**
* Suggest using toContain()
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-contain.md
*/
'playwright/prefer-to-contain'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toHaveCount()`
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-have-count.md
*/
'playwright/prefer-to-have-count'?: Linter.RuleEntry<[]>;
/**
* Suggest using `toHaveLength()`
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-to-have-length.md
*/
'playwright/prefer-to-have-length'?: Linter.RuleEntry<[]>;
/**
* Prefer web first assertions
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/prefer-web-first-assertions.md
*/
'playwright/prefer-web-first-assertions'?: Linter.RuleEntry<[]>;
/**
* Require setup and teardown code to be within a hook
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/require-hook.md
*/
'playwright/require-hook'?: Linter.RuleEntry<PlaywrightRequireHook>;
/**
* Require all assertions to use `expect.soft`
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/require-soft-assertions.md
*/
'playwright/require-soft-assertions'?: Linter.RuleEntry<[]>;
/**
* Require a message for `toThrow()`
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/require-to-throw-message.md
*/
'playwright/require-to-throw-message'?: Linter.RuleEntry<[]>;
/**
* Require test cases and hooks to be inside a `test.describe` block
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/require-top-level-describe.md
*/
'playwright/require-top-level-describe'?: Linter.RuleEntry<PlaywrightRequireTopLevelDescribe>;
/**
* Enforce valid `describe()` callback
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/valid-describe-callback.md
*/
'playwright/valid-describe-callback'?: Linter.RuleEntry<[]>;
/**
* Enforce valid `expect()` usage
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/valid-expect.md
*/
'playwright/valid-expect'?: Linter.RuleEntry<PlaywrightValidExpect>;
/**
* Require promises that have expectations in their chain to be valid
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/valid-expect-in-promise.md
*/
'playwright/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
/**
* Enforce valid tag format in Playwright test blocks and titles
*/
'playwright/valid-test-tags'?: Linter.RuleEntry<PlaywrightValidTestTags>;
/**
* Enforce valid titles
* @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/valid-title.md
*/
'playwright/valid-title'?: Linter.RuleEntry<PlaywrightValidTitle>;
/**
* 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 consistent use of the radix argument when using `parseInt()`
* @see https://eslint.org/docs/latest/rules/radix
*/
'radix'?: Linter.RuleEntry<Radix>;
/**
* Surfaces diagnostics from React Forget
*/
'react-compiler/react-compiler'?: Linter.RuleEntry<ReactCompilerReactCompiler>;
/**
* Disallows 'dangerouslySetInnerHTML'.
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
*/
'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>;
/**
* Disallows 'dangerouslySetInnerHTML' and 'children' at the same time.
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
*/
'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>;
/**
* Disallows 'findDOMNode'.
* @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
*/
'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>;
/**
* Disallows 'flushSync'.
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
*/
'react-dom/no-flush-sync'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'ReactDom.hydrate()' with 'hydrateRoot()'.
* @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
*/
'react-dom/no-hydrate'?: Linter.RuleEntry<[]>;
/**
* Enforces explicit 'type' attribute for 'button' elements.
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
*/
'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>;
/**
* Enforces explicit 'sandbox' attribute for 'iframe' elements.
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
*/
'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>;
/**
* Enforces the absence of a 'namespace' in React elements.
* @see https://eslint-react.xyz/docs/rules/dom-no-namespace
*/
'react-dom/no-namespace'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'ReactDom.render()' with 'createRoot(node).render()'.
* @see https://eslint-react.xyz/docs/rules/dom-no-render
*/
'react-dom/no-render'?: Linter.RuleEntry<[]>;
/**
* Disallows the return value of 'ReactDOM.render'.
* @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
*/
'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>;
/**
* Disallows 'javascript:' URLs as attribute values.
* @see https://eslint-react.xyz/docs/rules/dom-no-script-url
*/
'react-dom/no-script-url'?: Linter.RuleEntry<[]>;
/**
* Disallows the use of string style prop in JSX. Use an object instead.
* @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop
*/
'react-dom/no-string-style-prop'?: Linter.RuleEntry<[]>;
/**
* Disallows unknown 'DOM' property.
* @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
*/
'react-dom/no-unknown-property'?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
/**
* Enforces 'sandbox' attribute for 'iframe' elements is not set to unsafe combinations.
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
*/
'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>;
/**
* Disallows 'target="_blank"' without 'rel="noreferrer noopener"'.
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
*/
'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'useFormState' with 'useActionState'.
* @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
*/
'react-dom/no-use-form-state'?: Linter.RuleEntry<[]>;
/**
* Disallows 'children' in void DOM elements.
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
*/
'react-dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>;
/**
* Enforces React DOM is imported via a namespace import.
* @see https://eslint-react.xyz/docs/rules/dom-prefer-namespace-import
*/
'react-dom/prefer-namespace-import'?: Linter.RuleEntry<[]>;
/**
* Disallows **direct** calls to the 'set' function of 'useState' in 'useEffect'.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect
*/
'react-hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>;
/**
* Verifies that automatic effect dependencies are compiled if opted-in
*/
'react-hooks/automatic-effect-dependencies'?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>;
/**
* Validates against calling capitalized functions/methods instead of using JSX
*/
'react-hooks/capitalized-calls'?: Linter.RuleEntry<ReactHooksCapitalizedCalls>;
/**
* Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
*/
'react-hooks/component-hook-factories'?: Linter.RuleEntry<ReactHooksComponentHookFactories>;
/**
* Validates the compiler configuration options
*/
'react-hooks/config'?: Linter.RuleEntry<ReactHooksConfig>;
/**
* Validates usage of error boundaries instead of try/catch for errors in child components
*/
'react-hooks/error-boundaries'?: Linter.RuleEntry<ReactHooksErrorBoundaries>;
/**
* verifies the list of dependencies for Hooks like useEffect and similar
* @see https://github.com/facebook/react/issues/14920
*/
'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
/**
* Validates usage of fbt
*/
'react-hooks/fbt'?: Linter.RuleEntry<ReactHooksFbt>;
/**
* Validates usage of `fire`
*/
'react-hooks/fire'?: Linter.RuleEntry<ReactHooksFire>;
/**
* Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
*/
'react-hooks/gating'?: Linter.RuleEntry<ReactHooksGating>;
/**
* Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
*/
'react-hooks/globals'?: Linter.RuleEntry<ReactHooksGlobals>;
/**
* Validates the rules of hooks
*/
'react-hooks/hooks'?: Linter.RuleEntry<ReactHooksHooks>;
/**
* Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
*/
'react-hooks/immutability'?: Linter.RuleEntry<ReactHooksImmutability>;
/**
* Validates against usage of libraries which are incompatible with memoization (manual or automatic)
*/
'react-hooks/incompatible-library'?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>;
/**
* Internal invariants
*/
'react-hooks/invariant'?: Linter.RuleEntry<ReactHooksInvariant>;
/**
* Validates that effect dependencies are memoized
*/
'react-hooks/memoized-effect-dependencies'?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>;
/**
* Validates against deriving values from state in an effect
*/
'react-hooks/no-deriving-state-in-effects'?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>;
/**
* Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
*/
'react-hooks/preserve-manual-memoization'?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>;
/**
* Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
*/
'react-hooks/purity'?: Linter.RuleEntry<ReactHooksPurity>;
/**
* Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
*/
'react-hooks/refs'?: Linter.RuleEntry<ReactHooksRefs>;
/**
* Validates against suppression of other rules
*/
'react-hooks/rule-suppression'?: Linter.RuleEntry<ReactHooksRuleSuppression>;
/**
* enforces the Rules of Hooks
* @see https://react.dev/reference/rules/rules-of-hooks
*/
'react-hooks/rules-of-hooks'?: Linter.RuleEntry<ReactHooksRulesOfHooks>;
/**
* Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
*/
'react-hooks/set-state-in-effect'?: Linter.RuleEntry<ReactHooksSetStateInEffect>;
/**
* Validates against setting state during render, which can trigger additional renders and potential infinite render loops
*/
'react-hooks/set-state-in-render'?: Linter.RuleEntry<ReactHooksSetStateInRender>;
/**
* Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
*/
'react-hooks/static-components'?: Linter.RuleEntry<ReactHooksStaticComponents>;
/**
* Validates against invalid syntax
*/
'react-hooks/syntax'?: Linter.RuleEntry<ReactHooksSyntax>;
/**
* Unimplemented features
*/
'react-hooks/todo'?: Linter.RuleEntry<ReactHooksTodo>;
/**
* Validates against syntax that we do not plan to support in React Compiler
*/
'react-hooks/unsupported-syntax'?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>;
/**
* Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
*/
'react-hooks/use-memo'?: Linter.RuleEntry<ReactHooksUseMemo>;
/**
* Validates that useMemos always return a value and that the result of the useMemo is used by the component/hook. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
*/
'react-hooks/void-use-memo'?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
/**
* Enforces naming conventions for components.
* @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
*/
'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>;
/**
* Enforces the context name to be a valid component name with the suffix 'Context'.
* @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
*/
'react-naming-convention/context-name'?: Linter.RuleEntry<[]>;
/**
* Enforces consistent file naming conventions.
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
*/
'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>;
/**
* Enforces consistent use of the JSX file extension.
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
*/
'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>;
/**
* Enforces that variables assigned from 'useRef' calls have names ending with 'Ref'.
* @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
*/
'react-naming-convention/ref-name'?: Linter.RuleEntry<[]>;
/**
* Enforces destructuring and symmetric naming of the 'useState' hook value and setter.
* @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
*/
'react-naming-convention/use-state'?: Linter.RuleEntry<ReactNamingConventionUseState>;
'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
/**
* Enforces that every 'addEventListener' in a component or custom hook has a corresponding 'removeEventListener'.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
*/
'react-web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>;
/**
* Enforces that every 'setInterval' in a component or custom hook has a corresponding 'clearInterval'.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
*/
'react-web-api/no-leaked-interval'?: Linter.RuleEntry<[]>;
/**
* Enforces that every 'ResizeObserver' created in a component or custom hook has a corresponding 'ResizeObserver.disconnect()'.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
*/
'react-web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>;
/**
* Enforces that every 'setTimeout' in a component or custom hook has a corresponding 'clearTimeout'.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
*/
'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
/**
* Prevents unnecessary dollar signs ('$') from being inserted before an expression in JSX.
* @see https://eslint-react.xyz/docs/rules/jsx-dollar
*/
'react-x/jsx-dollar'?: Linter.RuleEntry<[]>;
/**
* Enforces that the 'key' prop is placed before the spread prop in JSX elements.
* @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
*/
'react-x/jsx-key-before-spread'?: Linter.RuleEntry<[]>;
/**
* Prevents comment strings (e.g., beginning with '//' or '/*') from being accidentally inserted into a JSX element's text nodes.
* @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes
*/
'react-x/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>;
/**
* Disallows duplicate props in JSX elements.
* @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
*/
'react-x/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>;
/**
* Disallows 'IIFE' in JSX.
* @see https://eslint-react.xyz/docs/rules/jsx-no-iife
*/
'react-x/jsx-no-iife'?: Linter.RuleEntry<[]>;
/**
* Prevents using variables in JSX that are not defined in the scope.
* @see https://eslint-react.xyz/docs/rules/jsx-no-undef
*/
'react-x/jsx-no-undef'?: Linter.RuleEntry<[]>;
/**
* Enforces the use of shorthand syntax for boolean attributes.
* @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean
*/
'react-x/jsx-shorthand-boolean'?: Linter.RuleEntry<ReactXJsxShorthandBoolean>;
/**
* Enforces the use of shorthand syntax for fragments.
* @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment
*/
'react-x/jsx-shorthand-fragment'?: Linter.RuleEntry<ReactXJsxShorthandFragment>;
/**
* Marks React variables as used when JSX is present.
* @see https://eslint-react.xyz/docs/rules/jsx-uses-react
*/
'react-x/jsx-uses-react'?: Linter.RuleEntry<[]>;
/**
* Marks variables used in JSX elements as used.
* @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
*/
'react-x/jsx-uses-vars'?: Linter.RuleEntry<[]>;
/**
* Disallows accessing 'this.state' inside 'setState' calls.
* @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
*/
'react-x/no-access-state-in-setstate'?: Linter.RuleEntry<[]>;
/**
* Disallows using an item's index in the array as its key.
* @see https://eslint-react.xyz/docs/rules/no-array-index-key
*/
'react-x/no-array-index-key'?: Linter.RuleEntry<[]>;
/**
* Disallows the use of 'Children.count' from the 'react' package.
* @see https://eslint-react.xyz/docs/rules/no-children-count
*/
'react-x/no-children-count'?: Linter.RuleEntry<[]>;
/**
* Disallows the use of 'Children.forEach' from the 'react' package.
* @see https://eslint-react.xyz/docs/rules/no-children-for-each
*/
'react-x/no-children-for-each'?: Linter.RuleEntry<[]>;
/**
* Disallows the use of 'Children.map' from the 'react' package.
* @see https://eslint-react.xyz/docs/rules/no-children-map
*/
'react-x/no-children-map'?: Linter.RuleEntry<[]>;
/**
* Disallows the use of 'Children.only' from the 'react' package.
* @see https://eslint-react.xyz/docs/rules/no-children-only
*/
'react-x/no-children-only'?: Linter.RuleEntry<[]>;
/**
* Disallows passing 'children' as a prop.
* @see https://eslint-react.xyz/docs/rules/no-children-prop
*/
'react-x/no-children-prop'?: Linter.RuleEntry<[]>;
/**
* Disallows the use of 'Children.toArray' from the 'react' package.
* @see https://eslint-react.xyz/docs/rules/no-children-to-array
*/
'react-x/no-children-to-array'?: Linter.RuleEntry<[]>;
/**
* Disallows class components except for error boundaries.
* @see https://eslint-react.xyz/docs/rules/no-class-component
*/
'react-x/no-class-component'?: Linter.RuleEntry<[]>;
/**
* Disallows 'cloneElement'.
* @see https://eslint-react.xyz/docs/rules/no-clone-element
*/
'react-x/no-clone-element'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'componentWillMount' with 'UNSAFE_componentWillMount'.
* @see https://eslint-react.xyz/docs/rules/no-component-will-mount
*/
'react-x/no-component-will-mount'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'.
* @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
*/
'react-x/no-component-will-receive-props'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'.
* @see https://eslint-react.xyz/docs/rules/no-component-will-update
*/
'react-x/no-component-will-update'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of '<Context.Provider>' with '<Context>'.
* @see https://eslint-react.xyz/docs/rules/no-context-provider
*/
'react-x/no-context-provider'?: Linter.RuleEntry<[]>;
/**
* Disallows 'createRef' in function components.
* @see https://eslint-react.xyz/docs/rules/no-create-ref
*/
'react-x/no-create-ref'?: Linter.RuleEntry<[]>;
/**
* Disallows the 'defaultProps' property in favor of ES6 default parameters.
* @see https://eslint-react.xyz/docs/rules/no-default-props
*/
'react-x/no-default-props'?: Linter.RuleEntry<[]>;
/**
* Disallows direct mutation of 'this.state'.
* @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
*/
'react-x/no-direct-mutation-state'?: Linter.RuleEntry<[]>;
/**
* Disallows duplicate 'key' on elements in the same array or a list of 'children'.
* @see https://eslint-react.xyz/docs/rules/no-duplicate-key
*/
'react-x/no-duplicate-key'?: Linter.RuleEntry<[]>;
/**
* Disallows certain props on components.
* @see https://eslint-react.xyz/docs/rules/no-forbidden-props
* @deprecated
*/
'react-x/no-forbidden-props'?: Linter.RuleEntry<ReactXNoForbiddenProps>;
/**
* Replaces usage of 'forwardRef' with passing 'ref' as a prop.
* @see https://eslint-react.xyz/docs/rules/no-forward-ref
*/
'react-x/no-forward-ref'?: Linter.RuleEntry<[]>;
/**
* Prevents 'key' from not being explicitly specified (e.g., spreading 'key' from objects).
* @see https://eslint-react.xyz/docs/rules/no-implicit-key
*/
'react-x/no-implicit-key'?: Linter.RuleEntry<[]>;
/**
* Prevents problematic leaked values from being rendered.
* @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
*/
'react-x/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>;
/**
* Enforces that all components have a 'displayName' that can be used in devtools.
* @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
*/
'react-x/no-missing-component-display-name'?: Linter.RuleEntry<[]>;
/**
* Enforces that all contexts have a 'displayName' that can be used in devtools.
* @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
*/
'react-x/no-missing-context-display-name'?: Linter.RuleEntry<[]>;
/**
* Disallows missing 'key' on items in list rendering.
* @see https://eslint-react.xyz/docs/rules/no-missing-key
*/
'react-x/no-missing-key'?: Linter.RuleEntry<[]>;
/**
* Prevents incorrect usage of 'captureOwnerStack'.
* @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack
*/
'react-x/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>;
/**
* Disallows nesting component definitions inside other components.
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
*/
'react-x/no-nested-component-definitions'?: Linter.RuleEntry<[]>;
/**
* Disallows nesting lazy component declarations inside other components.
* @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations
*/
'react-x/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>;
/**
* Disallows 'propTypes' in favor of TypeScript or another type-checking solution.
* @see https://eslint-react.xyz/docs/rules/no-prop-types
*/
'react-x/no-prop-types'?: Linter.RuleEntry<[]>;
/**
* Disallows 'shouldComponentUpdate' when extending 'React.PureComponent'.
* @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
*/
'react-x/no-redundant-should-component-update'?: Linter.RuleEntry<[]>;
/**
* Disallows calling 'this.setState' in 'componentDidMount' outside functions such as callbacks.
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
*/
'react-x/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>;
/**
* Disallows calling 'this.setState' in 'componentDidUpdate' outside functions such as callbacks.
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
*/
'react-x/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>;
/**
* Disallows calling 'this.setState' in 'componentWillUpdate' outside functions such as callbacks.
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
*/
'react-x/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>;
/**
* Replaces string refs with callback refs.
* @see https://eslint-react.xyz/docs/rules/no-string-refs
*/
'react-x/no-string-refs'?: Linter.RuleEntry<[]>;
/**
* Prevents 'key' from being placed on non-top-level elements in list rendering.
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-key
*/
'react-x/no-unnecessary-key'?: Linter.RuleEntry<[]>;
/**
* Disallows unnecessary usage of 'useCallback'.
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback
*/
'react-x/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>;
/**
* Disallows unnecessary usage of 'useMemo'.
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo
*/
'react-x/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>;
/**
* Enforces that a function with the 'use' prefix uses at least one Hook inside it.
* @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix
*/
'react-x/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>;
/**
* Warns about the use of 'UNSAFE_componentWillMount' in class components.
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
*/
'react-x/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>;
/**
* Warns about the use of 'UNSAFE_componentWillReceiveProps' in class components.
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
*/
'react-x/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>;
/**
* Warns about the use of 'UNSAFE_componentWillUpdate' in class components.
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
*/
'react-x/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>;
/**
* Prevents non-stable values (i.e., object literals) from being used as a value for 'Context.Provider'.
* @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
*/
'react-x/no-unstable-context-value'?: Linter.RuleEntry<[]>;
/**
* Prevents using referential-type values as default props in object destructuring.
* @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
*/
'react-x/no-unstable-default-props'?: Linter.RuleEntry<ReactXNoUnstableDefaultProps>;
/**
* Warns about unused class component methods and properties.
* @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
*/
'react-x/no-unused-class-component-members'?: Linter.RuleEntry<[]>;
/**
* Warns about component props that are defined but never used.
* @see https://eslint-react.xyz/docs/rules/no-unused-props
*/
'react-x/no-unused-props'?: Linter.RuleEntry<[]>;
/**
* Warns about unused class component state.
* @see https://eslint-react.xyz/docs/rules/no-unused-state
*/
'react-x/no-unused-state'?: Linter.RuleEntry<[]>;
/**
* Replaces usage of 'useContext' with 'use'.
* @see https://eslint-react.xyz/docs/rules/no-use-context
*/
'react-x/no-use-context'?: Linter.RuleEntry<[]>;
/**
* Disallows useless 'forwardRef' calls on components that don't use 'ref's.
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
*/
'react-x/no-useless-forward-ref'?: Linter.RuleEntry<[]>;
/**
* Disallows useless fragment elements.
* @see https://eslint-react.xyz/docs/rules/no-useless-fragment
*/
'react-x/no-useless-fragment'?: Linter.RuleEntry<ReactXNoUselessFragment>;
/**
* Enforces destructuring assignment for component props and context.
* @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
*/
'react-x/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>;
/**
* Enforces importing React via a namespace import.
* @see https://eslint-react.xyz/docs/rules/prefer-namespace-import
*/
'react-x/prefer-namespace-import'?: Linter.RuleEntry<[]>;
/**
* Enforces read-only props in components.
* @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
*/
'react-x/prefer-read-only-props'?: Linter.RuleEntry<[]>;
/**
* Enforces wrapping function calls made inside 'useState' in an 'initializer function'.
* @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization
*/
'react-x/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>;
/**
* disallow confusing quantifiers
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
*/
'regexp/confusing-quantifier'?: Linter.RuleEntry<[]>;
/**
* enforce consistent escaping of control characters
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/control-character-escape.html
*/
'regexp/control-character-escape'?: Linter.RuleEntry<[]>;
/**
* enforce single grapheme in string literal
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/grapheme-string-literal.html
*/
'regexp/grapheme-string-literal'?: Linter.RuleEntry<[]>;
/**
* enforce consistent usage of hexadecimal escape
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/hexadecimal-escape.html
*/
'regexp/hexadecimal-escape'?: Linter.RuleEntry<RegexpHexadecimalEscape>;
/**
* enforce into your favorite case
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/letter-case.html
*/
'regexp/letter-case'?: Linter.RuleEntry<RegexpLetterCase>;
/**
* enforce match any character style
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/match-any.html
*/
'regexp/match-any'?: Linter.RuleEntry<RegexpMatchAny>;
/**
* enforce use of escapes on negation
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/negation.html
*/
'regexp/negation'?: Linter.RuleEntry<[]>;
/**
* disallow elements that contradict assertions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-contradiction-with-assertion.html
*/
'regexp/no-contradiction-with-assertion'?: Linter.RuleEntry<[]>;
/**
* disallow control characters
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-control-character.html
*/
'regexp/no-control-character'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate characters in the RegExp character class
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-characters-character-class.html
*/
'regexp/no-dupe-characters-character-class'?: Linter.RuleEntry<[]>;
/**
* disallow duplicate disjunctions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-disjunctions.html
*/
'regexp/no-dupe-disjunctions'?: Linter.RuleEntry<RegexpNoDupeDisjunctions>;
/**
* disallow alternatives without elements
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-alternative.html
*/
'regexp/no-empty-alternative'?: Linter.RuleEntry<[]>;
/**
* disallow capturing group that captures empty.
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-capturing-group.html
*/
'regexp/no-empty-capturing-group'?: Linter.RuleEntry<[]>;
/**
* disallow character classes that match no characters
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-character-class.html
*/
'regexp/no-empty-character-class'?: Linter.RuleEntry<[]>;
/**
* disallow empty group
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-group.html
*/
'regexp/no-empty-group'?: Linter.RuleEntry<[]>;
/**
* disallow empty lookahead assertion or empty lookbehind assertion
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-lookarounds-assertion.html
*/
'regexp/no-empty-lookarounds-assertion'?: Linter.RuleEntry<[]>;
/**
* disallow empty string literals in character classes
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-string-literal.html
*/
'regexp/no-empty-string-literal'?: Linter.RuleEntry<[]>;
/**
* disallow escape backspace (`[\b]`)
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-escape-backspace.html
*/
'regexp/no-escape-backspace'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary nested lookaround assertions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-extra-lookaround-assertions.html
*/
'regexp/no-extra-lookaround-assertions'?: Linter.RuleEntry<[]>;
/**
* disallow invalid regular expression strings in `RegExp` constructors
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invalid-regexp.html
*/
'regexp/no-invalid-regexp'?: Linter.RuleEntry<[]>;
/**
* disallow invisible raw character
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invisible-character.html
*/
'regexp/no-invisible-character'?: Linter.RuleEntry<[]>;
/**
* disallow lazy quantifiers at the end of an expression
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-lazy-ends.html
*/
'regexp/no-lazy-ends'?: Linter.RuleEntry<RegexpNoLazyEnds>;
/**
* disallow legacy RegExp features
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-legacy-features.html
*/
'regexp/no-legacy-features'?: Linter.RuleEntry<RegexpNoLegacyFeatures>;
/**
* disallow capturing groups that do not behave as one would expect
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-capturing-group.html
*/
'regexp/no-misleading-capturing-group'?: Linter.RuleEntry<RegexpNoMisleadingCapturingGroup>;
/**
* disallow multi-code-point characters in character classes and quantifiers
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-unicode-character.html
*/
'regexp/no-misleading-unicode-character'?: Linter.RuleEntry<RegexpNoMisleadingUnicodeCharacter>;
/**
* disallow missing `g` flag in patterns used in `String#matchAll` and `String#replaceAll`
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-missing-g-flag.html
*/
'regexp/no-missing-g-flag'?: Linter.RuleEntry<RegexpNoMissingGFlag>;
/**
* disallow non-standard flags
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-non-standard-flag.html
*/
'regexp/no-non-standard-flag'?: Linter.RuleEntry<[]>;
/**
* disallow obscure character ranges
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-obscure-range.html
*/
'regexp/no-obscure-range'?: Linter.RuleEntry<RegexpNoObscureRange>;
/**
* disallow octal escape sequence
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-octal.html
*/
'regexp/no-octal'?: Linter.RuleEntry<[]>;
/**
* disallow optional assertions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-optional-assertion.html
*/
'regexp/no-optional-assertion'?: Linter.RuleEntry<[]>;
/**
* disallow backreferences that reference a group that might not be matched
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-potentially-useless-backreference.html
*/
'regexp/no-potentially-useless-backreference'?: Linter.RuleEntry<[]>;
/**
* disallow standalone backslashes (`\`)
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-standalone-backslash.html
*/
'regexp/no-standalone-backslash'?: Linter.RuleEntry<[]>;
/**
* disallow exponential and polynomial backtracking
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-backtracking.html
*/
'regexp/no-super-linear-backtracking'?: Linter.RuleEntry<RegexpNoSuperLinearBacktracking>;
/**
* disallow quantifiers that cause quadratic moves
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-move.html
*/
'regexp/no-super-linear-move'?: Linter.RuleEntry<RegexpNoSuperLinearMove>;
/**
* disallow trivially nested assertions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-trivially-nested-assertion.html
*/
'regexp/no-trivially-nested-assertion'?: Linter.RuleEntry<[]>;
/**
* disallow nested quantifiers that can be rewritten as one quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-trivially-nested-quantifier.html
*/
'regexp/no-trivially-nested-quantifier'?: Linter.RuleEntry<[]>;
/**
* disallow unused capturing group
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-unused-capturing-group.html
*/
'regexp/no-unused-capturing-group'?: Linter.RuleEntry<RegexpNoUnusedCapturingGroup>;
/**
* disallow assertions that are known to always accept (or reject)
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-assertions.html
*/
'regexp/no-useless-assertions'?: Linter.RuleEntry<[]>;
/**
* disallow useless backreferences in regular expressions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-backreference.html
*/
'regexp/no-useless-backreference'?: Linter.RuleEntry<[]>;
/**
* disallow character class with one character
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-character-class.html
*/
'regexp/no-useless-character-class'?: Linter.RuleEntry<RegexpNoUselessCharacterClass>;
/**
* disallow useless `$` replacements in replacement string
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-dollar-replacements.html
*/
'regexp/no-useless-dollar-replacements'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary escape characters in RegExp
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-escape.html
*/
'regexp/no-useless-escape'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary regex flags
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-flag.html
*/
'regexp/no-useless-flag'?: Linter.RuleEntry<RegexpNoUselessFlag>;
/**
* disallow unnecessarily non-greedy quantifiers
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-lazy.html
*/
'regexp/no-useless-lazy'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary non-capturing group
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-non-capturing-group.html
*/
'regexp/no-useless-non-capturing-group'?: Linter.RuleEntry<RegexpNoUselessNonCapturingGroup>;
/**
* disallow quantifiers that can be removed
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-quantifier.html
*/
'regexp/no-useless-quantifier'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary character ranges
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-range.html
*/
'regexp/no-useless-range'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary elements in expression character classes
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-set-operand.html
*/
'regexp/no-useless-set-operand'?: Linter.RuleEntry<[]>;
/**
* disallow string disjunction of single characters in `\q{...}`
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-string-literal.html
*/
'regexp/no-useless-string-literal'?: Linter.RuleEntry<[]>;
/**
* disallow unnecessary `{n,m}` quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-two-nums-quantifier.html
*/
'regexp/no-useless-two-nums-quantifier'?: Linter.RuleEntry<[]>;
/**
* disallow quantifiers with a maximum of zero
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-zero-quantifier.html
*/
'regexp/no-zero-quantifier'?: Linter.RuleEntry<[]>;
/**
* disallow the alternatives of lookarounds that end with a non-constant quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/optimal-lookaround-quantifier.html
*/
'regexp/optimal-lookaround-quantifier'?: Linter.RuleEntry<[]>;
/**
* require optimal quantifiers for concatenated quantifiers
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/optimal-quantifier-concatenation.html
*/
'regexp/optimal-quantifier-concatenation'?: Linter.RuleEntry<RegexpOptimalQuantifierConcatenation>;
/**
* enforce using character class
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-character-class.html
*/
'regexp/prefer-character-class'?: Linter.RuleEntry<RegexpPreferCharacterClass>;
/**
* enforce using `\d`
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-d.html
*/
'regexp/prefer-d'?: Linter.RuleEntry<RegexpPreferD>;
/**
* enforces escape of replacement `$` character (`$$`).
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-escape-replacement-dollar-char.html
*/
'regexp/prefer-escape-replacement-dollar-char'?: Linter.RuleEntry<[]>;
/**
* prefer lookarounds over capturing group that do not replace
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-lookaround.html
*/
'regexp/prefer-lookaround'?: Linter.RuleEntry<RegexpPreferLookaround>;
/**
* enforce using named backreferences
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-named-backreference.html
*/
'regexp/prefer-named-backreference'?: Linter.RuleEntry<[]>;
/**
* enforce using named capture groups
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-named-capture-group.html
*/
'regexp/prefer-named-capture-group'?: Linter.RuleEntry<[]>;
/**
* enforce using named replacement
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-named-replacement.html
*/
'regexp/prefer-named-replacement'?: Linter.RuleEntry<RegexpPreferNamedReplacement>;
/**
* enforce using `+` quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-plus-quantifier.html
*/
'regexp/prefer-plus-quantifier'?: Linter.RuleEntry<[]>;
/**
* prefer predefined assertion over equivalent lookarounds
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-predefined-assertion.html
*/
'regexp/prefer-predefined-assertion'?: Linter.RuleEntry<[]>;
/**
* enforce using quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-quantifier.html
*/
'regexp/prefer-quantifier'?: Linter.RuleEntry<RegexpPreferQuantifier>;
/**
* enforce using `?` quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-question-quantifier.html
*/
'regexp/prefer-question-quantifier'?: Linter.RuleEntry<[]>;
/**
* enforce using character class range
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-range.html
*/
'regexp/prefer-range'?: Linter.RuleEntry<RegexpPreferRange>;
/**
* enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-exec.html
*/
'regexp/prefer-regexp-exec'?: Linter.RuleEntry<[]>;
/**
* enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-test.html
*/
'regexp/prefer-regexp-test'?: Linter.RuleEntry<[]>;
/**
* enforce using result array `groups`
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-result-array-groups.html
*/
'regexp/prefer-result-array-groups'?: Linter.RuleEntry<RegexpPreferResultArrayGroups>;
/**
* prefer character class set operations instead of lookarounds
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-set-operation.html
*/
'regexp/prefer-set-operation'?: Linter.RuleEntry<[]>;
/**
* enforce using `*` quantifier
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-star-quantifier.html
*/
'regexp/prefer-star-quantifier'?: Linter.RuleEntry<[]>;
/**
* enforce use of unicode codepoint escapes
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-unicode-codepoint-escapes.html
*/
'regexp/prefer-unicode-codepoint-escapes'?: Linter.RuleEntry<[]>;
/**
* enforce using `\w`
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-w.html
*/
'regexp/prefer-w'?: Linter.RuleEntry<[]>;
/**
* enforce the use of the `u` flag
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-regexp.html
*/
'regexp/require-unicode-regexp'?: Linter.RuleEntry<[]>;
/**
* enforce the use of the `v` flag
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-sets-regexp.html
*/
'regexp/require-unicode-sets-regexp'?: Linter.RuleEntry<[]>;
/**
* require simplify set operations
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/simplify-set-operations.html
*/
'regexp/simplify-set-operations'?: Linter.RuleEntry<[]>;
/**
* sort alternatives if order doesn't matter
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-alternatives.html
*/
'regexp/sort-alternatives'?: Linter.RuleEntry<[]>;
/**
* enforces elements order in character class
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-character-class-elements.html
*/
'regexp/sort-character-class-elements'?: Linter.RuleEntry<RegexpSortCharacterClassElements>;
/**
* require regex flags to be sorted
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-flags.html
*/
'regexp/sort-flags'?: Linter.RuleEntry<[]>;
/**
* disallow not strictly valid regular expressions
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/strict.html
*/
'regexp/strict'?: Linter.RuleEntry<[]>;
/**
* enforce consistent usage of unicode escape or unicode codepoint escape
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-escape.html
*/
'regexp/unicode-escape'?: Linter.RuleEntry<RegexpUnicodeEscape>;
/**
* enforce consistent naming of unicode properties
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-property.html
*/
'regexp/unicode-property'?: Linter.RuleEntry<RegexpUnicodeProperty>;
/**
* use the `i` flag if it simplifies the pattern
* @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/use-ignore-case.html
*/
'regexp/use-ignore-case'?: Linter.RuleEntry<[]>;
/**
* 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>;
/**
* Interactions should be awaited
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/await-interactions.md
*/
'storybook/await-interactions'?: Linter.RuleEntry<[]>;
/**
* Pass a context when invoking play function of another story
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/context-in-play-function.md
*/
'storybook/context-in-play-function'?: Linter.RuleEntry<[]>;
/**
* The component property should be set
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/csf-component.md
*/
'storybook/csf-component'?: Linter.RuleEntry<[]>;
/**
* Story files should have a default export
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/default-exports.md
*/
'storybook/default-exports'?: Linter.RuleEntry<[]>;
/**
* Deprecated hierarchy separator in title property
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/hierarchy-separator.md
*/
'storybook/hierarchy-separator'?: Linter.RuleEntry<[]>;
/**
* Meta should only have inline properties
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/meta-inline-properties.md
*/
'storybook/meta-inline-properties'?: Linter.RuleEntry<StorybookMetaInlineProperties>;
/**
* Meta should use `satisfies Meta`
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/meta-satisfies-type.md
*/
'storybook/meta-satisfies-type'?: Linter.RuleEntry<[]>;
/**
* A story should not have a redundant name property
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-redundant-story-name.md
*/
'storybook/no-redundant-story-name'?: Linter.RuleEntry<[]>;
/**
* storiesOf is deprecated and should not be used
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-stories-of.md
*/
'storybook/no-stories-of'?: Linter.RuleEntry<[]>;
/**
* Do not define a title in meta
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-title-property-in-meta.md
*/
'storybook/no-title-property-in-meta'?: Linter.RuleEntry<[]>;
/**
* This rule identifies storybook addons that are invalid because they are either not installed or contain a typo in their name.
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/no-uninstalled-addons.md
*/
'storybook/no-uninstalled-addons'?: Linter.RuleEntry<StorybookNoUninstalledAddons>;
/**
* Stories should use PascalCase
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/prefer-pascal-case.md
*/
'storybook/prefer-pascal-case'?: Linter.RuleEntry<[]>;
/**
* A story file must contain at least one story export
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/story-exports.md
*/
'storybook/story-exports'?: Linter.RuleEntry<[]>;
/**
* Use expect from `@storybook/test`, `storybook/test` or `@storybook/jest`
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/use-storybook-expect.md
*/
'storybook/use-storybook-expect'?: Linter.RuleEntry<[]>;
/**
* Do not use testing-library directly on stories
* @see https://github.com/storybookjs/eslint-plugin-storybook/blob/main/docs/rules/use-storybook-testing-library.md
*/
'storybook/use-storybook-testing-library'?: Linter.RuleEntry<[]>;
/**
* 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>;
/**
* Enforce promises from async event methods are handled
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/await-async-events.md
*/
'testing-library/await-async-events'?: Linter.RuleEntry<TestingLibraryAwaitAsyncEvents>;
/**
* Enforce promises from async queries to be handled
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/await-async-queries.md
*/
'testing-library/await-async-queries'?: Linter.RuleEntry<[]>;
/**
* Enforce promises from async utils to be awaited properly
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/await-async-utils.md
*/
'testing-library/await-async-utils'?: Linter.RuleEntry<[]>;
/**
* Ensures consistent usage of `data-testid`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/consistent-data-testid.md
*/
'testing-library/consistent-data-testid'?: Linter.RuleEntry<TestingLibraryConsistentDataTestid>;
/**
* Disallow unnecessary `await` for sync events
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-await-sync-events.md
*/
'testing-library/no-await-sync-events'?: Linter.RuleEntry<TestingLibraryNoAwaitSyncEvents>;
/**
* Disallow unnecessary `await` for sync queries
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-await-sync-queries.md
*/
'testing-library/no-await-sync-queries'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `container` methods
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-container.md
*/
'testing-library/no-container'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of debugging utilities like `debug`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-debugging-utils.md
*/
'testing-library/no-debugging-utils'?: Linter.RuleEntry<TestingLibraryNoDebuggingUtils>;
/**
* Disallow importing from DOM Testing Library
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-dom-import.md
*/
'testing-library/no-dom-import'?: Linter.RuleEntry<TestingLibraryNoDomImport>;
/**
* Disallow the use of the global RegExp flag (/g) in queries
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-global-regexp-flag-in-query.md
*/
'testing-library/no-global-regexp-flag-in-query'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `cleanup`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-manual-cleanup.md
*/
'testing-library/no-manual-cleanup'?: Linter.RuleEntry<[]>;
/**
* Disallow direct Node access
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-node-access.md
*/
'testing-library/no-node-access'?: Linter.RuleEntry<TestingLibraryNoNodeAccess>;
/**
* Disallow the use of promises passed to a `fireEvent` method
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-promise-in-fire-event.md
*/
'testing-library/no-promise-in-fire-event'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of `render` in testing frameworks setup functions
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-render-in-lifecycle.md
*/
'testing-library/no-render-in-lifecycle'?: Linter.RuleEntry<TestingLibraryNoRenderInLifecycle>;
/**
* Ensure no `data-testid` queries are used
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-test-id-queries.md
*/
'testing-library/no-test-id-queries'?: Linter.RuleEntry<[]>;
/**
* Disallow wrapping Testing Library utils or empty callbacks in `act`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-unnecessary-act.md
*/
'testing-library/no-unnecessary-act'?: Linter.RuleEntry<TestingLibraryNoUnnecessaryAct>;
/**
* Disallow the use of multiple `expect` calls inside `waitFor`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-wait-for-multiple-assertions.md
*/
'testing-library/no-wait-for-multiple-assertions'?: Linter.RuleEntry<[]>;
/**
* Disallow the use of side effects in `waitFor`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-wait-for-side-effects.md
*/
'testing-library/no-wait-for-side-effects'?: Linter.RuleEntry<[]>;
/**
* Ensures no snapshot is generated inside of a `waitFor` call
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/no-wait-for-snapshot.md
*/
'testing-library/no-wait-for-snapshot'?: Linter.RuleEntry<[]>;
/**
* Suggest using explicit assertions rather than standalone queries
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-explicit-assert.md
*/
'testing-library/prefer-explicit-assert'?: Linter.RuleEntry<TestingLibraryPreferExplicitAssert>;
/**
* Suggest using `find(All)By*` query instead of `waitFor` + `get(All)By*` to wait for elements
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-find-by.md
*/
'testing-library/prefer-find-by'?: Linter.RuleEntry<[]>;
/**
* Suggest using implicit assertions for getBy* & findBy* queries
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-implicit-assert.md
*/
'testing-library/prefer-implicit-assert'?: Linter.RuleEntry<[]>;
/**
* Ensure appropriate `get*`/`query*` queries are used with their respective matchers
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-presence-queries.md
*/
'testing-library/prefer-presence-queries'?: Linter.RuleEntry<TestingLibraryPreferPresenceQueries>;
/**
* Suggest using `queryBy*` queries when waiting for disappearance
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-query-by-disappearance.md
*/
'testing-library/prefer-query-by-disappearance'?: Linter.RuleEntry<[]>;
/**
* Ensure the configured `get*`/`query*` query is used with the corresponding matchers
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-query-matchers.md
*/
'testing-library/prefer-query-matchers'?: Linter.RuleEntry<TestingLibraryPreferQueryMatchers>;
/**
* Suggest using `screen` while querying
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-screen-queries.md
*/
'testing-library/prefer-screen-queries'?: Linter.RuleEntry<[]>;
/**
* Suggest using `userEvent` over `fireEvent` for simulating user interactions
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-user-event.md
*/
'testing-library/prefer-user-event'?: Linter.RuleEntry<TestingLibraryPreferUserEvent>;
/**
* Suggest using userEvent with setup() instead of direct methods
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/prefer-user-event-setup.md
*/
'testing-library/prefer-user-event-setup'?: Linter.RuleEntry<[]>;
/**
* Enforce a valid naming for return value from `render`
* @see https://github.com/testing-library/eslint-plugin-testing-library/tree/main/docs/rules/render-result-naming-convention.md
*/
'testing-library/render-result-naming-convention'?: Linter.RuleEntry<[]>;
/**
* 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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/rules/consistent-function-scoping.md
*/
'unicorn/consistent-function-scoping'?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
/**
* Enforce correct `Error` subclassing.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/rules/import-style.md
*/
'unicorn/import-style'?: Linter.RuleEntry<UnicornImportStyle>;
/**
* Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/rules/no-useless-fallback-in-spread.md
*/
'unicorn/no-useless-fallback-in-spread'?: Linter.RuleEntry<[]>;
/**
* Disallow useless array length check.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/rules/prefer-set-size.md
*/
'unicorn/prefer-set-size'?: 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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.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/v62.0.0/docs/rules/switch-case-braces.md
*/
'unicorn/switch-case-braces'?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
/**
* Fix whitespace-insensitive template indentation.
* @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v62.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/v62.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/v62.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<VitestNoConditionalExpect>;
/**
* 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<VitestPreferImportInMock>;
/**
* 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<[]>;
/**
* Prefer mock return shorthands
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-return-shorthand.md
*/
'vitest/prefer-mock-return-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<[]>;
/**
* Suggest using `toHaveBeenCalledTimes()`
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-been-called-times.md
*/
'vitest/prefer-to-have-been-called-times'?: 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 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 tests to declare a timeout
* @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-test-timeout.md
*/
'vitest/require-test-timeout'?: Linter.RuleEntry<[]>;
/**
* 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<[]>;
/**
* 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 ======= */
// ----- @eslint-community/eslint-comments/disable-enable-pair -----
type EslintCommunityEslintCommentsDisableEnablePair = [] | [{
allowWholeFile?: boolean;
}];
// ----- @eslint-community/eslint-comments/no-restricted-disable -----
type EslintCommunityEslintCommentsNoRestrictedDisable = string[];
// ----- @eslint-community/eslint-comments/no-use -----
type EslintCommunityEslintCommentsNoUse = [] | [{
allow?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[];
}];
// ----- @eslint-community/eslint-comments/require-description -----
type EslintCommunityEslintCommentsRequireDescription = [] | [{
ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[];
}];
// ----- @next/next/no-html-link-for-pages -----
type NextNextNoHtmlLinkForPages = [] | [(string | string[])];
// ----- @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-list-style -----
type StylisticExpListStyle = [] | [{
singleLine?: _StylisticExpListStyle_SingleLineConfig;
multiLine?: _StylisticExpListStyle_MultiLineConfig;
overrides?: {
"[]"?: _StylisticExpListStyle_BaseConfig;
"{}"?: _StylisticExpListStyle_BaseConfig;
"<>"?: _StylisticExpListStyle_BaseConfig;
"()"?: _StylisticExpListStyle_BaseConfig;
ArrayExpression?: _StylisticExpListStyle_BaseConfig;
ArrayPattern?: _StylisticExpListStyle_BaseConfig;
ArrowFunctionExpression?: _StylisticExpListStyle_BaseConfig;
CallExpression?: _StylisticExpListStyle_BaseConfig;
ExportNamedDeclaration?: _StylisticExpListStyle_BaseConfig;
FunctionDeclaration?: _StylisticExpListStyle_BaseConfig;
FunctionExpression?: _StylisticExpListStyle_BaseConfig;
ImportDeclaration?: _StylisticExpListStyle_BaseConfig;
ImportAttributes?: _StylisticExpListStyle_BaseConfig;
NewExpression?: _StylisticExpListStyle_BaseConfig;
ObjectExpression?: _StylisticExpListStyle_BaseConfig;
ObjectPattern?: _StylisticExpListStyle_BaseConfig;
TSDeclareFunction?: _StylisticExpListStyle_BaseConfig;
TSFunctionType?: _StylisticExpListStyle_BaseConfig;
TSInterfaceBody?: _StylisticExpListStyle_BaseConfig;
TSEnumBody?: _StylisticExpListStyle_BaseConfig;
TSTupleType?: _StylisticExpListStyle_BaseConfig;
TSTypeLiteral?: _StylisticExpListStyle_BaseConfig;
TSTypeParameterDeclaration?: _StylisticExpListStyle_BaseConfig;
TSTypeParameterInstantiation?: _StylisticExpListStyle_BaseConfig;
JSONArrayExpression?: _StylisticExpListStyle_BaseConfig;
JSONObjectExpression?: _StylisticExpListStyle_BaseConfig;
};
}];
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 = (_StylisticPaddingLineBetweenStatementsStatementType | [_StylisticPaddingLineBetweenStatementsStatementType, ...(_StylisticPaddingLineBetweenStatementsStatementType)[]]);
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;
}[];
// ----- @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?: _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;
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-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 = [] | [{
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/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;
}];
// ----- 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;
}];
// ----- arrow-style/arrow-return-style -----
type ArrowStyleArrowReturnStyle = [] | [{
jsxAlwaysUseExplicitReturn?: boolean;
maxLen?: number;
maxObjectProperties?: number;
namedExportsAlwaysUseExplicitReturn?: boolean;
objectReturnStyle?: ("always-explicit" | "complex-explicit" | "off");
usePrettier?: (boolean | {
[k: string]: unknown | undefined;
} | null);
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/alt-text -----
type AstroJsxA11YAltText = [] | [{
elements?: string[];
img?: string[];
object?: string[];
area?: string[];
"input[type=\"image\"]"?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/anchor-ambiguous-text -----
type AstroJsxA11YAnchorAmbiguousText = [] | [{
words?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/anchor-has-content -----
type AstroJsxA11YAnchorHasContent = [] | [{
components?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/anchor-is-valid -----
type AstroJsxA11YAnchorIsValid = [] | [{
components?: string[];
specialLink?: string[];
aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/aria-activedescendant-has-tabindex -----
type AstroJsxA11YAriaActivedescendantHasTabindex = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/aria-props -----
type AstroJsxA11YAriaProps = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/aria-proptypes -----
type AstroJsxA11YAriaProptypes = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/aria-role -----
type AstroJsxA11YAriaRole = [] | [{
allowedInvalidRoles?: string[];
ignoreNonDOM?: boolean;
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/aria-unsupported-elements -----
type AstroJsxA11YAriaUnsupportedElements = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/autocomplete-valid -----
type AstroJsxA11YAutocompleteValid = [] | [{
inputComponents?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/click-events-have-key-events -----
type AstroJsxA11YClickEventsHaveKeyEvents = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/control-has-associated-label -----
type AstroJsxA11YControlHasAssociatedLabel = [] | [{
labelAttributes?: string[];
controlComponents?: string[];
ignoreElements?: string[];
ignoreRoles?: string[];
depth?: number;
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/heading-has-content -----
type AstroJsxA11YHeadingHasContent = [] | [{
components?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/html-has-lang -----
type AstroJsxA11YHtmlHasLang = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/iframe-has-title -----
type AstroJsxA11YIframeHasTitle = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/img-redundant-alt -----
type AstroJsxA11YImgRedundantAlt = [] | [{
components?: string[];
words?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/interactive-supports-focus -----
type AstroJsxA11YInteractiveSupportsFocus = [] | [{
tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/label-has-associated-control -----
type AstroJsxA11YLabelHasAssociatedControl = [] | [{
labelComponents?: string[];
labelAttributes?: string[];
controlComponents?: string[];
assert?: ("htmlFor" | "nesting" | "both" | "either");
depth?: number;
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/lang -----
type AstroJsxA11YLang = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/media-has-caption -----
type AstroJsxA11YMediaHasCaption = [] | [{
audio?: string[];
video?: string[];
track?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/mouse-events-have-key-events -----
type AstroJsxA11YMouseEventsHaveKeyEvents = [] | [{
hoverInHandlers?: string[];
hoverOutHandlers?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-access-key -----
type AstroJsxA11YNoAccessKey = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-aria-hidden-on-focusable -----
type AstroJsxA11YNoAriaHiddenOnFocusable = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-autofocus -----
type AstroJsxA11YNoAutofocus = [] | [{
ignoreNonDOM?: boolean;
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-distracting-elements -----
type AstroJsxA11YNoDistractingElements = [] | [{
elements?: ("marquee" | "blink")[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-interactive-element-to-noninteractive-role -----
type AstroJsxA11YNoInteractiveElementToNoninteractiveRole = [] | [{
[k: string]: string[] | undefined;
}];
// ----- astro/jsx-a11y/no-noninteractive-element-interactions -----
type AstroJsxA11YNoNoninteractiveElementInteractions = [] | [{
handlers?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-noninteractive-element-to-interactive-role -----
type AstroJsxA11YNoNoninteractiveElementToInteractiveRole = [] | [{
[k: string]: string[] | undefined;
}];
// ----- astro/jsx-a11y/no-noninteractive-tabindex -----
type AstroJsxA11YNoNoninteractiveTabindex = [] | [{
roles?: string[];
tags?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/no-redundant-roles -----
type AstroJsxA11YNoRedundantRoles = [] | [{
[k: string]: string[] | undefined;
}];
// ----- astro/jsx-a11y/no-static-element-interactions -----
type AstroJsxA11YNoStaticElementInteractions = [] | [{
handlers?: string[];
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/prefer-tag-over-role -----
type AstroJsxA11YPreferTagOverRole = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/role-has-required-aria-props -----
type AstroJsxA11YRoleHasRequiredAriaProps = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/role-supports-aria-props -----
type AstroJsxA11YRoleSupportsAriaProps = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/scope -----
type AstroJsxA11YScope = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/jsx-a11y/tabindex-no-positive -----
type AstroJsxA11YTabindexNoPositive = [] | [{
[k: string]: unknown | undefined;
}];
// ----- astro/no-unsafe-inline-scripts -----
type AstroNoUnsafeInlineScripts = [] | [{
allowDefineVars?: boolean;
allowModuleScripts?: boolean;
allowNonExecutingTypes?: string[];
allowNonce?: boolean;
}];
// ----- astro/prefer-split-class-list -----
type AstroPreferSplitClassList = [] | [{
splitLiteral?: boolean;
}];
// ----- astro/semi -----
type AstroSemi = ([] | ["never"] | ["never", {
beforeStatementContinuationChars?: ("always" | "any" | "never");
}] | [] | ["always"] | ["always", {
omitLastInOneLineBlock?: boolean;
omitLastInOneLineClassBody?: boolean;
}]);
// ----- astro/sort-attributes -----
type AstroSortAttributes = [] | [{
type?: ("alphabetical" | "line-length");
ignoreCase?: boolean;
order?: ("asc" | "desc");
}];
// ----- 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-x/consistent-type-specifier-style -----
type ImportXConsistentTypeSpecifierStyle = [] | [("prefer-top-level" | "prefer-inline")];
// ----- import-x/dynamic-import-chunkname -----
type ImportXDynamicImportChunkname = [] | [{
importFunctions?: string[];
allowEmpty?: boolean;
webpackChunknameFormat?: string;
[k: string]: unknown | undefined;
}];
// ----- import-x/extensions -----
type ImportXExtensions = ([] | [("always" | "ignorePackages" | "never")] | [] | [("always" | "ignorePackages" | "never")] | [("always" | "ignorePackages" | "never"), {
pattern?: {
[k: string]: ("always" | "ignorePackages" | "never");
};
ignorePackages?: boolean;
checkTypeImports?: boolean;
pathGroupOverrides?: {
pattern: string;
patternOptions?: {
[k: string]: unknown | undefined;
};
action: ("enforce" | "ignore");
}[];
fix?: boolean;
[k: string]: unknown | undefined;
}] | [] | [{
pattern?: {
[k: string]: ("always" | "ignorePackages" | "never");
};
ignorePackages?: boolean;
checkTypeImports?: boolean;
pathGroupOverrides?: {
pattern: string;
patternOptions?: {
[k: string]: unknown | undefined;
};
action: ("enforce" | "ignore");
}[];
fix?: boolean;
[k: string]: unknown | undefined;
}] | [] | [("always" | "ignorePackages" | "never")] | [("always" | "ignorePackages" | "never"), {
[k: string]: ("always" | "ignorePackages" | "never");
}] | [] | [{
[k: string]: ("always" | "ignorePackages" | "never");
}]);
// ----- import-x/first -----
type ImportXFirst = [] | [("absolute-first" | "disable-absolute-first")];
// ----- import-x/imports-first -----
type ImportXImportsFirst = [] | [("absolute-first" | "disable-absolute-first")];
// ----- import-x/max-dependencies -----
type ImportXMaxDependencies = [] | [{
max?: number;
ignoreTypeImports?: boolean;
}];
// ----- import-x/named -----
type ImportXNamed = [] | [{
commonjs?: boolean;
}];
// ----- import-x/namespace -----
type ImportXNamespace = [] | [{
allowComputed?: boolean;
}];
// ----- import-x/newline-after-import -----
type ImportXNewlineAfterImport = [] | [{
count?: number;
exactCount?: boolean;
considerComments?: boolean;
}];
// ----- import-x/no-absolute-path -----
type ImportXNoAbsolutePath = [] | [{
commonjs?: boolean;
amd?: boolean;
esmodule?: boolean;
ignore?: [string, ...(string)[]];
}];
// ----- import-x/no-anonymous-default-export -----
type ImportXNoAnonymousDefaultExport = [] | [{
allowArray?: boolean;
allowArrowFunction?: boolean;
allowCallExpression?: boolean;
allowAnonymousClass?: boolean;
allowAnonymousFunction?: boolean;
allowLiteral?: boolean;
allowObject?: boolean;
allowNew?: boolean;
}];
// ----- import-x/no-commonjs -----
type ImportXNoCommonjs = ([] | ["allow-primitive-modules"] | [] | [{
allowPrimitiveModules?: boolean;
allowRequire?: boolean;
allowConditionalRequire?: boolean;
}]);
// ----- import-x/no-cycle -----
type ImportXNoCycle = [] | [{
commonjs?: boolean;
amd?: boolean;
esmodule?: boolean;
ignore?: [string, ...(string)[]];
maxDepth?: (number | "∞");
ignoreExternal?: boolean;
allowUnsafeDynamicCyclicDependency?: boolean;
}];
// ----- import-x/no-duplicates -----
type ImportXNoDuplicates = [] | [{
considerQueryString?: boolean;
"prefer-inline"?: boolean;
}];
// ----- import-x/no-dynamic-require -----
type ImportXNoDynamicRequire = [] | [{
esmodule?: boolean;
}];
// ----- import-x/no-extraneous-dependencies -----
type ImportXNoExtraneousDependencies = [] | [{
devDependencies?: (boolean | unknown[]);
optionalDependencies?: (boolean | unknown[]);
peerDependencies?: (boolean | unknown[]);
bundledDependencies?: (boolean | unknown[]);
packageDir?: (string | unknown[]);
includeInternal?: boolean;
includeTypes?: boolean;
whitelist?: unknown[];
}];
// ----- import-x/no-import-module-exports -----
type ImportXNoImportModuleExports = [] | [{
exceptions?: unknown[];
}];
// ----- import-x/no-internal-modules -----
type ImportXNoInternalModules = [] | [({
allow?: string[];
} | {
forbid?: string[];
})];
// ----- import-x/no-namespace -----
type ImportXNoNamespace = [] | [{
ignore?: string[];
[k: string]: unknown | undefined;
}];
// ----- import-x/no-nodejs-modules -----
type ImportXNoNodejsModules = [] | [{
allow?: string[];
}];
// ----- import-x/no-relative-packages -----
type ImportXNoRelativePackages = [] | [{
commonjs?: boolean;
amd?: boolean;
esmodule?: boolean;
ignore?: [string, ...(string)[]];
}];
// ----- import-x/no-relative-parent-imports -----
type ImportXNoRelativeParentImports = [] | [{
commonjs?: boolean;
amd?: boolean;
esmodule?: boolean;
ignore?: [string, ...(string)[]];
}];
// ----- import-x/no-rename-default -----
type ImportXNoRenameDefault = [] | [{
commonjs?: boolean;
preventRenamingBindings?: boolean;
}];
// ----- import-x/no-restricted-paths -----
type ImportXNoRestrictedPaths = [] | [{
zones?: [{
target?: (string | [string, ...(string)[]]);
from?: (string | [string, ...(string)[]]);
except?: string[];
message?: string;
}, ...({
target?: (string | [string, ...(string)[]]);
from?: (string | [string, ...(string)[]]);
except?: string[];
message?: string;
})[]];
basePath?: string;
}];
// ----- import-x/no-unassigned-import -----
type ImportXNoUnassignedImport = [] | [{
devDependencies?: (boolean | unknown[]);
optionalDependencies?: (boolean | unknown[]);
peerDependencies?: (boolean | unknown[]);
allow?: string[];
}];
// ----- import-x/no-unresolved -----
type ImportXNoUnresolved = [] | [{
commonjs?: boolean;
amd?: boolean;
esmodule?: boolean;
ignore?: [string, ...(string)[]];
caseSensitive?: boolean;
caseSensitiveStrict?: boolean;
}];
// ----- import-x/no-unused-modules -----
type ImportXNoUnusedModules = [] | [({
unusedExports: true;
src?: [unknown, ...(unknown)[]];
[k: string]: unknown | undefined;
} | {
missingExports: true;
[k: string]: unknown | undefined;
})];
// ----- import-x/no-useless-path-segments -----
type ImportXNoUselessPathSegments = [] | [{
commonjs?: boolean;
noUselessIndex?: boolean;
}];
// ----- import-x/order -----
type ImportXOrder = [] | [{
groups?: unknown[];
pathGroupsExcludedImportTypes?: unknown[];
distinctGroup?: boolean;
pathGroups?: {
pattern: string;
patternOptions?: {
[k: string]: unknown | undefined;
};
group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type");
position?: ("after" | "before");
}[];
"newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
"newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
consolidateIslands?: ("inside-groups" | "never");
sortTypesGroup?: boolean;
named?: (boolean | {
enabled?: boolean;
import?: boolean;
export?: boolean;
require?: boolean;
cjsExports?: boolean;
types?: ("mixed" | "types-first" | "types-last");
});
alphabetize?: {
caseInsensitive?: boolean;
order?: ("ignore" | "asc" | "desc");
orderImportKind?: ("ignore" | "asc" | "desc");
};
warnOnUnassignedImports?: boolean;
}];
// ----- import-x/prefer-default-export -----
type ImportXPreferDefaultExport = [] | [{
target?: ("single" | "any");
}];
// ----- import-x/prefer-namespace-import -----
type ImportXPreferNamespaceImport = [] | [{
patterns?: string[];
}];
// ----- 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;
});
}];
// ----- jsdoc/check-alignment -----
type JsdocCheckAlignment = [] | [{
innerIndent?: number;
}];
// ----- jsdoc/check-examples -----
type JsdocCheckExamples = [] | [{
allowInlineConfig?: boolean;
baseConfig?: {
[k: string]: unknown | undefined;
};
captionRequired?: boolean;
checkDefaults?: boolean;
checkEslintrc?: boolean;
checkParams?: boolean;
checkProperties?: boolean;
configFile?: string;
exampleCodeRegex?: string;
matchingFileName?: string;
matchingFileNameDefaults?: string;
matchingFileNameParams?: string;
matchingFileNameProperties?: string;
noDefaultExampleRules?: boolean;
paddedIndent?: number;
rejectExampleCodeRegex?: string;
reportUnusedDisableDirectives?: boolean;
}];
// ----- jsdoc/check-indentation -----
type JsdocCheckIndentation = [] | [{
allowIndentedSections?: boolean;
excludeTags?: string[];
}];
// ----- jsdoc/check-line-alignment -----
type JsdocCheckLineAlignment = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
customSpacings?: {
postDelimiter?: number;
postHyphen?: number;
postName?: number;
postTag?: number;
postType?: number;
};
disableWrapIndent?: boolean;
preserveMainDescriptionPostDelimiter?: boolean;
tags?: string[];
wrapIndent?: string;
}];
// ----- jsdoc/check-param-names -----
type JsdocCheckParamNames = [] | [{
allowExtraTrailingParamDocs?: boolean;
checkDestructured?: boolean;
checkRestProperty?: boolean;
checkTypesPattern?: string;
disableExtraPropertyReporting?: boolean;
disableMissingParamChecks?: boolean;
enableFixer?: boolean;
useDefaultObjectProperties?: boolean;
}];
// ----- jsdoc/check-property-names -----
type JsdocCheckPropertyNames = [] | [{
enableFixer?: boolean;
}];
// ----- jsdoc/check-tag-names -----
type JsdocCheckTagNames = [] | [{
definedTags?: string[];
enableFixer?: boolean;
inlineTags?: string[];
jsxTags?: boolean;
typed?: boolean;
}];
// ----- jsdoc/check-types -----
type JsdocCheckTypes = [] | [{
exemptTagContexts?: {
tag?: string;
types?: (boolean | string[]);
}[];
noDefaults?: boolean;
unifyParentAndChildTypeChecks?: boolean;
}];
// ----- jsdoc/check-values -----
type JsdocCheckValues = [] | [{
allowedAuthors?: string[];
allowedLicenses?: (string[] | boolean);
licensePattern?: string;
numericOnlyVariation?: boolean;
}];
// ----- jsdoc/convert-to-jsdoc-comments -----
type JsdocConvertToJsdocComments = [] | [{
allowedPrefixes?: string[];
contexts?: (string | {
context?: string;
inlineCommentBlock?: boolean;
})[];
contextsAfter?: (string | {
context?: string;
inlineCommentBlock?: boolean;
})[];
contextsBeforeAndAfter?: (string | {
context?: string;
inlineCommentBlock?: boolean;
})[];
enableFixer?: boolean;
enforceJsdocLineStyle?: ("multi" | "single");
lineOrBlockStyle?: ("block" | "line" | "both");
}];
// ----- jsdoc/empty-tags -----
type JsdocEmptyTags = [] | [{
tags?: string[];
}];
// ----- jsdoc/escape-inline-tags -----
type JsdocEscapeInlineTags = [] | [{
allowedInlineTags?: string[];
enableFixer?: boolean;
fixType?: ("backticks" | "backslash");
}];
// ----- jsdoc/implements-on-classes -----
type JsdocImplementsOnClasses = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
}];
// ----- jsdoc/informative-docs -----
type JsdocInformativeDocs = [] | [{
aliases?: {
[k: string]: string[];
};
excludedTags?: string[];
uselessWords?: string[];
}];
// ----- jsdoc/lines-before-block -----
type JsdocLinesBeforeBlock = [] | [{
checkBlockStarts?: boolean;
excludedTags?: string[];
ignoreSameLine?: boolean;
ignoreSingleLines?: boolean;
lines?: number;
}];
// ----- jsdoc/match-description -----
type JsdocMatchDescription = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
mainDescription?: (string | boolean | {
match?: (string | boolean);
message?: string;
});
matchDescription?: string;
message?: string;
nonemptyTags?: boolean;
tags?: {
[k: string]: (string | true | {
match?: (string | true);
message?: string;
});
};
}];
// ----- jsdoc/match-name -----
type JsdocMatchName = [] | [{
match: {
allowName?: string;
comment?: string;
context?: string;
disallowName?: string;
message?: string;
replacement?: string;
tags?: string[];
}[];
}];
// ----- jsdoc/multiline-blocks -----
type JsdocMultilineBlocks = [] | [{
allowMultipleTags?: boolean;
minimumLengthForMultiline?: number;
multilineTags?: ("*" | string[]);
noFinalLineText?: boolean;
noMultilineBlocks?: boolean;
noSingleLineBlocks?: boolean;
noZeroLineText?: boolean;
requireSingleLineUnderCount?: number;
singleLineTags?: string[];
}];
// ----- jsdoc/no-bad-blocks -----
type JsdocNoBadBlocks = [] | [{
ignore?: string[];
preventAllMultiAsteriskBlocks?: boolean;
}];
// ----- jsdoc/no-blank-blocks -----
type JsdocNoBlankBlocks = [] | [{
enableFixer?: boolean;
}];
// ----- jsdoc/no-defaults -----
type JsdocNoDefaults = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
noOptionalParamNames?: boolean;
}];
// ----- jsdoc/no-missing-syntax -----
type JsdocNoMissingSyntax = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
message?: string;
minimum?: number;
})[];
}];
// ----- jsdoc/no-multi-asterisks -----
type JsdocNoMultiAsterisks = [] | [{
allowWhitespace?: boolean;
preventAtEnd?: boolean;
preventAtMiddleLines?: boolean;
}];
// ----- jsdoc/no-restricted-syntax -----
type JsdocNoRestrictedSyntax = [] | [{
contexts: (string | {
comment?: string;
context?: string;
message?: string;
})[];
}];
// ----- jsdoc/no-types -----
type JsdocNoTypes = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
}];
// ----- jsdoc/no-undefined-types -----
type JsdocNoUndefinedTypes = [] | [{
checkUsedTypedefs?: boolean;
definedTypes?: string[];
disableReporting?: boolean;
markVariablesAsUsed?: boolean;
}];
// ----- jsdoc/prefer-import-tag -----
type JsdocPreferImportTag = [] | [{
enableFixer?: boolean;
exemptTypedefs?: boolean;
outputType?: ("named-import" | "namespaced-import");
}];
// ----- jsdoc/require-asterisk-prefix -----
type JsdocRequireAsteriskPrefix = [] | [("always" | "never" | "any")] | [("always" | "never" | "any"), {
tags?: {
always?: string[];
any?: string[];
never?: string[];
};
}];
// ----- jsdoc/require-description -----
type JsdocRequireDescription = [] | [{
checkConstructors?: boolean;
checkGetters?: boolean;
checkSetters?: boolean;
contexts?: (string | {
comment?: string;
context?: string;
})[];
descriptionStyle?: ("body" | "tag" | "any");
exemptedBy?: string[];
}];
// ----- jsdoc/require-description-complete-sentence -----
type JsdocRequireDescriptionCompleteSentence = [] | [{
abbreviations?: string[];
newlineBeforeCapsAssumesBadSentenceEnd?: boolean;
tags?: string[];
}];
// ----- jsdoc/require-example -----
type JsdocRequireExample = [] | [{
checkConstructors?: boolean;
checkGetters?: boolean;
checkSetters?: boolean;
contexts?: (string | {
comment?: string;
context?: string;
})[];
enableFixer?: boolean;
exemptedBy?: string[];
exemptNoArguments?: boolean;
}];
// ----- jsdoc/require-file-overview -----
type JsdocRequireFileOverview = [] | [{
tags?: {
[k: string]: {
initialCommentsOnly?: boolean;
mustExist?: boolean;
preventDuplicates?: boolean;
};
};
}];
// ----- jsdoc/require-hyphen-before-param-description -----
type JsdocRequireHyphenBeforeParamDescription = [] | [("always" | "never")] | [("always" | "never"), {
tags?: ({
[k: string]: ("always" | "never");
} | "any");
}];
// ----- jsdoc/require-jsdoc -----
type JsdocRequireJsdoc = [] | [{
checkConstructors?: boolean;
checkGetters?: (boolean | "no-setter");
checkSetters?: (boolean | "no-getter");
contexts?: (string | {
context?: string;
inlineCommentBlock?: boolean;
minLineCount?: number;
})[];
enableFixer?: boolean;
exemptEmptyConstructors?: boolean;
exemptEmptyFunctions?: boolean;
exemptOverloadedImplementations?: boolean;
fixerMessage?: string;
minLineCount?: number;
publicOnly?: (boolean | {
ancestorsOnly?: boolean;
cjs?: boolean;
esm?: boolean;
window?: boolean;
});
require?: {
ArrowFunctionExpression?: boolean;
ClassDeclaration?: boolean;
ClassExpression?: boolean;
FunctionDeclaration?: boolean;
FunctionExpression?: boolean;
MethodDefinition?: boolean;
};
skipInterveningOverloadedDeclarations?: boolean;
}];
// ----- jsdoc/require-param -----
type JsdocRequireParam = [] | [{
autoIncrementBase?: number;
checkConstructors?: boolean;
checkDestructured?: boolean;
checkDestructuredRoots?: boolean;
checkGetters?: boolean;
checkRestProperty?: boolean;
checkSetters?: boolean;
checkTypesPattern?: string;
contexts?: (string | {
comment?: string;
context?: string;
})[];
enableFixer?: boolean;
enableRestElementFixer?: boolean;
enableRootFixer?: boolean;
exemptedBy?: string[];
ignoreWhenAllParamsMissing?: boolean;
interfaceExemptsParamsCheck?: boolean;
unnamedRootBase?: string[];
useDefaultObjectProperties?: boolean;
}];
// ----- jsdoc/require-param-description -----
type JsdocRequireParamDescription = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
defaultDestructuredRootDescription?: string;
setDefaultDestructuredRootDescription?: boolean;
}];
// ----- jsdoc/require-param-name -----
type JsdocRequireParamName = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
}];
// ----- jsdoc/require-param-type -----
type JsdocRequireParamType = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
defaultDestructuredRootType?: string;
setDefaultDestructuredRootType?: boolean;
}];
// ----- jsdoc/require-rejects -----
type JsdocRequireRejects = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
exemptedBy?: string[];
}];
// ----- jsdoc/require-returns -----
type JsdocRequireReturns = [] | [{
checkConstructors?: boolean;
checkGetters?: boolean;
contexts?: (string | {
comment?: string;
context?: string;
forceRequireReturn?: boolean;
})[];
enableFixer?: boolean;
exemptedBy?: string[];
forceRequireReturn?: boolean;
forceReturnsWithAsync?: boolean;
publicOnly?: (boolean | {
ancestorsOnly?: boolean;
cjs?: boolean;
esm?: boolean;
window?: boolean;
});
}];
// ----- jsdoc/require-returns-check -----
type JsdocRequireReturnsCheck = [] | [{
exemptAsync?: boolean;
exemptGenerators?: boolean;
noNativeTypes?: boolean;
reportMissingReturnForUndefinedTypes?: boolean;
}];
// ----- jsdoc/require-returns-description -----
type JsdocRequireReturnsDescription = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
}];
// ----- jsdoc/require-returns-type -----
type JsdocRequireReturnsType = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
}];
// ----- jsdoc/require-tags -----
type JsdocRequireTags = [] | [{
tags?: (string | {
context?: string;
tag?: string;
[k: string]: unknown | undefined;
})[];
}];
// ----- jsdoc/require-template -----
type JsdocRequireTemplate = [] | [{
exemptedBy?: string[];
requireSeparateTemplates?: boolean;
}];
// ----- jsdoc/require-throws -----
type JsdocRequireThrows = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
exemptedBy?: string[];
}];
// ----- jsdoc/require-yields -----
type JsdocRequireYields = [] | [{
contexts?: (string | {
comment?: string;
context?: string;
})[];
exemptedBy?: string[];
forceRequireNext?: boolean;
forceRequireYields?: boolean;
next?: boolean;
nextWithGeneratorTag?: boolean;
withGeneratorTag?: boolean;
}];
// ----- jsdoc/require-yields-check -----
type JsdocRequireYieldsCheck = [] | [{
checkGeneratorsOnly?: boolean;
contexts?: (string | {
comment?: string;
context?: string;
})[];
next?: boolean;
}];
// ----- jsdoc/sort-tags -----
type JsdocSortTags = [] | [{
alphabetizeExtras?: boolean;
linesBetween?: number;
reportIntraTagGroupSpacing?: boolean;
reportTagGroupSpacing?: boolean;
tagExceptions?: {
[k: string]: number;
};
tagSequence?: {
tags?: string[];
}[];
}];
// ----- jsdoc/tag-lines -----
type JsdocTagLines = [] | [("always" | "any" | "never")] | [("always" | "any" | "never"), {
applyToEndTag?: boolean;
count?: number;
endLines?: (number | null);
maxBlockLines?: (number | null);
startLines?: (number | null);
tags?: {
[k: string]: {
count?: number;
lines?: ("always" | "never" | "any");
};
};
}];
// ----- jsdoc/text-escaping -----
type JsdocTextEscaping = [] | [{
escapeHTML?: boolean;
escapeMarkdown?: boolean;
}];
// ----- jsdoc/ts-method-signature-style -----
type JsdocTsMethodSignatureStyle = [] | [("method" | "property")] | [("method" | "property"), {
enableFixer?: boolean;
}];
// ----- jsdoc/ts-no-unnecessary-template-expression -----
type JsdocTsNoUnnecessaryTemplateExpression = [] | [{
enableFixer?: boolean;
}];
// ----- jsdoc/ts-prefer-function-type -----
type JsdocTsPreferFunctionType = [] | [{
enableFixer?: boolean;
}];
// ----- jsdoc/type-formatting -----
type JsdocTypeFormatting = [] | [{
arrayBrackets?: ("angle" | "square");
arrowFunctionPostReturnMarkerSpacing?: string;
arrowFunctionPreReturnMarkerSpacing?: string;
enableFixer?: boolean;
functionOrClassParameterSpacing?: string;
functionOrClassPostGenericSpacing?: string;
functionOrClassPostReturnMarkerSpacing?: string;
functionOrClassPreReturnMarkerSpacing?: string;
functionOrClassTypeParameterSpacing?: string;
genericAndTupleElementSpacing?: string;
genericDot?: boolean;
keyValuePostColonSpacing?: string;
keyValuePostKeySpacing?: string;
keyValuePostOptionalSpacing?: string;
keyValuePostVariadicSpacing?: string;
methodQuotes?: ("double" | "single");
objectFieldIndent?: string;
objectFieldQuote?: ("double" | "single" | null);
objectFieldSeparator?: ("comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak");
objectFieldSeparatorOptionalLinebreak?: boolean;
objectFieldSeparatorTrailingPunctuation?: boolean;
parameterDefaultValueSpacing?: string;
postMethodNameSpacing?: string;
postNewSpacing?: string;
separatorForSingleObjectField?: boolean;
stringQuotes?: ("double" | "single");
typeBracketSpacing?: string;
unionSpacing?: string;
}];
// ----- jsdoc/valid-types -----
type JsdocValidTypes = [] | [{
allowEmptyNamepaths?: boolean;
}];
// ----- jsx-a11y/accessible-emoji -----
type JsxA11YAccessibleEmoji = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/alt-text -----
type JsxA11YAltText = [] | [{
elements?: string[];
img?: string[];
object?: string[];
area?: string[];
"input[type=\"image\"]"?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/anchor-ambiguous-text -----
type JsxA11YAnchorAmbiguousText = [] | [{
words?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/anchor-has-content -----
type JsxA11YAnchorHasContent = [] | [{
components?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/anchor-is-valid -----
type JsxA11YAnchorIsValid = [] | [{
components?: string[];
specialLink?: string[];
aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/aria-activedescendant-has-tabindex -----
type JsxA11YAriaActivedescendantHasTabindex = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/aria-props -----
type JsxA11YAriaProps = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/aria-proptypes -----
type JsxA11YAriaProptypes = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/aria-role -----
type JsxA11YAriaRole = [] | [{
allowedInvalidRoles?: string[];
ignoreNonDOM?: boolean;
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/aria-unsupported-elements -----
type JsxA11YAriaUnsupportedElements = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/autocomplete-valid -----
type JsxA11YAutocompleteValid = [] | [{
inputComponents?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/click-events-have-key-events -----
type JsxA11YClickEventsHaveKeyEvents = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/control-has-associated-label -----
type JsxA11YControlHasAssociatedLabel = [] | [{
labelAttributes?: string[];
controlComponents?: string[];
ignoreElements?: string[];
ignoreRoles?: string[];
depth?: number;
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/heading-has-content -----
type JsxA11YHeadingHasContent = [] | [{
components?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/html-has-lang -----
type JsxA11YHtmlHasLang = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/iframe-has-title -----
type JsxA11YIframeHasTitle = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/img-redundant-alt -----
type JsxA11YImgRedundantAlt = [] | [{
components?: string[];
words?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/interactive-supports-focus -----
type JsxA11YInteractiveSupportsFocus = [] | [{
tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/label-has-associated-control -----
type JsxA11YLabelHasAssociatedControl = [] | [{
labelComponents?: string[];
labelAttributes?: string[];
controlComponents?: string[];
assert?: ("htmlFor" | "nesting" | "both" | "either");
depth?: number;
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/label-has-for -----
type JsxA11YLabelHasFor = [] | [{
components?: string[];
required?: (("nesting" | "id") | {
some: ("nesting" | "id")[];
[k: string]: unknown | undefined;
} | {
every: ("nesting" | "id")[];
[k: string]: unknown | undefined;
});
allowChildren?: boolean;
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/lang -----
type JsxA11YLang = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/media-has-caption -----
type JsxA11YMediaHasCaption = [] | [{
audio?: string[];
video?: string[];
track?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/mouse-events-have-key-events -----
type JsxA11YMouseEventsHaveKeyEvents = [] | [{
hoverInHandlers?: string[];
hoverOutHandlers?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-access-key -----
type JsxA11YNoAccessKey = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-aria-hidden-on-focusable -----
type JsxA11YNoAriaHiddenOnFocusable = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-autofocus -----
type JsxA11YNoAutofocus = [] | [{
ignoreNonDOM?: boolean;
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-distracting-elements -----
type JsxA11YNoDistractingElements = [] | [{
elements?: ("marquee" | "blink")[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-interactive-element-to-noninteractive-role -----
type JsxA11YNoInteractiveElementToNoninteractiveRole = [] | [{
[k: string]: string[] | undefined;
}];
// ----- jsx-a11y/no-noninteractive-element-interactions -----
type JsxA11YNoNoninteractiveElementInteractions = [] | [{
handlers?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-noninteractive-element-to-interactive-role -----
type JsxA11YNoNoninteractiveElementToInteractiveRole = [] | [{
[k: string]: string[] | undefined;
}];
// ----- jsx-a11y/no-noninteractive-tabindex -----
type JsxA11YNoNoninteractiveTabindex = [] | [{
roles?: string[];
tags?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-onchange -----
type JsxA11YNoOnchange = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/no-redundant-roles -----
type JsxA11YNoRedundantRoles = [] | [{
[k: string]: string[] | undefined;
}];
// ----- jsx-a11y/no-static-element-interactions -----
type JsxA11YNoStaticElementInteractions = [] | [{
handlers?: string[];
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/prefer-tag-over-role -----
type JsxA11YPreferTagOverRole = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/role-has-required-aria-props -----
type JsxA11YRoleHasRequiredAriaProps = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/role-supports-aria-props -----
type JsxA11YRoleSupportsAriaProps = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/scope -----
type JsxA11YScope = [] | [{
[k: string]: unknown | undefined;
}];
// ----- jsx-a11y/tabindex-no-positive -----
type JsxA11YTabindexNoPositive = [] | [{
[k: string]: unknown | 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;
})];
// ----- 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")];
// ----- n/callback-return -----
type NCallbackReturn = [] | [string[]];
// ----- n/exports-style -----
type NExportsStyle = [] | [("module.exports" | "exports")] | [("module.exports" | "exports"), {
allowBatchAssign?: boolean;
}];
// ----- n/file-extension-in-import -----
type NFileExtensionInImport = [] | [("always" | "never")] | [("always" | "never"), {
[k: string]: ("always" | "never") | undefined;
}];
// ----- n/handle-callback-err -----
type NHandleCallbackErr = [] | [string];
// ----- n/hashbang -----
type NHashbang = [] | [{
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
ignoreUnpublished?: boolean;
additionalExecutables?: string[];
executableMap?: {
[k: string]: string;
};
}];
// ----- n/no-deprecated-api -----
type NNoDeprecatedApi = [] | [{
version?: string;
ignoreModuleItems?: ("_linklist" | "_stream_wrap" | "async_hooks.currentId" | "async_hooks.triggerId" | "buffer.Buffer()" | "new buffer.Buffer()" | "buffer.SlowBuffer" | "constants" | "crypto._toBuf" | "crypto.Credentials" | "crypto.DEFAULT_ENCODING" | "crypto.createCipher" | "crypto.createCredentials" | "crypto.createDecipher" | "crypto.fips" | "crypto.prng" | "crypto.pseudoRandomBytes" | "crypto.rng" | "domain" | "events.EventEmitter.listenerCount" | "events.listenerCount" | "freelist" | "fs.SyncWriteStream" | "fs.exists" | "fs.lchmod" | "fs.lchmodSync" | "http.createClient" | "module.Module.createRequireFromPath" | "module.Module.requireRepl" | "module.Module._debug" | "module.createRequireFromPath" | "module.requireRepl" | "module._debug" | "net._setSimultaneousAccepts" | "os.getNetworkInterfaces" | "os.tmpDir" | "path._makeLong" | "process.EventEmitter" | "process.assert" | "process.binding" | "process.env.NODE_REPL_HISTORY_FILE" | "process.report.triggerReport" | "punycode" | "readline.codePointAt" | "readline.getStringWidth" | "readline.isFullWidthCodePoint" | "readline.stripVTControlCharacters" | "repl.REPLServer" | "repl.Recoverable" | "repl.REPL_MODE_MAGIC" | "repl.builtinModules" | "safe-buffer.Buffer()" | "new safe-buffer.Buffer()" | "safe-buffer.SlowBuffer" | "sys" | "timers.enroll" | "timers.unenroll" | "tls.CleartextStream" | "tls.CryptoStream" | "tls.SecurePair" | "tls.convertNPNProtocols" | "tls.createSecurePair" | "tls.parseCertString" | "tty.setRawMode" | "url.parse" | "url.resolve" | "util.debug" | "util.error" | "util.isArray" | "util.isBoolean" | "util.isBuffer" | "util.isDate" | "util.isError" | "util.isFunction" | "util.isNull" | "util.isNullOrUndefined" | "util.isNumber" | "util.isObject" | "util.isPrimitive" | "util.isRegExp" | "util.isString" | "util.isSymbol" | "util.isUndefined" | "util.log" | "util.print" | "util.pump" | "util.puts" | "util._extend" | "vm.runInDebugContext" | "zlib.BrotliCompress()" | "zlib.BrotliDecompress()" | "zlib.Deflate()" | "zlib.DeflateRaw()" | "zlib.Gunzip()" | "zlib.Gzip()" | "zlib.Inflate()" | "zlib.InflateRaw()" | "zlib.Unzip()")[];
ignoreGlobalItems?: ("Buffer()" | "new Buffer()" | "COUNTER_NET_SERVER_CONNECTION" | "COUNTER_NET_SERVER_CONNECTION_CLOSE" | "COUNTER_HTTP_SERVER_REQUEST" | "COUNTER_HTTP_SERVER_RESPONSE" | "COUNTER_HTTP_CLIENT_REQUEST" | "COUNTER_HTTP_CLIENT_RESPONSE" | "GLOBAL" | "Intl.v8BreakIterator" | "require.extensions" | "root" | "process.EventEmitter" | "process.assert" | "process.binding" | "process.env.NODE_REPL_HISTORY_FILE" | "process.report.triggerReport")[];
ignoreIndirectDependencies?: boolean;
}];
// ----- n/no-extraneous-import -----
type NNoExtraneousImport = [] | [{
allowModules?: string[];
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
resolvePaths?: string[];
resolverConfig?: {
[k: string]: unknown | undefined;
};
}];
// ----- n/no-extraneous-require -----
type NNoExtraneousRequire = [] | [{
allowModules?: string[];
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
resolvePaths?: string[];
resolverConfig?: {
[k: string]: unknown | undefined;
};
tryExtensions?: string[];
}];
// ----- n/no-hide-core-modules -----
type NNoHideCoreModules = [] | [{
allow?: ("assert" | "buffer" | "child_process" | "cluster" | "console" | "constants" | "crypto" | "dgram" | "dns" | "events" | "fs" | "http" | "https" | "module" | "net" | "os" | "path" | "querystring" | "readline" | "repl" | "stream" | "string_decoder" | "timers" | "tls" | "tty" | "url" | "util" | "vm" | "zlib")[];
ignoreDirectDependencies?: boolean;
ignoreIndirectDependencies?: boolean;
}];
// ----- n/no-missing-import -----
type NNoMissingImport = [] | [{
allowModules?: string[];
resolvePaths?: string[];
resolverConfig?: {
[k: string]: unknown | undefined;
};
tryExtensions?: string[];
ignoreTypeImport?: boolean;
tsconfigPath?: string;
typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"));
}];
// ----- n/no-missing-require -----
type NNoMissingRequire = [] | [{
allowModules?: string[];
tryExtensions?: string[];
resolvePaths?: string[];
resolverConfig?: {
[k: string]: unknown | undefined;
};
typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"));
tsconfigPath?: string;
}];
// ----- n/no-mixed-requires -----
type NNoMixedRequires = [] | [(boolean | {
grouping?: boolean;
allowCall?: boolean;
})];
// ----- n/no-process-env -----
type NNoProcessEnv = [] | [{
allowedVariables?: string[];
}];
// ----- n/no-restricted-import -----
type NNoRestrictedImport = [] | [(string | {
name: (string | string[]);
message?: string;
})[]];
// ----- n/no-restricted-require -----
type NNoRestrictedRequire = [] | [(string | {
name: (string | string[]);
message?: string;
})[]];
// ----- n/no-sync -----
type NNoSync = [] | [{
allowAtRootLevel?: boolean;
ignores?: (string | {
from?: "file";
path?: string;
name?: string[];
} | {
from?: "lib";
name?: string[];
} | {
from?: "package";
package?: string;
name?: string[];
})[];
}];
// ----- n/no-top-level-await -----
type NNoTopLevelAwait = [] | [{
ignoreBin?: boolean;
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
}];
// ----- n/no-unpublished-bin -----
type NNoUnpublishedBin = [] | [{
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
[k: string]: unknown | undefined;
}];
// ----- n/no-unpublished-import -----
type NNoUnpublishedImport = [] | [{
allowModules?: string[];
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
resolvePaths?: string[];
resolverConfig?: {
[k: string]: unknown | undefined;
};
tryExtensions?: string[];
ignoreTypeImport?: boolean;
ignorePrivate?: boolean;
}];
// ----- n/no-unpublished-require -----
type NNoUnpublishedRequire = [] | [{
allowModules?: string[];
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
resolvePaths?: string[];
resolverConfig?: {
[k: string]: unknown | undefined;
};
tryExtensions?: string[];
ignorePrivate?: boolean;
}];
// ----- n/no-unsupported-features/es-builtins -----
type NNoUnsupportedFeaturesEsBuiltins = [] | [{
version?: string;
ignores?: ("AggregateError" | "Array" | "Array.from" | "Array.isArray" | "Array.length" | "Array.of" | "Array.toLocaleString" | "ArrayBuffer" | "ArrayBuffer.isView" | "Atomics" | "Atomics.add" | "Atomics.and" | "Atomics.compareExchange" | "Atomics.exchange" | "Atomics.isLockFree" | "Atomics.load" | "Atomics.notify" | "Atomics.or" | "Atomics.store" | "Atomics.sub" | "Atomics.wait" | "Atomics.waitAsync" | "Atomics.xor" | "BigInt" | "BigInt.asIntN" | "BigInt.asUintN" | "BigInt64Array" | "BigInt64Array.BYTES_PER_ELEMENT" | "BigInt64Array.from" | "BigInt64Array.name" | "BigInt64Array.of" | "BigUint64Array" | "BigUint64Array.BYTES_PER_ELEMENT" | "BigUint64Array.from" | "BigUint64Array.name" | "BigUint64Array.of" | "Boolean" | "DataView" | "Date" | "Date.UTC" | "Date.now" | "Date.parse" | "Date.toLocaleDateString" | "Date.toLocaleString" | "Date.toLocaleTimeString" | "Error" | "Error.cause" | "EvalError" | "FinalizationRegistry" | "Float32Array" | "Float32Array.BYTES_PER_ELEMENT" | "Float32Array.from" | "Float32Array.name" | "Float32Array.of" | "Float64Array" | "Float64Array.BYTES_PER_ELEMENT" | "Float64Array.from" | "Float64Array.name" | "Float64Array.of" | "Function" | "Function.length" | "Function.name" | "Infinity" | "Int16Array" | "Int16Array.BYTES_PER_ELEMENT" | "Int16Array.from" | "Int16Array.name" | "Int16Array.of" | "Int32Array" | "Int32Array.BYTES_PER_ELEMENT" | "Int32Array.from" | "Int32Array.name" | "Int32Array.of" | "Int8Array" | "Int8Array.BYTES_PER_ELEMENT" | "Int8Array.from" | "Int8Array.name" | "Int8Array.of" | "Intl" | "Intl.Collator" | "Intl.DateTimeFormat" | "Intl.DisplayNames" | "Intl.ListFormat" | "Intl.Locale" | "Intl.NumberFormat" | "Intl.PluralRules" | "Intl.RelativeTimeFormat" | "Intl.Segmenter" | "Intl.Segments" | "Intl.getCanonicalLocales" | "Intl.supportedValuesOf" | "JSON" | "JSON.parse" | "JSON.stringify" | "Map" | "Map.groupBy" | "Math" | "Math.E" | "Math.LN10" | "Math.LN2" | "Math.LOG10E" | "Math.LOG2E" | "Math.PI" | "Math.SQRT1_2" | "Math.SQRT2" | "Math.abs" | "Math.acos" | "Math.acosh" | "Math.asin" | "Math.asinh" | "Math.atan" | "Math.atan2" | "Math.atanh" | "Math.cbrt" | "Math.ceil" | "Math.clz32" | "Math.cos" | "Math.cosh" | "Math.exp" | "Math.expm1" | "Math.floor" | "Math.fround" | "Math.hypot" | "Math.imul" | "Math.log" | "Math.log10" | "Math.log1p" | "Math.log2" | "Math.max" | "Math.min" | "Math.pow" | "Math.random" | "Math.round" | "Math.sign" | "Math.sin" | "Math.sinh" | "Math.sqrt" | "Math.tan" | "Math.tanh" | "Math.trunc" | "NaN" | "Number.EPSILON" | "Number.MAX_SAFE_INTEGER" | "Number.MAX_VALUE" | "Number.MIN_SAFE_INTEGER" | "Number.MIN_VALUE" | "Number.NEGATIVE_INFINITY" | "Number.NaN" | "Number.POSITIVE_INFINITY" | "Number.isFinite" | "Number.isInteger" | "Number.isNaN" | "Number.isSafeInteger" | "Number.parseFloat" | "Number.parseInt" | "Number.toLocaleString" | "Object.assign" | "Object.create" | "Object.defineGetter" | "Object.defineProperties" | "Object.defineProperty" | "Object.defineSetter" | "Object.entries" | "Object.freeze" | "Object.fromEntries" | "Object.getOwnPropertyDescriptor" | "Object.getOwnPropertyDescriptors" | "Object.getOwnPropertyNames" | "Object.getOwnPropertySymbols" | "Object.getPrototypeOf" | "Object.groupBy" | "Object.hasOwn" | "Object.is" | "Object.isExtensible" | "Object.isFrozen" | "Object.isSealed" | "Object.keys" | "Object.lookupGetter" | "Object.lookupSetter" | "Object.preventExtensions" | "Object.proto" | "Object.seal" | "Object.setPrototypeOf" | "Object.values" | "Promise" | "Promise.all" | "Promise.allSettled" | "Promise.any" | "Promise.race" | "Promise.reject" | "Promise.resolve" | "Proxy" | "Proxy.revocable" | "RangeError" | "ReferenceError" | "Reflect" | "Reflect.apply" | "Reflect.construct" | "Reflect.defineProperty" | "Reflect.deleteProperty" | "Reflect.get" | "Reflect.getOwnPropertyDescriptor" | "Reflect.getPrototypeOf" | "Reflect.has" | "Reflect.isExtensible" | "Reflect.ownKeys" | "Reflect.preventExtensions" | "Reflect.set" | "Reflect.setPrototypeOf" | "RegExp" | "RegExp.dotAll" | "RegExp.hasIndices" | "RegExp.input" | "RegExp.lastIndex" | "RegExp.lastMatch" | "RegExp.lastParen" | "RegExp.leftContext" | "RegExp.n" | "RegExp.rightContext" | "Set" | "SharedArrayBuffer" | "String" | "String.fromCharCode" | "String.fromCodePoint" | "String.length" | "String.localeCompare" | "String.raw" | "String.toLocaleLowerCase" | "String.toLocaleUpperCase" | "Symbol" | "Symbol.asyncIterator" | "Symbol.for" | "Symbol.hasInstance" | "Symbol.isConcatSpreadable" | "Symbol.iterator" | "Symbol.keyFor" | "Symbol.match" | "Symbol.matchAll" | "Symbol.replace" | "Symbol.search" | "Symbol.species" | "Symbol.split" | "Symbol.toPrimitive" | "Symbol.toStringTag" | "Symbol.unscopables" | "SyntaxError" | "TypeError" | "URIError" | "Uint16Array" | "Uint16Array.BYTES_PER_ELEMENT" | "Uint16Array.from" | "Uint16Array.name" | "Uint16Array.of" | "Uint32Array" | "Uint32Array.BYTES_PER_ELEMENT" | "Uint32Array.from" | "Uint32Array.name" | "Uint32Array.of" | "Uint8Array" | "Uint8Array.BYTES_PER_ELEMENT" | "Uint8Array.from" | "Uint8Array.name" | "Uint8Array.of" | "Uint8ClampedArray" | "Uint8ClampedArray.BYTES_PER_ELEMENT" | "Uint8ClampedArray.from" | "Uint8ClampedArray.name" | "Uint8ClampedArray.of" | "WeakMap" | "WeakRef" | "WeakSet" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "eval" | "globalThis" | "isFinite" | "isNaN" | "parseFloat" | "parseInt" | "unescape")[];
}];
// ----- n/no-unsupported-features/es-syntax -----
type NNoUnsupportedFeaturesEsSyntax = [] | [{
version?: string;
ignores?: ("no-accessor-properties" | "accessor-properties" | "accessorProperties" | "no-arbitrary-module-namespace-names" | "arbitrary-module-namespace-names" | "arbitraryModuleNamespaceNames" | "no-array-from" | "array-from" | "arrayFrom" | "no-array-isarray" | "array-isarray" | "arrayIsarray" | "no-array-of" | "array-of" | "arrayOf" | "no-array-prototype-copywithin" | "array-prototype-copywithin" | "arrayPrototypeCopywithin" | "no-array-prototype-entries" | "array-prototype-entries" | "arrayPrototypeEntries" | "no-array-prototype-every" | "array-prototype-every" | "arrayPrototypeEvery" | "no-array-prototype-fill" | "array-prototype-fill" | "arrayPrototypeFill" | "no-array-prototype-filter" | "array-prototype-filter" | "arrayPrototypeFilter" | "no-array-prototype-find" | "array-prototype-find" | "arrayPrototypeFind" | "no-array-prototype-findindex" | "array-prototype-findindex" | "arrayPrototypeFindindex" | "no-array-prototype-findlast-findlastindex" | "array-prototype-findlast-findlastindex" | "arrayPrototypeFindlastFindlastindex" | "no-array-prototype-flat" | "array-prototype-flat" | "arrayPrototypeFlat" | "no-array-prototype-foreach" | "array-prototype-foreach" | "arrayPrototypeForeach" | "no-array-prototype-includes" | "array-prototype-includes" | "arrayPrototypeIncludes" | "no-array-prototype-indexof" | "array-prototype-indexof" | "arrayPrototypeIndexof" | "no-array-prototype-keys" | "array-prototype-keys" | "arrayPrototypeKeys" | "no-array-prototype-lastindexof" | "array-prototype-lastindexof" | "arrayPrototypeLastindexof" | "no-array-prototype-map" | "array-prototype-map" | "arrayPrototypeMap" | "no-array-prototype-reduce" | "array-prototype-reduce" | "arrayPrototypeReduce" | "no-array-prototype-reduceright" | "array-prototype-reduceright" | "arrayPrototypeReduceright" | "no-array-prototype-some" | "array-prototype-some" | "arrayPrototypeSome" | "no-array-prototype-toreversed" | "array-prototype-toreversed" | "arrayPrototypeToreversed" | "no-array-prototype-tosorted" | "array-prototype-tosorted" | "arrayPrototypeTosorted" | "no-array-prototype-tospliced" | "array-prototype-tospliced" | "arrayPrototypeTospliced" | "no-array-prototype-values" | "array-prototype-values" | "arrayPrototypeValues" | "no-array-prototype-with" | "array-prototype-with" | "arrayPrototypeWith" | "no-array-string-prototype-at" | "array-string-prototype-at" | "arrayStringPrototypeAt" | "no-arrow-functions" | "arrow-functions" | "arrowFunctions" | "no-async-functions" | "async-functions" | "asyncFunctions" | "no-async-iteration" | "async-iteration" | "asyncIteration" | "no-atomics-waitasync" | "atomics-waitasync" | "atomicsWaitasync" | "no-atomics" | "atomics" | "no-bigint" | "bigint" | "no-binary-numeric-literals" | "binary-numeric-literals" | "binaryNumericLiterals" | "no-block-scoped-functions" | "block-scoped-functions" | "blockScopedFunctions" | "no-block-scoped-variables" | "block-scoped-variables" | "blockScopedVariables" | "no-class-fields" | "class-fields" | "classFields" | "no-class-static-block" | "class-static-block" | "classStaticBlock" | "no-classes" | "classes" | "no-computed-properties" | "computed-properties" | "computedProperties" | "no-date-now" | "date-now" | "dateNow" | "no-date-prototype-getyear-setyear" | "date-prototype-getyear-setyear" | "datePrototypeGetyearSetyear" | "no-date-prototype-togmtstring" | "date-prototype-togmtstring" | "datePrototypeTogmtstring" | "no-default-parameters" | "default-parameters" | "defaultParameters" | "no-destructuring" | "destructuring" | "no-dynamic-import" | "dynamic-import" | "dynamicImport" | "no-error-cause" | "error-cause" | "errorCause" | "no-escape-unescape" | "escape-unescape" | "escapeUnescape" | "no-exponential-operators" | "exponential-operators" | "exponentialOperators" | "no-export-ns-from" | "export-ns-from" | "exportNsFrom" | "no-for-of-loops" | "for-of-loops" | "forOfLoops" | "no-function-declarations-in-if-statement-clauses-without-block" | "function-declarations-in-if-statement-clauses-without-block" | "functionDeclarationsInIfStatementClausesWithoutBlock" | "no-function-prototype-bind" | "function-prototype-bind" | "functionPrototypeBind" | "no-generators" | "generators" | "no-global-this" | "global-this" | "globalThis" | "no-hashbang" | "hashbang" | "no-import-meta" | "import-meta" | "importMeta" | "no-initializers-in-for-in" | "initializers-in-for-in" | "initializersInForIn" | "no-intl-datetimeformat-prototype-formatrange" | "intl-datetimeformat-prototype-formatrange" | "intlDatetimeformatPrototypeFormatrange" | "no-intl-datetimeformat-prototype-formattoparts" | "intl-datetimeformat-prototype-formattoparts" | "intlDatetimeformatPrototypeFormattoparts" | "no-intl-displaynames" | "intl-displaynames" | "intlDisplaynames" | "no-intl-getcanonicallocales" | "intl-getcanonicallocales" | "intlGetcanonicallocales" | "no-intl-listformat" | "intl-listformat" | "intlListformat" | "no-intl-locale" | "intl-locale" | "intlLocale" | "no-intl-numberformat-prototype-formatrange" | "intl-numberformat-prototype-formatrange" | "intlNumberformatPrototypeFormatrange" | "no-intl-numberformat-prototype-formatrangetoparts" | "intl-numberformat-prototype-formatrangetoparts" | "intlNumberformatPrototypeFormatrangetoparts" | "no-intl-numberformat-prototype-formattoparts" | "intl-numberformat-prototype-formattoparts" | "intlNumberformatPrototypeFormattoparts" | "no-intl-pluralrules-prototype-selectrange" | "intl-pluralrules-prototype-selectrange" | "intlPluralrulesPrototypeSelectrange" | "no-intl-pluralrules" | "intl-pluralrules" | "intlPluralrules" | "no-intl-relativetimeformat" | "intl-relativetimeformat" | "intlRelativetimeformat" | "no-intl-segmenter" | "intl-segmenter" | "intlSegmenter" | "no-intl-supportedvaluesof" | "intl-supportedvaluesof" | "intlSupportedvaluesof" | "no-json-superset" | "json-superset" | "jsonSuperset" | "no-json" | "json" | "no-keyword-properties" | "keyword-properties" | "keywordProperties" | "no-labelled-function-declarations" | "labelled-function-declarations" | "labelledFunctionDeclarations" | "no-legacy-object-prototype-accessor-methods" | "legacy-object-prototype-accessor-methods" | "legacyObjectPrototypeAccessorMethods" | "no-logical-assignment-operators" | "logical-assignment-operators" | "logicalAssignmentOperators" | "no-malformed-template-literals" | "malformed-template-literals" | "malformedTemplateLiterals" | "no-map" | "map" | "no-math-acosh" | "math-acosh" | "mathAcosh" | "no-math-asinh" | "math-asinh" | "mathAsinh" | "no-math-atanh" | "math-atanh" | "mathAtanh" | "no-math-cbrt" | "math-cbrt" | "mathCbrt" | "no-math-clz32" | "math-clz32" | "mathClz32" | "no-math-cosh" | "math-cosh" | "mathCosh" | "no-math-expm1" | "math-expm1" | "mathExpm1" | "no-math-fround" | "math-fround" | "mathFround" | "no-math-hypot" | "math-hypot" | "mathHypot" | "no-math-imul" | "math-imul" | "mathImul" | "no-math-log10" | "math-log10" | "mathLog10" | "no-math-log1p" | "math-log1p" | "mathLog1p" | "no-math-log2" | "math-log2" | "mathLog2" | "no-math-sign" | "math-sign" | "mathSign" | "no-math-sinh" | "math-sinh" | "mathSinh" | "no-math-tanh" | "math-tanh" | "mathTanh" | "no-math-trunc" | "math-trunc" | "mathTrunc" | "no-modules" | "modules" | "no-new-target" | "new-target" | "newTarget" | "new.target" | "no-nullish-coalescing-operators" | "nullish-coalescing-operators" | "nullishCoalescingOperators" | "no-number-epsilon" | "number-epsilon" | "numberEpsilon" | "no-number-isfinite" | "number-isfinite" | "numberIsfinite" | "no-number-isinteger" | "number-isinteger" | "numberIsinteger" | "no-number-isnan" | "number-isnan" | "numberIsnan" | "no-number-issafeinteger" | "number-issafeinteger" | "numberIssafeinteger" | "no-number-maxsafeinteger" | "number-maxsafeinteger" | "numberMaxsafeinteger" | "no-number-minsafeinteger" | "number-minsafeinteger" | "numberMinsafeinteger" | "no-number-parsefloat" | "number-parsefloat" | "numberParsefloat" | "no-number-parseint" | "number-parseint" | "numberParseint" | "no-numeric-separators" | "numeric-separators" | "numericSeparators" | "no-object-assign" | "object-assign" | "objectAssign" | "no-object-create" | "object-create" | "objectCreate" | "no-object-defineproperties" | "object-defineproperties" | "objectDefineproperties" | "no-object-defineproperty" | "object-defineproperty" | "objectDefineproperty" | "no-object-entries" | "object-entries" | "objectEntries" | "no-object-freeze" | "object-freeze" | "objectFreeze" | "no-object-fromentries" | "object-fromentries" | "objectFromentries" | "no-object-getownpropertydescriptor" | "object-getownpropertydescriptor" | "objectGetownpropertydescriptor" | "no-object-getownpropertydescriptors" | "object-getownpropertydescriptors" | "objectGetownpropertydescriptors" | "no-object-getownpropertynames" | "object-getownpropertynames" | "objectGetownpropertynames" | "no-object-getownpropertysymbols" | "object-getownpropertysymbols" | "objectGetownpropertysymbols" | "no-object-getprototypeof" | "object-getprototypeof" | "objectGetprototypeof" | "no-object-hasown" | "object-hasown" | "objectHasown" | "no-object-is" | "object-is" | "objectIs" | "no-object-isextensible" | "object-isextensible" | "objectIsextensible" | "no-object-isfrozen" | "object-isfrozen" | "objectIsfrozen" | "no-object-issealed" | "object-issealed" | "objectIssealed" | "no-object-keys" | "object-keys" | "objectKeys" | "no-object-map-groupby" | "object-map-groupby" | "objectMapGroupby" | "no-object-preventextensions" | "object-preventextensions" | "objectPreventextensions" | "no-object-seal" | "object-seal" | "objectSeal" | "no-object-setprototypeof" | "object-setprototypeof" | "objectSetprototypeof" | "no-object-super-properties" | "object-super-properties" | "objectSuperProperties" | "no-object-values" | "object-values" | "objectValues" | "no-octal-numeric-literals" | "octal-numeric-literals" | "octalNumericLiterals" | "no-optional-catch-binding" | "optional-catch-binding" | "optionalCatchBinding" | "no-optional-chaining" | "optional-chaining" | "optionalChaining" | "no-private-in" | "private-in" | "privateIn" | "no-promise-all-settled" | "promise-all-settled" | "promiseAllSettled" | "no-promise-any" | "promise-any" | "promiseAny" | "no-promise-prototype-finally" | "promise-prototype-finally" | "promisePrototypeFinally" | "no-promise-withresolvers" | "promise-withresolvers" | "promiseWithresolvers" | "no-promise" | "promise" | "no-property-shorthands" | "property-shorthands" | "propertyShorthands" | "no-proxy" | "proxy" | "no-reflect" | "reflect" | "no-regexp-d-flag" | "regexp-d-flag" | "regexpDFlag" | "no-regexp-lookbehind-assertions" | "regexp-lookbehind-assertions" | "regexpLookbehindAssertions" | "regexpLookbehind" | "no-regexp-named-capture-groups" | "regexp-named-capture-groups" | "regexpNamedCaptureGroups" | "no-regexp-prototype-compile" | "regexp-prototype-compile" | "regexpPrototypeCompile" | "no-regexp-prototype-flags" | "regexp-prototype-flags" | "regexpPrototypeFlags" | "no-regexp-s-flag" | "regexp-s-flag" | "regexpSFlag" | "regexpS" | "no-regexp-u-flag" | "regexp-u-flag" | "regexpUFlag" | "regexpU" | "no-regexp-unicode-property-escapes-2019" | "regexp-unicode-property-escapes-2019" | "regexpUnicodePropertyEscapes2019" | "no-regexp-unicode-property-escapes-2020" | "regexp-unicode-property-escapes-2020" | "regexpUnicodePropertyEscapes2020" | "no-regexp-unicode-property-escapes-2021" | "regexp-unicode-property-escapes-2021" | "regexpUnicodePropertyEscapes2021" | "no-regexp-unicode-property-escapes-2022" | "regexp-unicode-property-escapes-2022" | "regexpUnicodePropertyEscapes2022" | "no-regexp-unicode-property-escapes-2023" | "regexp-unicode-property-escapes-2023" | "regexpUnicodePropertyEscapes2023" | "no-regexp-unicode-property-escapes" | "regexp-unicode-property-escapes" | "regexpUnicodePropertyEscapes" | "regexpUnicodeProperties" | "no-regexp-v-flag" | "regexp-v-flag" | "regexpVFlag" | "no-regexp-y-flag" | "regexp-y-flag" | "regexpYFlag" | "regexpY" | "no-resizable-and-growable-arraybuffers" | "resizable-and-growable-arraybuffers" | "resizableAndGrowableArraybuffers" | "no-rest-parameters" | "rest-parameters" | "restParameters" | "no-rest-spread-properties" | "rest-spread-properties" | "restSpreadProperties" | "no-set" | "set" | "no-shadow-catch-param" | "shadow-catch-param" | "shadowCatchParam" | "no-shared-array-buffer" | "shared-array-buffer" | "sharedArrayBuffer" | "no-spread-elements" | "spread-elements" | "spreadElements" | "no-string-create-html-methods" | "string-create-html-methods" | "stringCreateHtmlMethods" | "no-string-fromcodepoint" | "string-fromcodepoint" | "stringFromcodepoint" | "no-string-prototype-codepointat" | "string-prototype-codepointat" | "stringPrototypeCodepointat" | "no-string-prototype-endswith" | "string-prototype-endswith" | "stringPrototypeEndswith" | "no-string-prototype-includes" | "string-prototype-includes" | "stringPrototypeIncludes" | "no-string-prototype-iswellformed-towellformed" | "string-prototype-iswellformed-towellformed" | "stringPrototypeIswellformedTowellformed" | "no-string-prototype-matchall" | "string-prototype-matchall" | "stringPrototypeMatchall" | "no-string-prototype-normalize" | "string-prototype-normalize" | "stringPrototypeNormalize" | "no-string-prototype-padstart-padend" | "string-prototype-padstart-padend" | "stringPrototypePadstartPadend" | "no-string-prototype-repeat" | "string-prototype-repeat" | "stringPrototypeRepeat" | "no-string-prototype-replaceall" | "string-prototype-replaceall" | "stringPrototypeReplaceall" | "no-string-prototype-startswith" | "string-prototype-startswith" | "stringPrototypeStartswith" | "no-string-prototype-substr" | "string-prototype-substr" | "stringPrototypeSubstr" | "no-string-prototype-trim" | "string-prototype-trim" | "stringPrototypeTrim" | "no-string-prototype-trimleft-trimright" | "string-prototype-trimleft-trimright" | "stringPrototypeTrimleftTrimright" | "no-string-prototype-trimstart-trimend" | "string-prototype-trimstart-trimend" | "stringPrototypeTrimstartTrimend" | "no-string-raw" | "string-raw" | "stringRaw" | "no-subclassing-builtins" | "subclassing-builtins" | "subclassingBuiltins" | "no-symbol-prototype-description" | "symbol-prototype-description" | "symbolPrototypeDescription" | "no-symbol" | "symbol" | "no-template-literals" | "template-literals" | "templateLiterals" | "no-top-level-await" | "top-level-await" | "topLevelAwait" | "no-trailing-commas" | "trailing-commas" | "trailingCommas" | "no-trailing-function-commas" | "trailing-function-commas" | "trailingFunctionCommas" | "trailingCommasInFunctions" | "no-typed-arrays" | "typed-arrays" | "typedArrays" | "no-unicode-codepoint-escapes" | "unicode-codepoint-escapes" | "unicodeCodepointEscapes" | "unicodeCodePointEscapes" | "no-weak-map" | "weak-map" | "weakMap" | "no-weak-set" | "weak-set" | "weakSet" | "no-weakrefs" | "weakrefs")[];
}];
// ----- n/no-unsupported-features/node-builtins -----
type NNoUnsupportedFeaturesNodeBuiltins = [] | [{
version?: string;
allowExperimental?: boolean;
ignores?: ("__filename" | "__dirname" | "require" | "require.cache" | "require.extensions" | "require.main" | "require.resolve" | "require.resolve.paths" | "module" | "module.children" | "module.exports" | "module.filename" | "module.id" | "module.isPreloading" | "module.loaded" | "module.parent" | "module.path" | "module.paths" | "module.require" | "exports" | "AbortController" | "AbortSignal" | "AbortSignal.abort" | "AbortSignal.timeout" | "AbortSignal.any" | "DOMException" | "FormData" | "Headers" | "MessageEvent" | "Navigator" | "Request" | "Response" | "WebAssembly" | "WebSocket" | "fetch" | "global" | "queueMicrotask" | "navigator" | "navigator.hardwareConcurrency" | "navigator.language" | "navigator.languages" | "navigator.platform" | "navigator.userAgent" | "structuredClone" | "localStorage" | "sessionStorage" | "Storage" | "Blob" | "new Buffer()" | "Buffer" | "Buffer.alloc" | "Buffer.allocUnsafe" | "Buffer.allocUnsafeSlow" | "Buffer.byteLength" | "Buffer.compare" | "Buffer.concat" | "Buffer.copyBytesFrom" | "Buffer.from" | "Buffer.isBuffer" | "Buffer.isEncoding" | "File" | "atob" | "btoa" | "console" | "console.profile" | "console.profileEnd" | "console.timeStamp" | "console.Console" | "console.assert" | "console.clear" | "console.count" | "console.countReset" | "console.debug" | "console.dir" | "console.dirxml" | "console.error" | "console.group" | "console.groupCollapsed" | "console.groupEnd" | "console.info" | "console.log" | "console.table" | "console.time" | "console.timeEnd" | "console.timeLog" | "console.trace" | "console.warn" | "crypto" | "crypto.subtle" | "crypto.subtle.decrypt" | "crypto.subtle.deriveBits" | "crypto.subtle.deriveKey" | "crypto.subtle.digest" | "crypto.subtle.encrypt" | "crypto.subtle.exportKey" | "crypto.subtle.generateKey" | "crypto.subtle.importKey" | "crypto.subtle.sign" | "crypto.subtle.unwrapKey" | "crypto.subtle.verify" | "crypto.subtle.wrapKey" | "crypto.getRandomValues" | "crypto.randomUUID" | "Crypto" | "CryptoKey" | "SubtleCrypto" | "CloseEvent" | "CustomEvent" | "Event" | "EventSource" | "EventTarget" | "PerformanceEntry" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformanceResourceTiming" | "performance" | "performance.clearMarks" | "performance.clearMeasures" | "performance.clearResourceTimings" | "performance.eventLoopUtilization" | "performance.getEntries" | "performance.getEntriesByName" | "performance.getEntriesByType" | "performance.mark" | "performance.markResourceTiming" | "performance.measure" | "performance.nodeTiming" | "performance.nodeTiming.bootstrapComplete" | "performance.nodeTiming.environment" | "performance.nodeTiming.idleTime" | "performance.nodeTiming.loopExit" | "performance.nodeTiming.loopStart" | "performance.nodeTiming.nodeStart" | "performance.nodeTiming.uvMetricsInfo" | "performance.nodeTiming.v8Start" | "performance.now" | "performance.onresourcetimingbufferfull" | "performance.setResourceTimingBufferSize" | "performance.timeOrigin" | "performance.timerify" | "performance.toJSON" | "process" | "process.allowedNodeEnvironmentFlags" | "process.availableMemory" | "process.arch" | "process.argv" | "process.argv0" | "process.channel" | "process.config" | "process.connected" | "process.debugPort" | "process.env" | "process.execArgv" | "process.execPath" | "process.execve" | "process.exitCode" | "process.features.cached_builtins" | "process.features.debug" | "process.features.inspector" | "process.features.ipv6" | "process.features.require_module" | "process.features.tls" | "process.features.tls_alpn" | "process.features.tls_ocsp" | "process.features.tls_sni" | "process.features.typescript" | "process.features.uv" | "process.finalization.register" | "process.finalization.registerBeforeExit" | "process.finalization.unregister" | "process.getBuiltinModule" | "process.mainModule" | "process.noDeprecation" | "process.permission" | "process.pid" | "process.platform" | "process.ppid" | "process.ref" | "process.release" | "process.report" | "process.report.excludeEnv" | "process.sourceMapsEnabled" | "process.stdin" | "process.stdin.isRaw" | "process.stdin.isTTY" | "process.stdin.setRawMode" | "process.stdout" | "process.stdout.clearLine" | "process.stdout.clearScreenDown" | "process.stdout.columns" | "process.stdout.cursorTo" | "process.stdout.getColorDepth" | "process.stdout.getWindowSize" | "process.stdout.hasColors" | "process.stdout.isTTY" | "process.stdout.moveCursor" | "process.stdout.rows" | "process.stderr" | "process.stderr.clearLine" | "process.stderr.clearScreenDown" | "process.stderr.columns" | "process.stderr.cursorTo" | "process.stderr.getColorDepth" | "process.stderr.getWindowSize" | "process.stderr.hasColors" | "process.stderr.isTTY" | "process.stderr.moveCursor" | "process.stderr.rows" | "process.threadCpuUsage" | "process.throwDeprecation" | "process.title" | "process.traceDeprecation" | "process.version" | "process.versions" | "process.abort" | "process.chdir" | "process.constrainedMemory" | "process.cpuUsage" | "process.cwd" | "process.disconnect" | "process.dlopen" | "process.emitWarning" | "process.exit" | "process.getActiveResourcesInfo" | "process.getegid" | "process.geteuid" | "process.getgid" | "process.getgroups" | "process.getuid" | "process.hasUncaughtExceptionCaptureCallback" | "process.hrtime" | "process.hrtime.bigint" | "process.initgroups" | "process.kill" | "process.loadEnvFile" | "process.memoryUsage" | "process.rss" | "process.nextTick" | "process.resourceUsage" | "process.send" | "process.setegid" | "process.seteuid" | "process.setgid" | "process.setgroups" | "process.setuid" | "process.setSourceMapsEnabled" | "process.setUncaughtExceptionCaptureCallback" | "process.umask" | "process.unref" | "process.uptime" | "ReadableStream" | "ReadableStream.from" | "ReadableStreamDefaultReader" | "ReadableStreamBYOBReader" | "ReadableStreamDefaultController" | "ReadableByteStreamController" | "ReadableStreamBYOBRequest" | "WritableStream" | "WritableStreamDefaultWriter" | "WritableStreamDefaultController" | "TransformStream" | "TransformStreamDefaultController" | "ByteLengthQueuingStrategy" | "CountQueuingStrategy" | "TextEncoderStream" | "TextDecoderStream" | "CompressionStream" | "DecompressionStream" | "setInterval" | "clearInterval" | "setTimeout" | "clearTimeout" | "setImmediate" | "clearImmediate" | "URL" | "URL.canParse" | "URL.createObjectURL" | "URL.revokeObjectURL" | "URLSearchParams" | "TextDecoder" | "TextEncoder" | "BroadcastChannel" | "MessageChannel" | "MessagePort" | "assert" | "assert.Assert" | "assert.assert" | "assert.deepEqual" | "assert.deepStrictEqual" | "assert.doesNotMatch" | "assert.doesNotReject" | "assert.doesNotThrow" | "assert.equal" | "assert.fail" | "assert.ifError" | "assert.match" | "assert.notDeepEqual" | "assert.notDeepStrictEqual" | "assert.notEqual" | "assert.notStrictEqual" | "assert.ok" | "assert.partialDeepStrictEqual" | "assert.rejects" | "assert.strictEqual" | "assert.throws" | "assert.CallTracker" | "assert.strict" | "assert.strict.Assert" | "assert.strict.assert" | "assert.strict.deepEqual" | "assert.strict.deepStrictEqual" | "assert.strict.doesNotMatch" | "assert.strict.doesNotReject" | "assert.strict.doesNotThrow" | "assert.strict.equal" | "assert.strict.fail" | "assert.strict.ifError" | "assert.strict.match" | "assert.strict.notDeepEqual" | "assert.strict.notDeepStrictEqual" | "assert.strict.notEqual" | "assert.strict.notStrictEqual" | "assert.strict.ok" | "assert.strict.partialDeepStrictEqual" | "assert.strict.rejects" | "assert.strict.strictEqual" | "assert.strict.throws" | "assert.strict.CallTracker" | "assert/strict" | "assert/strict.Assert" | "assert/strict.assert" | "assert/strict.deepEqual" | "assert/strict.deepStrictEqual" | "assert/strict.doesNotMatch" | "assert/strict.doesNotReject" | "assert/strict.doesNotThrow" | "assert/strict.equal" | "assert/strict.fail" | "assert/strict.ifError" | "assert/strict.match" | "assert/strict.notDeepEqual" | "assert/strict.notDeepStrictEqual" | "assert/strict.notEqual" | "assert/strict.notStrictEqual" | "assert/strict.ok" | "assert/strict.partialDeepStrictEqual" | "assert/strict.rejects" | "assert/strict.strictEqual" | "assert/strict.throws" | "assert/strict.CallTracker" | "async_hooks" | "async_hooks.createHook" | "async_hooks.executionAsyncResource" | "async_hooks.executionAsyncId" | "async_hooks.triggerAsyncId" | "async_hooks.AsyncLocalStorage" | "async_hooks.AsyncLocalStorage.bind" | "async_hooks.AsyncLocalStorage.snapshot" | "async_hooks.AsyncResource" | "async_hooks.AsyncResource.bind" | "buffer" | "buffer.constants" | "buffer.INSPECT_MAX_BYTES" | "buffer.kMaxLength" | "buffer.kStringMaxLength" | "buffer.atob" | "buffer.btoa" | "buffer.isAscii" | "buffer.isUtf8" | "buffer.resolveObjectURL" | "buffer.transcode" | "buffer.SlowBuffer" | "buffer.Blob" | "new buffer.Buffer()" | "buffer.Buffer" | "buffer.Buffer.alloc" | "buffer.Buffer.allocUnsafe" | "buffer.Buffer.allocUnsafeSlow" | "buffer.Buffer.byteLength" | "buffer.Buffer.compare" | "buffer.Buffer.concat" | "buffer.Buffer.copyBytesFrom" | "buffer.Buffer.from" | "buffer.Buffer.isBuffer" | "buffer.Buffer.isEncoding" | "buffer.File" | "child_process" | "child_process.exec" | "child_process.execFile" | "child_process.fork" | "child_process.spawn" | "child_process.execFileSync" | "child_process.execSync" | "child_process.spawnSync" | "child_process.ChildProcess" | "cluster" | "cluster.isMaster" | "cluster.isPrimary" | "cluster.isWorker" | "cluster.schedulingPolicy" | "cluster.settings" | "cluster.worker" | "cluster.workers" | "cluster.disconnect" | "cluster.fork" | "cluster.setupMaster" | "cluster.setupPrimary" | "cluster.Worker" | "crypto.constants" | "crypto.fips" | "crypto.webcrypto" | "crypto.webcrypto.subtle" | "crypto.webcrypto.subtle.decrypt" | "crypto.webcrypto.subtle.deriveBits" | "crypto.webcrypto.subtle.deriveKey" | "crypto.webcrypto.subtle.digest" | "crypto.webcrypto.subtle.encrypt" | "crypto.webcrypto.subtle.exportKey" | "crypto.webcrypto.subtle.generateKey" | "crypto.webcrypto.subtle.importKey" | "crypto.webcrypto.subtle.sign" | "crypto.webcrypto.subtle.unwrapKey" | "crypto.webcrypto.subtle.verify" | "crypto.webcrypto.subtle.wrapKey" | "crypto.webcrypto.getRandomValues" | "crypto.webcrypto.randomUUID" | "crypto.checkPrime" | "crypto.checkPrimeSync" | "crypto.createCipher" | "crypto.createCipheriv" | "crypto.createDecipher" | "crypto.createDecipheriv" | "crypto.createDiffieHellman" | "crypto.createDiffieHellmanGroup" | "crypto.createECDH" | "crypto.createHash" | "crypto.createHmac" | "crypto.createPrivateKey" | "crypto.createPublicKey" | "crypto.createSecretKey" | "crypto.createSign" | "crypto.createVerify" | "crypto.diffieHellman" | "crypto.generateKey" | "crypto.generateKeyPair" | "crypto.generateKeyPairSync" | "crypto.generateKeySync" | "crypto.generatePrime" | "crypto.generatePrimeSync" | "crypto.getCipherInfo" | "crypto.getCiphers" | "crypto.getCurves" | "crypto.getDiffieHellman" | "crypto.getFips" | "crypto.getHashes" | "crypto.hash" | "crypto.hkdf" | "crypto.hkdfSync" | "crypto.pbkdf2" | "crypto.pbkdf2Sync" | "crypto.privateDecrypt" | "crypto.privateEncrypt" | "crypto.publicDecrypt" | "crypto.publicEncrypt" | "crypto.randomBytes" | "crypto.randomFillSync" | "crypto.randomFill" | "crypto.randomInt" | "crypto.scrypt" | "crypto.scryptSync" | "crypto.secureHeapUsed" | "crypto.setEngine" | "crypto.setFips" | "crypto.sign" | "crypto.timingSafeEqual" | "crypto.verify" | "crypto.Certificate" | "crypto.Certificate.exportChallenge" | "crypto.Certificate.exportPublicKey" | "crypto.Certificate.verifySpkac" | "crypto.Cipher" | "crypto.Decipher" | "crypto.DiffieHellman" | "crypto.DiffieHellmanGroup" | "crypto.ECDH" | "crypto.ECDH.convertKey" | "crypto.Hash()" | "new crypto.Hash()" | "crypto.Hash" | "crypto.Hmac()" | "new crypto.Hmac()" | "crypto.Hmac" | "crypto.KeyObject" | "crypto.KeyObject.from" | "crypto.Sign" | "crypto.Verify" | "crypto.X509Certificate" | "dgram" | "dgram.createSocket" | "dgram.Socket" | "diagnostics_channel" | "diagnostics_channel.hasSubscribers" | "diagnostics_channel.channel" | "diagnostics_channel.subscribe" | "diagnostics_channel.unsubscribe" | "diagnostics_channel.tracingChannel" | "diagnostics_channel.Channel" | "diagnostics_channel.TracingChannel" | "dns" | "dns.Resolver" | "dns.getServers" | "dns.lookup" | "dns.lookupService" | "dns.resolve" | "dns.resolve4" | "dns.resolve6" | "dns.resolveAny" | "dns.resolveCname" | "dns.resolveCaa" | "dns.resolveMx" | "dns.resolveNaptr" | "dns.resolveNs" | "dns.resolvePtr" | "dns.resolveSoa" | "dns.resolveSrv" | "dns.resolveTlsa" | "dns.resolveTxt" | "dns.reverse" | "dns.setDefaultResultOrder" | "dns.getDefaultResultOrder" | "dns.setServers" | "dns.promises" | "dns.promises.Resolver" | "dns.promises.cancel" | "dns.promises.getServers" | "dns.promises.lookup" | "dns.promises.lookupService" | "dns.promises.resolve" | "dns.promises.resolve4" | "dns.promises.resolve6" | "dns.promises.resolveAny" | "dns.promises.resolveCaa" | "dns.promises.resolveCname" | "dns.promises.resolveMx" | "dns.promises.resolveNaptr" | "dns.promises.resolveNs" | "dns.promises.resolvePtr" | "dns.promises.resolveSoa" | "dns.promises.resolveSrv" | "dns.promises.resolveTlsa" | "dns.promises.resolveTxt" | "dns.promises.reverse" | "dns.promises.setDefaultResultOrder" | "dns.promises.getDefaultResultOrder" | "dns.promises.setServers" | "dns/promises" | "dns/promises.Resolver" | "dns/promises.cancel" | "dns/promises.getServers" | "dns/promises.lookup" | "dns/promises.lookupService" | "dns/promises.resolve" | "dns/promises.resolve4" | "dns/promises.resolve6" | "dns/promises.resolveAny" | "dns/promises.resolveCaa" | "dns/promises.resolveCname" | "dns/promises.resolveMx" | "dns/promises.resolveNaptr" | "dns/promises.resolveNs" | "dns/promises.resolvePtr" | "dns/promises.resolveSoa" | "dns/promises.resolveSrv" | "dns/promises.resolveTlsa" | "dns/promises.resolveTxt" | "dns/promises.reverse" | "dns/promises.setDefaultResultOrder" | "dns/promises.getDefaultResultOrder" | "dns/promises.setServers" | "domain" | "domain.create" | "domain.Domain" | "events" | "events.Event" | "events.EventTarget" | "events.CustomEvent" | "events.NodeEventTarget" | "events.EventEmitter" | "events.EventEmitter.defaultMaxListeners" | "events.EventEmitter.errorMonitor" | "events.EventEmitter.captureRejections" | "events.EventEmitter.captureRejectionSymbol" | "events.EventEmitter.getEventListeners" | "events.EventEmitter.getMaxListeners" | "events.EventEmitter.once" | "events.EventEmitter.listenerCount" | "events.EventEmitter.on" | "events.EventEmitter.setMaxListeners" | "events.EventEmitter.addAbortListener" | "events.EventEmitterAsyncResource" | "events.EventEmitterAsyncResource.defaultMaxListeners" | "events.EventEmitterAsyncResource.errorMonitor" | "events.EventEmitterAsyncResource.captureRejections" | "events.EventEmitterAsyncResource.captureRejectionSymbol" | "events.EventEmitterAsyncResource.getEventListeners" | "events.EventEmitterAsyncResource.getMaxListeners" | "events.EventEmitterAsyncResource.once" | "events.EventEmitterAsyncResource.listenerCount" | "events.EventEmitterAsyncResource.on" | "events.EventEmitterAsyncResource.setMaxListeners" | "events.EventEmitterAsyncResource.addAbortListener" | "events.defaultMaxListeners" | "events.errorMonitor" | "events.captureRejections" | "events.captureRejectionSymbol" | "events.getEventListeners" | "events.getMaxListeners" | "events.once" | "events.listenerCount" | "events.on" | "events.setMaxListeners" | "events.addAbortListener" | "fs" | "fs.promises" | "fs.promises.FileHandle" | "fs.promises.access" | "fs.promises.appendFile" | "fs.promises.chmod" | "fs.promises.chown" | "fs.promises.constants" | "fs.promises.copyFile" | "fs.promises.cp" | "fs.promises.glob" | "fs.promises.lchmod" | "fs.promises.lchown" | "fs.promises.link" | "fs.promises.lstat" | "fs.promises.lutimes" | "fs.promises.mkdir" | "fs.promises.mkdtemp" | "fs.promises.open" | "fs.promises.opendir" | "fs.promises.readFile" | "fs.promises.readdir" | "fs.promises.readlink" | "fs.promises.realpath" | "fs.promises.rename" | "fs.promises.rm" | "fs.promises.rmdir" | "fs.promises.stat" | "fs.promises.statfs" | "fs.promises.symlink" | "fs.promises.truncate" | "fs.promises.unlink" | "fs.promises.utimes" | "fs.promises.watch" | "fs.promises.writeFile" | "fs.access" | "fs.appendFile" | "fs.chmod" | "fs.chown" | "fs.close" | "fs.copyFile" | "fs.cp" | "fs.createReadStream" | "fs.createWriteStream" | "fs.exists" | "fs.fchmod" | "fs.fchown" | "fs.fdatasync" | "fs.fstat" | "fs.fsync" | "fs.ftruncate" | "fs.futimes" | "fs.glob" | "fs.lchmod" | "fs.lchown" | "fs.link" | "fs.lstat" | "fs.lutimes" | "fs.mkdir" | "fs.mkdtemp" | "fs.native" | "fs.open" | "fs.openAsBlob" | "fs.opendir" | "fs.read" | "fs.readdir" | "fs.readFile" | "fs.readlink" | "fs.readv" | "fs.realpath" | "fs.realpath.native" | "fs.rename" | "fs.rm" | "fs.rmdir" | "fs.stat" | "fs.statfs" | "fs.symlink" | "fs.truncate" | "fs.unlink" | "fs.unwatchFile" | "fs.utimes" | "fs.watch" | "fs.watchFile" | "fs.write" | "fs.writeFile" | "fs.writev" | "fs.accessSync" | "fs.appendFileSync" | "fs.chmodSync" | "fs.chownSync" | "fs.closeSync" | "fs.copyFileSync" | "fs.cpSync" | "fs.existsSync" | "fs.fchmodSync" | "fs.fchownSync" | "fs.fdatasyncSync" | "fs.fstatSync" | "fs.fsyncSync" | "fs.ftruncateSync" | "fs.futimesSync" | "fs.globSync" | "fs.lchmodSync" | "fs.lchownSync" | "fs.linkSync" | "fs.lstatSync" | "fs.lutimesSync" | "fs.mkdirSync" | "fs.mkdtempSync" | "fs.opendirSync" | "fs.openSync" | "fs.readdirSync" | "fs.readFileSync" | "fs.readlinkSync" | "fs.readSync" | "fs.readvSync" | "fs.realpathSync" | "fs.realpathSync.native" | "fs.renameSync" | "fs.rmdirSync" | "fs.rmSync" | "fs.statfsSync" | "fs.statSync" | "fs.symlinkSync" | "fs.truncateSync" | "fs.unlinkSync" | "fs.utimesSync" | "fs.writeFileSync" | "fs.writeSync" | "fs.writevSync" | "fs.constants" | "fs.Dir" | "fs.Dirent" | "fs.FSWatcher" | "fs.StatWatcher" | "fs.ReadStream" | "fs.Stats()" | "new fs.Stats()" | "fs.Stats" | "fs.StatFs" | "fs.WriteStream" | "fs.common_objects" | "fs/promises" | "fs/promises.FileHandle" | "fs/promises.access" | "fs/promises.appendFile" | "fs/promises.chmod" | "fs/promises.chown" | "fs/promises.constants" | "fs/promises.copyFile" | "fs/promises.cp" | "fs/promises.glob" | "fs/promises.lchmod" | "fs/promises.lchown" | "fs/promises.link" | "fs/promises.lstat" | "fs/promises.lutimes" | "fs/promises.mkdir" | "fs/promises.mkdtemp" | "fs/promises.open" | "fs/promises.opendir" | "fs/promises.readFile" | "fs/promises.readdir" | "fs/promises.readlink" | "fs/promises.realpath" | "fs/promises.rename" | "fs/promises.rm" | "fs/promises.rmdir" | "fs/promises.stat" | "fs/promises.statfs" | "fs/promises.symlink" | "fs/promises.truncate" | "fs/promises.unlink" | "fs/promises.utimes" | "fs/promises.watch" | "fs/promises.writeFile" | "http2" | "http2.constants" | "http2.sensitiveHeaders" | "http2.createServer" | "http2.createSecureServer" | "http2.connect" | "http2.getDefaultSettings" | "http2.getPackedSettings" | "http2.getUnpackedSettings" | "http2.performServerHandshake" | "http2.Http2Session" | "http2.ServerHttp2Session" | "http2.ClientHttp2Session" | "http2.Http2Stream" | "http2.ClientHttp2Stream" | "http2.ServerHttp2Stream" | "http2.Http2Server" | "http2.Http2SecureServer" | "http2.Http2ServerRequest" | "http2.Http2ServerResponse" | "http" | "http.METHODS" | "http.STATUS_CODES" | "http.globalAgent" | "http.maxHeaderSize" | "http.createServer" | "http.get" | "http.request" | "http.validateHeaderName" | "http.validateHeaderValue" | "http.setMaxIdleHTTPParsers" | "http.Agent" | "http.ClientRequest" | "http.Server" | "http.ServerResponse" | "http.IncomingMessage" | "http.OutgoingMessage" | "http.WebSocket" | "_http_agent" | "_http_client" | "_http_common" | "_http_incoming" | "_http_outgoing" | "_http_server" | "https" | "https.globalAgent" | "https.createServer" | "https.get" | "https.request" | "https.Agent" | "https.Server" | "inspector" | "inspector.Session" | "inspector.Network.dataReceived" | "inspector.Network.dataSent" | "inspector.Network.loadingFailed" | "inspector.Network.loadingFinished" | "inspector.Network.requestWillBeSent" | "inspector.Network.responseReceived" | "inspector.NetworkResources.put" | "inspector.console" | "inspector.close" | "inspector.open" | "inspector.url" | "inspector.waitForDebugger" | "inspector/promises" | "inspector/promises.Session" | "inspector/promises.Network.dataReceived" | "inspector/promises.Network.dataSent" | "inspector/promises.Network.loadingFailed" | "inspector/promises.Network.loadingFinished" | "inspector/promises.Network.requestWillBeSent" | "inspector/promises.Network.responseReceived" | "inspector/promises.NetworkResources.put" | "inspector/promises.console" | "inspector/promises.close" | "inspector/promises.open" | "inspector/promises.url" | "inspector/promises.waitForDebugger" | "module.builtinModules" | "module.constants.compileCacheStatus" | "module.createRequire" | "module.createRequireFromPath" | "module.enableCompileCache" | "module.findPackageJSON" | "module.flushCompileCache" | "module.getCompileCacheDir" | "module.getSourceMapsSupport" | "module.isBuiltin" | "module.registerHooks" | "module.register" | "module.setSourceMapsSupport" | "module.stripTypeScriptTypes" | "module.syncBuiltinESMExports" | "module.findSourceMap" | "module.SourceMap" | "module.Module.builtinModules" | "module.Module.createRequire" | "module.Module.createRequireFromPath" | "module.Module.enableCompileCache" | "module.Module.findPackageJSON" | "module.Module.flushCompileCache" | "module.Module.getCompileCacheDir" | "module.Module.getSourceMapsSupport" | "module.Module.isBuiltin" | "module.Module.registerHooks" | "module.Module.register" | "module.Module.setSourceMapsSupport" | "module.Module.stripTypeScriptTypes" | "module.Module.syncBuiltinESMExports" | "module.Module.findSourceMap" | "module.Module.SourceMap" | "net" | "net.connect" | "net.createConnection" | "net.createServer" | "net.getDefaultAutoSelectFamily" | "net.setDefaultAutoSelectFamily" | "net.getDefaultAutoSelectFamilyAttemptTimeout" | "net.setDefaultAutoSelectFamilyAttemptTimeout" | "net.isIP" | "net.isIPv4" | "net.isIPv6" | "net.BlockList" | "net.BlockList.isBlockList" | "net.SocketAddress" | "net.SocketAddress.parse" | "net.Server" | "net.Socket" | "os" | "os.EOL" | "os.constants" | "os.constants.priority" | "os.devNull" | "os.availableParallelism" | "os.arch" | "os.cpus" | "os.endianness" | "os.freemem" | "os.getPriority" | "os.homedir" | "os.hostname" | "os.loadavg" | "os.machine" | "os.networkInterfaces" | "os.platform" | "os.release" | "os.setPriority" | "os.tmpdir" | "os.totalmem" | "os.type" | "os.uptime" | "os.userInfo" | "os.version" | "path" | "path.posix" | "path.posix.delimiter" | "path.posix.sep" | "path.posix.basename" | "path.posix.dirname" | "path.posix.extname" | "path.posix.format" | "path.posix.matchesGlob" | "path.posix.isAbsolute" | "path.posix.join" | "path.posix.normalize" | "path.posix.parse" | "path.posix.relative" | "path.posix.resolve" | "path.posix.toNamespacedPath" | "path.win32" | "path.win32.delimiter" | "path.win32.sep" | "path.win32.basename" | "path.win32.dirname" | "path.win32.extname" | "path.win32.format" | "path.win32.matchesGlob" | "path.win32.isAbsolute" | "path.win32.join" | "path.win32.normalize" | "path.win32.parse" | "path.win32.relative" | "path.win32.resolve" | "path.win32.toNamespacedPath" | "path.delimiter" | "path.sep" | "path.basename" | "path.dirname" | "path.extname" | "path.format" | "path.matchesGlob" | "path.isAbsolute" | "path.join" | "path.normalize" | "path.parse" | "path.relative" | "path.resolve" | "path.toNamespacedPath" | "path/posix" | "path/posix.delimiter" | "path/posix.sep" | "path/posix.basename" | "path/posix.dirname" | "path/posix.extname" | "path/posix.format" | "path/posix.matchesGlob" | "path/posix.isAbsolute" | "path/posix.join" | "path/posix.normalize" | "path/posix.parse" | "path/posix.relative" | "path/posix.resolve" | "path/posix.toNamespacedPath" | "path/win32" | "path/win32.delimiter" | "path/win32.sep" | "path/win32.basename" | "path/win32.dirname" | "path/win32.extname" | "path/win32.format" | "path/win32.matchesGlob" | "path/win32.isAbsolute" | "path/win32.join" | "path/win32.normalize" | "path/win32.parse" | "path/win32.relative" | "path/win32.resolve" | "path/win32.toNamespacedPath" | "perf_hooks" | "perf_hooks.performance" | "perf_hooks.performance.clearMarks" | "perf_hooks.performance.clearMeasures" | "perf_hooks.performance.clearResourceTimings" | "perf_hooks.performance.eventLoopUtilization" | "perf_hooks.performance.getEntries" | "perf_hooks.performance.getEntriesByName" | "perf_hooks.performance.getEntriesByType" | "perf_hooks.performance.mark" | "perf_hooks.performance.markResourceTiming" | "perf_hooks.performance.measure" | "perf_hooks.performance.nodeTiming" | "perf_hooks.performance.nodeTiming.bootstrapComplete" | "perf_hooks.performance.nodeTiming.environment" | "perf_hooks.performance.nodeTiming.idleTime" | "perf_hooks.performance.nodeTiming.loopExit" | "perf_hooks.performance.nodeTiming.loopStart" | "perf_hooks.performance.nodeTiming.nodeStart" | "perf_hooks.performance.nodeTiming.uvMetricsInfo" | "perf_hooks.performance.nodeTiming.v8Start" | "perf_hooks.performance.now" | "perf_hooks.performance.onresourcetimingbufferfull" | "perf_hooks.performance.setResourceTimingBufferSize" | "perf_hooks.performance.timeOrigin" | "perf_hooks.performance.timerify" | "perf_hooks.performance.toJSON" | "perf_hooks.createHistogram" | "perf_hooks.monitorEventLoopDelay" | "perf_hooks.PerformanceEntry" | "perf_hooks.PerformanceMark" | "perf_hooks.PerformanceMeasure" | "perf_hooks.PerformanceNodeEntry" | "perf_hooks.PerformanceNodeTiming" | "perf_hooks.PerformanceResourceTiming" | "perf_hooks.PerformanceObserver" | "perf_hooks.PerformanceObserverEntryList" | "perf_hooks.Histogram" | "perf_hooks.IntervalHistogram" | "perf_hooks.RecordableHistogram" | "punycode" | "punycode.ucs2" | "punycode.version" | "punycode.decode" | "punycode.encode" | "punycode.toASCII" | "punycode.toUnicode" | "querystring" | "querystring.decode" | "querystring.encode" | "querystring.escape" | "querystring.parse" | "querystring.stringify" | "querystring.unescape" | "readline" | "readline.promises" | "readline.promises.createInterface" | "readline.promises.Interface" | "readline.promises.Readline" | "readline.clearLine" | "readline.clearScreenDown" | "readline.createInterface" | "readline.cursorTo" | "readline.moveCursor" | "readline.Interface" | "readline.emitKeypressEvents" | "readline.InterfaceConstructor" | "readline/promises" | "readline/promises.createInterface" | "readline/promises.Interface" | "readline/promises.Readline" | "repl" | "repl.start" | "repl.writer" | "repl.REPLServer()" | "repl.REPLServer" | "repl.REPL_MODE_MAGIC" | "repl.REPL_MODE_SLOPPY" | "repl.REPL_MODE_STRICT" | "repl.Recoverable()" | "repl.Recoverable" | "repl.builtinModules" | "sea" | "sea.isSea" | "sea.getAsset" | "sea.getAssetAsBlob" | "sea.getRawAsset" | "sea.sea.isSea" | "sea.sea.getAsset" | "sea.sea.getAssetAsBlob" | "sea.sea.getRawAsset" | "stream" | "stream.promises" | "stream.promises.pipeline" | "stream.promises.finished" | "stream.finished" | "stream.pipeline" | "stream.compose" | "stream.duplexPair" | "stream.Readable" | "stream.Readable.from" | "stream.Readable.isDisturbed" | "stream.Readable.fromWeb" | "stream.Readable.toWeb" | "stream.Writable" | "stream.Writable.fromWeb" | "stream.Writable.toWeb" | "stream.Duplex" | "stream.Duplex.from" | "stream.Duplex.fromWeb" | "stream.Duplex.toWeb" | "stream.Transform" | "stream.isErrored" | "stream.isReadable" | "stream.addAbortSignal" | "stream.getDefaultHighWaterMark" | "stream.setDefaultHighWaterMark" | "stream/promises.pipeline" | "stream/promises.finished" | "stream/web" | "stream/web.ReadableStream" | "stream/web.ReadableStream.from" | "stream/web.ReadableStreamDefaultReader" | "stream/web.ReadableStreamBYOBReader" | "stream/web.ReadableStreamDefaultController" | "stream/web.ReadableByteStreamController" | "stream/web.ReadableStreamBYOBRequest" | "stream/web.WritableStream" | "stream/web.WritableStreamDefaultWriter" | "stream/web.WritableStreamDefaultController" | "stream/web.TransformStream" | "stream/web.TransformStreamDefaultController" | "stream/web.ByteLengthQueuingStrategy" | "stream/web.CountQueuingStrategy" | "stream/web.TextEncoderStream" | "stream/web.TextDecoderStream" | "stream/web.CompressionStream" | "stream/web.DecompressionStream" | "stream/consumers" | "stream/consumers.arrayBuffer" | "stream/consumers.blob" | "stream/consumers.buffer" | "stream/consumers.json" | "stream/consumers.text" | "string_decoder" | "string_decoder.StringDecoder" | "sqlite" | "sqlite.constants" | "sqlite.constants.SQLITE_CHANGESET_OMIT" | "sqlite.constants.SQLITE_CHANGESET_REPLACE" | "sqlite.constants.SQLITE_CHANGESET_ABORT" | "sqlite.backup" | "sqlite.DatabaseSync" | "sqlite.StatementSync" | "sqlite.SQLITE_CHANGESET_OMIT" | "sqlite.SQLITE_CHANGESET_REPLACE" | "sqlite.SQLITE_CHANGESET_ABORT" | "test" | "test.after" | "test.afterEach" | "test.assert" | "test.assert.register" | "test.before" | "test.beforeEach" | "test.describe" | "test.describe.only" | "test.describe.skip" | "test.describe.todo" | "test.it" | "test.it.only" | "test.it.skip" | "test.it.todo" | "test.mock" | "test.mock.fn" | "test.mock.getter" | "test.mock.method" | "test.mock.module" | "test.mock.reset" | "test.mock.restoreAll" | "test.mock.setter" | "test.mock.timers" | "test.mock.timers.enable" | "test.mock.timers.reset" | "test.mock.timers.tick" | "test.only" | "test.run" | "test.snapshot" | "test.snapshot.setDefaultSnapshotSerializers" | "test.snapshot.setResolveSnapshotPath" | "test.skip" | "test.suite" | "test.test" | "test.test.only" | "test.test.skip" | "test.test.todo" | "test.todo" | "timers" | "timers.Immediate" | "timers.Timeout" | "timers.setImmediate" | "timers.clearImmediate" | "timers.setInterval" | "timers.clearInterval" | "timers.setTimeout" | "timers.clearTimeout" | "timers.promises" | "timers.promises.setTimeout" | "timers.promises.setImmediate" | "timers.promises.setInterval" | "timers.promises.scheduler.wait" | "timers.promises.scheduler.yield" | "timers/promises" | "timers/promises.setTimeout" | "timers/promises.setImmediate" | "timers/promises.setInterval" | "timers/promises.scheduler.wait" | "timers/promises.scheduler.yield" | "tls" | "tls.checkServerIdentity" | "tls.connect" | "tls.createSecureContext" | "tls.createSecurePair" | "tls.createServer" | "tls.CryptoStream" | "tls.DEFAULT_CIPHERS" | "tls.DEFAULT_ECDH_CURVE" | "tls.DEFAULT_MAX_VERSION" | "tls.DEFAULT_MIN_VERSION" | "tls.getCACertificates" | "tls.getCiphers" | "tls.rootCertificates" | "tls.SecureContext" | "tls.SecurePair" | "tls.Server" | "tls.setDefaultCACertificates" | "tls.TLSSocket" | "trace_events" | "trace_events.createTracing" | "trace_events.getEnabledCategories" | "tty" | "tty.isatty" | "tty.ReadStream" | "tty.WriteStream" | "url" | "url.domainToASCII" | "url.domainToUnicode" | "url.fileURLToPath" | "url.format" | "url.pathToFileURL" | "url.urlToHttpOptions" | "url.URL" | "url.URL.canParse" | "url.URL.createObjectURL" | "url.URL.revokeObjectURL" | "url.URLPattern" | "url.URLSearchParams" | "url.Url" | "util.promisify" | "util.promisify.custom" | "util.callbackify" | "util.debuglog" | "util.debug" | "util.deprecate" | "util.diff" | "util.format" | "util.formatWithOptions" | "util.getCallSite" | "util.getCallSites" | "util.getSystemErrorName" | "util.getSystemErrorMap" | "util.getSystemErrorMessage" | "util.inherits" | "util.inspect" | "util.inspect.custom" | "util.inspect.defaultOptions" | "util.inspect.replDefaults" | "util.isDeepStrictEqual" | "util.parseArgs" | "util.parseEnv" | "util.setTraceSigInt" | "util.stripVTControlCharacters" | "util.styleText" | "util.toUSVString" | "util.transferableAbortController" | "util.transferableAbortSignal" | "util.aborted" | "util.MIMEType" | "util.MIMEParams" | "util.TextDecoder" | "util.TextEncoder" | "util.types" | "util.types.isExternal" | "util.types.isDate" | "util.types.isArgumentsObject" | "util.types.isBigIntObject" | "util.types.isBooleanObject" | "util.types.isNumberObject" | "util.types.isStringObject" | "util.types.isSymbolObject" | "util.types.isNativeError" | "util.types.isRegExp" | "util.types.isAsyncFunction" | "util.types.isGeneratorFunction" | "util.types.isGeneratorObject" | "util.types.isPromise" | "util.types.isMap" | "util.types.isSet" | "util.types.isMapIterator" | "util.types.isSetIterator" | "util.types.isWeakMap" | "util.types.isWeakSet" | "util.types.isArrayBuffer" | "util.types.isDataView" | "util.types.isSharedArrayBuffer" | "util.types.isProxy" | "util.types.isModuleNamespaceObject" | "util.types.isAnyArrayBuffer" | "util.types.isBoxedPrimitive" | "util.types.isArrayBufferView" | "util.types.isTypedArray" | "util.types.isUint8Array" | "util.types.isUint8ClampedArray" | "util.types.isUint16Array" | "util.types.isUint32Array" | "util.types.isInt8Array" | "util.types.isInt16Array" | "util.types.isInt32Array" | "util.types.isFloat16Array" | "util.types.isFloat32Array" | "util.types.isFloat64Array" | "util.types.isBigInt64Array" | "util.types.isBigUint64Array" | "util.types.isKeyObject" | "util.types.isCryptoKey" | "util.types.isWebAssemblyCompiledModule" | "util._extend" | "util.isArray" | "util.isBoolean" | "util.isBuffer" | "util.isDate" | "util.isError" | "util.isFunction" | "util.isNull" | "util.isNullOrUndefined" | "util.isNumber" | "util.isObject" | "util.isPrimitive" | "util.isRegExp" | "util.isString" | "util.isSymbol" | "util.isUndefined" | "util.log" | "util" | "util/types" | "util/types.isExternal" | "util/types.isDate" | "util/types.isArgumentsObject" | "util/types.isBigIntObject" | "util/types.isBooleanObject" | "util/types.isNumberObject" | "util/types.isStringObject" | "util/types.isSymbolObject" | "util/types.isNativeError" | "util/types.isRegExp" | "util/types.isAsyncFunction" | "util/types.isGeneratorFunction" | "util/types.isGeneratorObject" | "util/types.isPromise" | "util/types.isMap" | "util/types.isSet" | "util/types.isMapIterator" | "util/types.isSetIterator" | "util/types.isWeakMap" | "util/types.isWeakSet" | "util/types.isArrayBuffer" | "util/types.isDataView" | "util/types.isSharedArrayBuffer" | "util/types.isProxy" | "util/types.isModuleNamespaceObject" | "util/types.isAnyArrayBuffer" | "util/types.isBoxedPrimitive" | "util/types.isArrayBufferView" | "util/types.isTypedArray" | "util/types.isUint8Array" | "util/types.isUint8ClampedArray" | "util/types.isUint16Array" | "util/types.isUint32Array" | "util/types.isInt8Array" | "util/types.isInt16Array" | "util/types.isInt32Array" | "util/types.isFloat16Array" | "util/types.isFloat32Array" | "util/types.isFloat64Array" | "util/types.isBigInt64Array" | "util/types.isBigUint64Array" | "util/types.isKeyObject" | "util/types.isCryptoKey" | "util/types.isWebAssemblyCompiledModule" | "v8" | "v8.serialize" | "v8.deserialize" | "v8.Serializer" | "v8.Deserializer" | "v8.DefaultSerializer" | "v8.DefaultDeserializer" | "v8.promiseHooks" | "v8.promiseHooks.onInit" | "v8.promiseHooks.onSettled" | "v8.promiseHooks.onBefore" | "v8.promiseHooks.onAfter" | "v8.promiseHooks.createHook" | "v8.startupSnapshot" | "v8.startupSnapshot.addSerializeCallback" | "v8.startupSnapshot.addDeserializeCallback" | "v8.startupSnapshot.setDeserializeMainFunction" | "v8.startupSnapshot.isBuildingSnapshot" | "v8.cachedDataVersionTag" | "v8.getHeapCodeStatistics" | "v8.getHeapSnapshot" | "v8.getHeapSpaceStatistics" | "v8.getHeapStatistics" | "v8.isStringOneByteRepresentation" | "v8.queryObjects" | "v8.setFlagsFromString" | "v8.stopCoverage" | "v8.takeCoverage" | "v8.writeHeapSnapshot" | "v8.setHeapSnapshotNearHeapLimit" | "v8.GCProfiler" | "vm.constants" | "vm.compileFunction" | "vm.createContext" | "vm.isContext" | "vm.measureMemory" | "vm.runInContext" | "vm.runInNewContext" | "vm.runInThisContext" | "vm.Script" | "vm.Module" | "vm.SourceTextModule" | "vm.SyntheticModule" | "vm" | "wasi.WASI" | "wasi" | "worker_threads" | "worker_threads.parentPort" | "worker_threads.resourceLimits" | "worker_threads.SHARE_ENV" | "worker_threads.threadId" | "worker_threads.workerData" | "worker_threads.getEnvironmentData" | "worker_threads.getHeapStatistics" | "worker_threads.markAsUncloneable" | "worker_threads.markAsUntransferable" | "worker_threads.isInternalThread" | "worker_threads.isMainThread" | "worker_threads.isMarkedAsUntransferable" | "worker_threads.moveMessagePortToContext" | "worker_threads.postMessageToThread" | "worker_threads.receiveMessageOnPort" | "worker_threads.setEnvironmentData" | "worker_threads.BroadcastChannel" | "worker_threads.MessageChannel" | "worker_threads.MessagePort" | "worker_threads.Worker" | "zlib.brotliCompress" | "zlib.brotliCompressSync" | "zlib.brotliDecompress" | "zlib.brotliDecompressSync" | "zlib.constants" | "zlib.constants.ZSTD_e_continue" | "zlib.constants.ZSTD_e_flush" | "zlib.constants.ZSTD_e_end" | "zlib.constants.ZSTD_fast" | "zlib.constants.ZSTD_dfast" | "zlib.constants.ZSTD_greedy" | "zlib.constants.ZSTD_lazy" | "zlib.constants.ZSTD_lazy2" | "zlib.constants.ZSTD_btlazy2" | "zlib.constants.ZSTD_btopt" | "zlib.constants.ZSTD_btultra" | "zlib.constants.ZSTD_btultra2" | "zlib.constants.ZSTD_c_compressionLevel" | "zlib.constants.ZSTD_c_windowLog" | "zlib.constants.ZSTD_c_hashLog" | "zlib.constants.ZSTD_c_chainLog" | "zlib.constants.ZSTD_c_searchLog" | "zlib.constants.ZSTD_c_minMatch" | "zlib.constants.ZSTD_c_targetLength" | "zlib.constants.ZSTD_c_strategy" | "zlib.constants.ZSTD_c_enableLongDistanceMatching" | "zlib.constants.ZSTD_c_ldmHashLog" | "zlib.constants.ZSTD_c_ldmMinMatch" | "zlib.constants.ZSTD_c_ldmBucketSizeLog" | "zlib.constants.ZSTD_c_ldmHashRateLog" | "zlib.constants.ZSTD_c_contentSizeFlag" | "zlib.constants.ZSTD_c_checksumFlag" | "zlib.constants.ZSTD_c_dictIDFlag" | "zlib.constants.ZSTD_c_nbWorkers" | "zlib.constants.ZSTD_c_jobSize" | "zlib.constants.ZSTD_c_overlapLog" | "zlib.constants.ZSTD_d_windowLogMax" | "zlib.constants.ZSTD_CLEVEL_DEFAULT" | "zlib.constants.ZSTD_error_no_error" | "zlib.constants.ZSTD_error_GENERIC" | "zlib.constants.ZSTD_error_prefix_unknown" | "zlib.constants.ZSTD_error_version_unsupported" | "zlib.constants.ZSTD_error_frameParameter_unsupported" | "zlib.constants.ZSTD_error_frameParameter_windowTooLarge" | "zlib.constants.ZSTD_error_corruption_detected" | "zlib.constants.ZSTD_error_checksum_wrong" | "zlib.constants.ZSTD_error_literals_headerWrong" | "zlib.constants.ZSTD_error_dictionary_corrupted" | "zlib.constants.ZSTD_error_dictionary_wrong" | "zlib.constants.ZSTD_error_dictionaryCreation_failed" | "zlib.constants.ZSTD_error_parameter_unsupported" | "zlib.constants.ZSTD_error_parameter_combination_unsupported" | "zlib.constants.ZSTD_error_parameter_outOfBound" | "zlib.constants.ZSTD_error_tableLog_tooLarge" | "zlib.constants.ZSTD_error_maxSymbolValue_tooLarge" | "zlib.constants.ZSTD_error_maxSymbolValue_tooSmall" | "zlib.constants.ZSTD_error_stabilityCondition_notRespected" | "zlib.constants.ZSTD_error_stage_wrong" | "zlib.constants.ZSTD_error_init_missing" | "zlib.constants.ZSTD_error_memory_allocation" | "zlib.constants.ZSTD_error_workSpace_tooSmall" | "zlib.constants.ZSTD_error_dstSize_tooSmall" | "zlib.constants.ZSTD_error_srcSize_wrong" | "zlib.constants.ZSTD_error_dstBuffer_null" | "zlib.constants.ZSTD_error_noForwardProgress_destFull" | "zlib.constants.ZSTD_error_noForwardProgress_inputEmpty" | "zlib.crc32" | "zlib.createBrotliCompress" | "zlib.createBrotliDecompress" | "zlib.createDeflate" | "zlib.createDeflateRaw" | "zlib.createGunzip" | "zlib.createGzip" | "zlib.createInflate" | "zlib.createInflateRaw" | "zlib.createUnzip" | "zlib.createZstdCompress" | "zlib.createZstdDecompress" | "zlib.deflate" | "zlib.deflateRaw" | "zlib.deflateRawSync" | "zlib.deflateSync" | "zlib.gunzip" | "zlib.gunzipSync" | "zlib.gzip" | "zlib.gzipSync" | "zlib.inflate" | "zlib.inflateRaw" | "zlib.inflateRawSync" | "zlib.inflateSync" | "zlib.unzip" | "zlib.unzipSync" | "zlib.zstdCompress" | "zlib.zstdCompressSync" | "zlib.zstdDecompress" | "zlib.zstdDecompressSync" | "zlib.BrotliCompress()" | "zlib.BrotliCompress" | "zlib.BrotliDecompress()" | "zlib.BrotliDecompress" | "zlib.Deflate()" | "zlib.Deflate" | "zlib.DeflateRaw()" | "zlib.DeflateRaw" | "zlib.Gunzip()" | "zlib.Gunzip" | "zlib.Gzip()" | "zlib.Gzip" | "zlib.Inflate()" | "zlib.Inflate" | "zlib.InflateRaw()" | "zlib.InflateRaw" | "zlib.Unzip()" | "zlib.Unzip" | "zlib.ZstdCompress" | "zlib.ZstdDecompress" | "zlib.ZstdOptions" | "zlib" | "import.meta.resolve" | "import.meta.dirname" | "import.meta.filename" | "import.meta.main")[];
}];
// ----- n/prefer-global/buffer -----
type NPreferGlobalBuffer = [] | [("always" | "never")];
// ----- n/prefer-global/console -----
type NPreferGlobalConsole = [] | [("always" | "never")];
// ----- n/prefer-global/process -----
type NPreferGlobalProcess = [] | [("always" | "never")];
// ----- n/prefer-global/text-decoder -----
type NPreferGlobalTextDecoder = [] | [("always" | "never")];
// ----- n/prefer-global/text-encoder -----
type NPreferGlobalTextEncoder = [] | [("always" | "never")];
// ----- n/prefer-global/url -----
type NPreferGlobalUrl = [] | [("always" | "never")];
// ----- n/prefer-global/url-search-params -----
type NPreferGlobalUrlSearchParams = [] | [("always" | "never")];
// ----- n/prefer-node-protocol -----
type NPreferNodeProtocol = [] | [{
version?: string;
}];
// ----- n/shebang -----
type NShebang = [] | [{
convertPath?: ({
[k: string]: [string, string];
} | [{
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
}, ...({
include: [string, ...(string)[]];
exclude?: string[];
replace: [string, string];
})[]]);
ignoreUnpublished?: boolean;
additionalExecutables?: string[];
executableMap?: {
[k: string]: string;
};
}];
// ----- 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-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" | "spread");
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("literal" | "spread");
})[]];
} | {
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" | "spread");
})[];
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));
};
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);
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);
sortByValue?: ("always" | "ifNumericEnum" | "never");
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);
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);
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);
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");
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));
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);
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));
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));
};
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);
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);
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);
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));
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");
};
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?: ("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");
};
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?: ("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");
};
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));
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));
declarationMatchesPattern?: (({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string)[] | ({
scope?: ("shallow" | "deep");
pattern: string;
flags?: string;
} | string));
};
styledComponents?: 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" | "spread");
}, ...({
elementNamePattern?: (({
pattern: string;
flags?: string;
} | string)[] | ({
pattern: string;
flags?: string;
} | string));
selector?: ("literal" | "spread");
})[]];
} | {
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" | "spread");
})[];
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));
};
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);
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);
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;
}];
// ----- playwright/expect-expect -----
type PlaywrightExpectExpect = [] | [{
assertFunctionNames?: [] | [string];
assertFunctionPatterns?: [] | [string];
}];
// ----- playwright/max-expects -----
type PlaywrightMaxExpects = [] | [{
max?: number;
}];
// ----- playwright/max-nested-describe -----
type PlaywrightMaxNestedDescribe = [] | [{
max?: number;
}];
// ----- playwright/missing-playwright-await -----
type PlaywrightMissingPlaywrightAwait = [] | [{
customMatchers?: string[];
}];
// ----- playwright/no-hooks -----
type PlaywrightNoHooks = [] | [{
allow?: unknown[];
}];
// ----- playwright/no-raw-locators -----
type PlaywrightNoRawLocators = [] | [{
allowed?: string[];
}];
// ----- playwright/no-restricted-matchers -----
type PlaywrightNoRestrictedMatchers = [] | [{
[k: string]: (string | null) | undefined;
}];
// ----- playwright/no-skipped-test -----
type PlaywrightNoSkippedTest = [] | [{
allowConditional?: boolean;
}];
// ----- playwright/no-slowed-test -----
type PlaywrightNoSlowedTest = [] | [{
allowConditional?: boolean;
}];
// ----- playwright/prefer-lowercase-title -----
type PlaywrightPreferLowercaseTitle = [] | [{
allowedPrefixes?: string[];
ignore?: ("test.describe" | "test")[];
ignoreTopLevelDescribe?: boolean;
}];
// ----- playwright/prefer-native-locators -----
type PlaywrightPreferNativeLocators = [] | [{
testIdAttribute?: string;
}];
// ----- playwright/require-hook -----
type PlaywrightRequireHook = [] | [{
allowedFunctionCalls?: string[];
}];
// ----- playwright/require-top-level-describe -----
type PlaywrightRequireTopLevelDescribe = [] | [{
maxTopLevelDescribes?: number;
}];
// ----- playwright/valid-expect -----
type PlaywrightValidExpect = [] | [{
maxArgs?: number;
minArgs?: number;
}];
// ----- playwright/valid-test-tags -----
type PlaywrightValidTestTags = [] | [{
allowedTags?: (string | {
source?: string;
})[];
disallowedTags?: (string | {
source?: string;
})[];
}];
// ----- playwright/valid-title -----
type PlaywrightValidTitle = [] | [{
disallowedWords?: string[];
ignoreSpaces?: boolean;
ignoreTypeOfDescribeName?: boolean;
ignoreTypeOfStepName?: boolean;
ignoreTypeOfTestName?: boolean;
[k: string]: (string | [string] | [string, string] | {
[k: string]: (string | [string] | [string, string]) | undefined;
});
}];
// ----- 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")];
// ----- react-compiler/react-compiler -----
type ReactCompilerReactCompiler = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-dom/no-unknown-property -----
type ReactDomNoUnknownProperty = [] | [{
ignore?: string[];
requireDataLowercase?: boolean;
}];
// ----- react-hooks/automatic-effect-dependencies -----
type ReactHooksAutomaticEffectDependencies = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/capitalized-calls -----
type ReactHooksCapitalizedCalls = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/component-hook-factories -----
type ReactHooksComponentHookFactories = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/config -----
type ReactHooksConfig = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/error-boundaries -----
type ReactHooksErrorBoundaries = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/exhaustive-deps -----
type ReactHooksExhaustiveDeps = [] | [{
additionalHooks?: string;
enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
experimental_autoDependenciesHooks?: string[];
requireExplicitEffectDeps?: boolean;
}];
// ----- react-hooks/fbt -----
type ReactHooksFbt = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/fire -----
type ReactHooksFire = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/gating -----
type ReactHooksGating = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/globals -----
type ReactHooksGlobals = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/hooks -----
type ReactHooksHooks = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/immutability -----
type ReactHooksImmutability = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/incompatible-library -----
type ReactHooksIncompatibleLibrary = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/invariant -----
type ReactHooksInvariant = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/memoized-effect-dependencies -----
type ReactHooksMemoizedEffectDependencies = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/no-deriving-state-in-effects -----
type ReactHooksNoDerivingStateInEffects = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/preserve-manual-memoization -----
type ReactHooksPreserveManualMemoization = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/purity -----
type ReactHooksPurity = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/refs -----
type ReactHooksRefs = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/rule-suppression -----
type ReactHooksRuleSuppression = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/rules-of-hooks -----
type ReactHooksRulesOfHooks = [] | [{
additionalHooks?: string;
}];
// ----- react-hooks/set-state-in-effect -----
type ReactHooksSetStateInEffect = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/set-state-in-render -----
type ReactHooksSetStateInRender = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/static-components -----
type ReactHooksStaticComponents = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/syntax -----
type ReactHooksSyntax = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/todo -----
type ReactHooksTodo = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/unsupported-syntax -----
type ReactHooksUnsupportedSyntax = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/use-memo -----
type ReactHooksUseMemo = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-hooks/void-use-memo -----
type ReactHooksVoidUseMemo = [] | [{
[k: string]: unknown | undefined;
}];
// ----- react-naming-convention/component-name -----
type ReactNamingConventionComponentName = [] | [(("PascalCase" | "CONSTANT_CASE") | {
allowAllCaps?: boolean;
excepts?: string[];
rule?: ("PascalCase" | "CONSTANT_CASE");
})];
// ----- react-naming-convention/filename -----
type ReactNamingConventionFilename = [] | [(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
excepts?: string[];
extensions?: string[];
rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case");
})];
// ----- react-naming-convention/filename-extension -----
type ReactNamingConventionFilenameExtension = [] | [(("always" | "as-needed") | {
allow?: ("always" | "as-needed");
extensions?: string[];
ignoreFilesWithoutCode?: boolean;
})];
// ----- react-naming-convention/use-state -----
type ReactNamingConventionUseState = [] | [{
enforceAssignment?: boolean;
enforceSetterName?: boolean;
}];
// ----- react-refresh/only-export-components -----
type ReactRefreshOnlyExportComponents = [] | [{
allowExportNames?: string[];
allowConstantExport?: boolean;
customHOCs?: string[];
checkJS?: boolean;
}];
// ----- react-x/jsx-shorthand-boolean -----
type ReactXJsxShorthandBoolean = [] | [(-1 | 1)];
// ----- react-x/jsx-shorthand-fragment -----
type ReactXJsxShorthandFragment = [] | [(-1 | 1)];
// ----- react-x/no-forbidden-props -----
type ReactXNoForbiddenProps = [] | [{
forbid?: (string | {
excludedNodes?: string[];
prop: string;
} | {
includedNodes?: string[];
prop: string;
})[];
}];
// ----- react-x/no-unstable-default-props -----
type ReactXNoUnstableDefaultProps = [] | [{
safeDefaultProps?: string[];
}];
// ----- react-x/no-useless-fragment -----
type ReactXNoUselessFragment = [] | [{
allowEmptyFragment?: boolean;
allowExpressions?: boolean;
}];
// ----- regexp/hexadecimal-escape -----
type RegexpHexadecimalEscape = [] | [("always" | "never")];
// ----- regexp/letter-case -----
type RegexpLetterCase = [] | [{
caseInsensitive?: ("lowercase" | "uppercase" | "ignore");
unicodeEscape?: ("lowercase" | "uppercase" | "ignore");
hexadecimalEscape?: ("lowercase" | "uppercase" | "ignore");
controlEscape?: ("lowercase" | "uppercase" | "ignore");
}];
// ----- regexp/match-any -----
type RegexpMatchAny = [] | [{
allows?: [("[\\s\\S]" | "[\\S\\s]" | "[^]" | "dotAll"), ...(("[\\s\\S]" | "[\\S\\s]" | "[^]" | "dotAll"))[]];
}];
// ----- regexp/no-dupe-disjunctions -----
type RegexpNoDupeDisjunctions = [] | [{
report?: ("all" | "trivial" | "interesting");
reportExponentialBacktracking?: ("none" | "certain" | "potential");
reportUnreachable?: ("certain" | "potential");
}];
// ----- regexp/no-lazy-ends -----
type RegexpNoLazyEnds = [] | [{
ignorePartial?: boolean;
}];
// ----- regexp/no-legacy-features -----
type RegexpNoLegacyFeatures = [] | [{
staticProperties?: ("input" | "$_" | "lastMatch" | "$&" | "lastParen" | "$+" | "leftContext" | "$`" | "rightContext" | "$'" | "$1" | "$2" | "$3" | "$4" | "$5" | "$6" | "$7" | "$8" | "$9")[];
prototypeMethods?: ("compile")[];
}];
// ----- regexp/no-misleading-capturing-group -----
type RegexpNoMisleadingCapturingGroup = [] | [{
reportBacktrackingEnds?: boolean;
}];
// ----- regexp/no-misleading-unicode-character -----
type RegexpNoMisleadingUnicodeCharacter = [] | [{
fixable?: boolean;
}];
// ----- regexp/no-missing-g-flag -----
type RegexpNoMissingGFlag = [] | [{
strictTypes?: boolean;
}];
// ----- regexp/no-obscure-range -----
type RegexpNoObscureRange = [] | [{
allowed?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
}];
// ----- regexp/no-super-linear-backtracking -----
type RegexpNoSuperLinearBacktracking = [] | [{
report?: ("certain" | "potential");
}];
// ----- regexp/no-super-linear-move -----
type RegexpNoSuperLinearMove = [] | [{
report?: ("certain" | "potential");
ignoreSticky?: boolean;
ignorePartial?: boolean;
}];
// ----- regexp/no-unused-capturing-group -----
type RegexpNoUnusedCapturingGroup = [] | [{
fixable?: boolean;
allowNamed?: boolean;
}];
// ----- regexp/no-useless-character-class -----
type RegexpNoUselessCharacterClass = [] | [{
ignores?: string[];
}];
// ----- regexp/no-useless-flag -----
type RegexpNoUselessFlag = [] | [{
ignore?: ("i" | "m" | "s" | "g" | "y")[];
strictTypes?: boolean;
}];
// ----- regexp/no-useless-non-capturing-group -----
type RegexpNoUselessNonCapturingGroup = [] | [{
allowTop?: (boolean | ("always" | "never" | "partial"));
}];
// ----- regexp/optimal-quantifier-concatenation -----
type RegexpOptimalQuantifierConcatenation = [] | [{
capturingGroups?: ("ignore" | "report");
}];
// ----- regexp/prefer-character-class -----
type RegexpPreferCharacterClass = [] | [{
minAlternatives?: number;
}];
// ----- regexp/prefer-d -----
type RegexpPreferD = [] | [{
insideCharacterClass?: ("ignore" | "range" | "d");
}];
// ----- regexp/prefer-lookaround -----
type RegexpPreferLookaround = [] | [{
lookbehind?: boolean;
strictTypes?: boolean;
}];
// ----- regexp/prefer-named-replacement -----
type RegexpPreferNamedReplacement = [] | [{
strictTypes?: boolean;
}];
// ----- regexp/prefer-quantifier -----
type RegexpPreferQuantifier = [] | [{
allows?: string[];
}];
// ----- regexp/prefer-range -----
type RegexpPreferRange = [] | [{
target?: (("all" | "alphanumeric") | [("all" | "alphanumeric")] | [("alphanumeric" | string), ...(("alphanumeric" | string))[]]);
}];
// ----- regexp/prefer-result-array-groups -----
type RegexpPreferResultArrayGroups = [] | [{
strictTypes?: boolean;
}];
// ----- regexp/sort-character-class-elements -----
type RegexpSortCharacterClassElements = [] | [{
order?: ("\\s" | "\\w" | "\\d" | "\\p" | "*" | "\\q" | "[]")[];
}];
// ----- regexp/unicode-escape -----
type RegexpUnicodeEscape = [] | [("unicodeCodePointEscape" | "unicodeEscape")];
// ----- regexp/unicode-property -----
type RegexpUnicodeProperty = [] | [{
generalCategory?: ("always" | "never" | "ignore");
key?: ("short" | "long" | "ignore");
property?: (("short" | "long" | "ignore") | {
binary?: ("short" | "long" | "ignore");
generalCategory?: ("short" | "long" | "ignore");
script?: ("short" | "long" | "ignore");
});
}];
// ----- 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;
};
}];
// ----- storybook/meta-inline-properties -----
type StorybookMetaInlineProperties = [] | [{
csfVersion?: number;
}];
// ----- storybook/no-uninstalled-addons -----
type StorybookNoUninstalledAddons = [] | [{
packageJsonLocation?: string;
ignore?: string[];
[k: string]: unknown | undefined;
}];
// ----- 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")];
// ----- testing-library/await-async-events -----
type TestingLibraryAwaitAsyncEvents = [] | [{
eventModule?: (("fireEvent" | "userEvent") | ("fireEvent" | "userEvent")[]);
}];
// ----- testing-library/consistent-data-testid -----
type TestingLibraryConsistentDataTestid = [] | [{
testIdPattern: string;
testIdAttribute?: (string | string[]);
customMessage?: string;
}];
// ----- testing-library/no-await-sync-events -----
type TestingLibraryNoAwaitSyncEvents = [] | [{
eventModules?: [("fire-event" | "user-event"), ...(("fire-event" | "user-event"))[]];
}];
// ----- testing-library/no-debugging-utils -----
type TestingLibraryNoDebuggingUtils = [] | [{
utilsToCheckFor?: {
prettyFormat?: boolean;
logDOM?: boolean;
logRoles?: boolean;
prettyDOM?: boolean;
logTestingPlaygroundURL?: boolean;
debug?: boolean;
};
}];
// ----- testing-library/no-dom-import -----
type TestingLibraryNoDomImport = [] | [string];
// ----- testing-library/no-node-access -----
type TestingLibraryNoNodeAccess = [] | [{
allowContainerFirstChild?: boolean;
}];
// ----- testing-library/no-render-in-lifecycle -----
type TestingLibraryNoRenderInLifecycle = [] | [{
allowTestingFrameworkSetupHook?: ("beforeEach" | "beforeAll");
}];
// ----- testing-library/no-unnecessary-act -----
type TestingLibraryNoUnnecessaryAct = [] | [{
isStrict?: boolean;
}];
// ----- testing-library/prefer-explicit-assert -----
type TestingLibraryPreferExplicitAssert = [] | [{
assertion?: ("toBeOnTheScreen" | "toBeInTheDocument" | "toBeTruthy" | "toBeDefined");
includeFindQueries?: boolean;
}];
// ----- testing-library/prefer-presence-queries -----
type TestingLibraryPreferPresenceQueries = [] | [{
presence?: boolean;
absence?: boolean;
}];
// ----- testing-library/prefer-query-matchers -----
type TestingLibraryPreferQueryMatchers = [] | [{
validEntries?: {
query?: ("get" | "query");
matcher?: string;
}[];
}];
// ----- testing-library/prefer-user-event -----
type TestingLibraryPreferUserEvent = [] | [{
allowedMethods?: unknown[];
}];
// ----- 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[];
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/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;
}
// ----- 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-conditional-expect -----
type VitestNoConditionalExpect = [] | [{
expectAssertions?: boolean;
}];
// ----- 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-import-in-mock -----
type VitestPreferImportInMock = [] | [{
fixable?: 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;
});
}];
// ----- 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;
}];
//#endregion
//#region src/types.d.ts
type Base = Linter.Config<Linter.RulesRecord & Rules>;
type ExtractPrefix<T> = T extends `${infer Prefix}/${infer Rest}` ? Rest extends `${string}/${string}` ? `${Prefix}/${ExtractPrefix<Rest>}` : Prefix : never;
type MaybeReadonly<T> = Readonly<T> | T;
type Override<T, R> = Omit<T, keyof R> & R;
type Prettify<T> = { [K in keyof T]: T[K] } & {};
type RulesWithPrefix<T, Prefix$1 extends ValidPrefixes<T>> = { [K in keyof T as K extends `${Prefix$1}${string}` ? K : never]: T[K] };
type ValidPrefixes<T> = ExtractPrefix<keyof T>;
interface LinterConfigOverrides {
files?: MaybeReadonly<Base["files"]>;
ignores?: MaybeReadonly<Base["ignores"]>;
plugins?: Record<string, unknown>;
}
type Rules = RuleOptions;
type TypedConfigItem = Prettify<Override<Base, LinterConfigOverrides>>;
interface VitestOptions {
/**
* How to handle [Vitest global APIs](https://vitest.dev/config/globals.html).
*
* - 'explicit': Require explicit imports from 'vitest'
* - 'implicit': Use implicit global APIs (vitest config globals: true)
* - 'either': Allow both styles (default)
*
* @default 'either'
*/
globals?: "either" | "explicit" | "implicit";
/**
* Additional rules to override Vitest defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "vitest">;
/**
* Indicate whether [Vitest's type testing utilities](https://vitest.dev/guide/testing-types.html) are being used.
*
* @default false
*/
typecheck?: boolean;
}
interface TypeScriptOptions {
/**
* Enable rules for [erasable syntax only](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/#the---erasablesyntaxonly-option).
*
* @default false
*/
erasableSyntaxOnly?: boolean;
/**
* Additional rules to override TypeScript defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "@typescript-eslint" | "erasable-syntax-only">;
}
interface AstroOptions {
/**
* Additional rules to override Astro defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "astro" | "jsx-a11y">;
}
interface JestOptions {
/**
* Additional rules to override Jest defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "jest">;
}
interface NextJSOptions {
/**
* Additional rules to override Next.js defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "@next/next">;
}
interface PlaywrightOptions {
/**
* Additional rules to override Playwright defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "playwright">;
}
interface ReactOptions {
/**
* Additional rules to override React defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "jsx-a11y" | "react-compiler" | "react-dom" | "react-hooks" | "react-hooks-extra" | "react-naming-convention" | "react-refresh" | "react-web-api" | "react-x">;
}
interface StorybookOptions {
/**
* Additional rules to override Storybook defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "storybook">;
}
interface TanstackQueryOptions {
/**
* Additional rules to override TanStack Query defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "@tanstack/query">;
}
interface TestingLibraryOptions {
/**
* Additional rules to override Testing Library defaults.
*/
overrides?: RulesWithPrefix<RuleOptions, "jest-dom" | "testing-library">;
}
interface Options {
/**
* Are Astro rules enabled?
*
* Pass `true` to enable with defaults, or an `AstroOptions` object
* to enable and customize overrides.
*
* @default false
*/
astro?: AstroOptions | boolean;
/**
* Automatically enables rules based on installed dependencies.
* For example, if `react` is installed, React-specific rules will be applied.
*
* @default true
*/
autoDetect?: boolean;
/**
* Respect `.gitignore` files as ignore patterns.
*
* @default false
*/
gitignore?: boolean;
/**
* Glob patterns for files that should be ignored.
* Matches ESLint's ignore patterns.
*
* @see [Ignoring files](https://eslint.org/docs/latest/use/configure/ignore)
*/
ignores?: string[];
/**
* Are Jest rules enabled?
*
* Pass `true` to enable with defaults, or an `JestOptions` object
* to enable and customize overrides.
*
* @default false
*/
jest?: boolean | JestOptions;
/**
* Are Next.js rules enabled?
*
* Pass `true` to enable with defaults, or a `NextJSOptions` object
* to enable and customize overrides.
*
* @default false
*/
nextjs?: boolean | NextJSOptions;
/**
* Additional configs to extend or override rules.
* Accepts ESLint configuration objects.
*
* @default []
*/
overrides?: Linter.Config[] | TypedConfigItem[];
/**
* Are playwright rules enabled?
*
* Pass `true` to enable with defaults, or a `PlaywrightOptions` object
* to enable and customize overrides.
*
* @default false
*/
playwright?: boolean | PlaywrightOptions;
/**
* Are React rules enabled?
*
* Pass `true` to enable with defaults, or a `ReactOptions` object
* to enable and customize overrides.
*
* @default false
*/
react?: boolean | ReactOptions;
/**
* Are Storybook rules enabled?
*
* Pass `true` to enable with defaults, or a `StorybookOptions` object
* to enable and customize overrides.
*
* @default false
*/
storybook?: boolean | StorybookOptions;
/**
* Are TanStack Query rules enabled?
*
* Pass `true` to enable with defaults, or a `TanstackQueryOptions` object
* to enable and customize overrides.
*
* @default false
*/
tanstackQuery?: boolean | TanstackQueryOptions;
/**
* Are Testing Library rules enabled?
*
* Pass `true` to enable with defaults, or a `TestingLibraryOptions` object
* to enable and customize overrides.
*
* @default false
*/
testingLibrary?: boolean | TestingLibraryOptions;
/**
* Are TypeScript rules enabled?
*
* Pass `true` to enable with defaults, or a `TypeScriptOptions` object
* to enable and customize overrides.
*
* @default false
*/
typescript?: boolean | TypeScriptOptions;
/**
* Are Vitest rules enabled?
*
* Pass `true` to enable with defaults, or a `VitestOptions` object
* to enable and customize overrides.
*
* @default false
*/
vitest?: boolean | VitestOptions;
}
//#endregion
//#region src/factory.d.ts
/**
* Generates an ESLint configuration based on the provided options.
*
* @returns The resolved ESLint configuration.
*
* @example
* import { defineConfig } from "@jimmy.codes/eslint-config";
*
* export default defineConfig();
*/
declare const defineConfig: ({
astro,
autoDetect,
gitignore,
ignores,
jest,
nextjs,
overrides,
playwright,
react,
storybook,
tanstackQuery,
testingLibrary,
typescript,
vitest
}?: Options, ...moreOverrides: Linter.Config[] | TypedConfigItem[]) => Promise<any[]>;
//#endregion
export { type AstroOptions, type JestOptions, type NextJSOptions, type Options, type PlaywrightOptions, type ReactOptions, type StorybookOptions, type TanstackQueryOptions as TanStackQueryOptions, type TestingLibraryOptions, type TypeScriptOptions, type TypedConfigItem, type VitestOptions, defineConfig };