@mheob/eslint-config
Version:
My personal configuration for eslint.
1,108 lines (1,105 loc) • 522 kB
TypeScript
import { Linter } from 'eslint';
import { FlatConfigComposer } from 'eslint-flat-config-utils';
import { ParserOptions } from '@typescript-eslint/parser';
import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
/* eslint-disable */
/* prettier-ignore */
interface RuleOptions {
/**
* Enforce getter and setter pairs in objects and classes
* @see https://eslint.org/docs/latest/rules/accessor-pairs
*/
'accessor-pairs'?: Linter.RuleEntry<AccessorPairs>
/**
* Having line breaks styles to object, array and named imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-chaining.md
*/
'antfu/consistent-chaining'?: Linter.RuleEntry<AntfuConsistentChaining>
/**
* Having line breaks styles to object, array and named imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-list-newline.md
*/
'antfu/consistent-list-newline'?: Linter.RuleEntry<AntfuConsistentListNewline>
/**
* Enforce Anthony's style of curly bracket
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/curly.md
*/
'antfu/curly'?: Linter.RuleEntry<[]>
/**
* Newline after if
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/if-newline.md
*/
'antfu/if-newline'?: Linter.RuleEntry<[]>
/**
* Fix duplication in imports
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/import-dedupe.md
*/
'antfu/import-dedupe'?: Linter.RuleEntry<[]>
/**
* Enforce consistent indentation in `unindent` template tag
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/indent-unindent.md
*/
'antfu/indent-unindent'?: Linter.RuleEntry<AntfuIndentUnindent>
/**
* Prevent importing modules in `dist` folder
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-dist.test.ts
*/
'antfu/no-import-dist'?: Linter.RuleEntry<[]>
/**
* Prevent importing modules in `node_modules` folder by relative or absolute path
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-import-node-modules-by-path.test.ts
*/
'antfu/no-import-node-modules-by-path'?: Linter.RuleEntry<[]>
/**
* Prevent using top-level await
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-top-level-await.test.ts
*/
'antfu/no-top-level-await'?: Linter.RuleEntry<[]>
/**
* Do not use `exports =`
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/no-ts-export-equal.test.ts
*/
'antfu/no-ts-export-equal'?: Linter.RuleEntry<[]>
/**
* Enforce top-level functions to be declared with function keyword
* @see https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/top-level-function.md
*/
'antfu/top-level-function'?: Linter.RuleEntry<[]>
/**
* Enforce linebreaks after opening and before closing array brackets
* @see https://eslint.org/docs/latest/rules/array-bracket-newline
* @deprecated
*/
'array-bracket-newline'?: Linter.RuleEntry<ArrayBracketNewline>
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.org/docs/latest/rules/array-bracket-spacing
* @deprecated
*/
'array-bracket-spacing'?: Linter.RuleEntry<ArrayBracketSpacing>
/**
* Enforce `return` statements in callbacks of array methods
* @see https://eslint.org/docs/latest/rules/array-callback-return
*/
'array-callback-return'?: Linter.RuleEntry<ArrayCallbackReturn>
/**
* Enforce line breaks after each array element
* @see https://eslint.org/docs/latest/rules/array-element-newline
* @deprecated
*/
'array-element-newline'?: Linter.RuleEntry<ArrayElementNewline>
/**
* Require braces around arrow function bodies
* @see https://eslint.org/docs/latest/rules/arrow-body-style
*/
'arrow-body-style'?: Linter.RuleEntry<ArrowBodyStyle>
/**
* Require parentheses around arrow function arguments
* @see https://eslint.org/docs/latest/rules/arrow-parens
* @deprecated
*/
'arrow-parens'?: Linter.RuleEntry<ArrowParens>
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.org/docs/latest/rules/arrow-spacing
* @deprecated
*/
'arrow-spacing'?: Linter.RuleEntry<ArrowSpacing>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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<[]>
/**
* 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 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>
/**
* 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>
/**
* require a `eslint-enable` comment for every `eslint-disable` comment
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
*/
'eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommentsDisableEnablePair>
/**
* disallow a `eslint-enable` comment for multiple `eslint-disable` comments
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
*/
'eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>
/**
* disallow duplicate `eslint-disable` comments
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html
*/
'eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>
/**
* disallow `eslint-disable` comments about specific rules
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html
*/
'eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommentsNoRestrictedDisable>
/**
* disallow `eslint-disable` comments without rule names
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
*/
'eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>
/**
* disallow unused `eslint-disable` comments
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html
*/
'eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>
/**
* disallow unused `eslint-enable` comments
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html
*/
'eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>
/**
* disallow ESLint directive-comments
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
*/
'eslint-comments/no-use'?: Linter.RuleEntry<EslintCommentsNoUse>
/**
* require include descriptions in ESLint directive-comments
* @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
*/
'eslint-comments/require-description'?: Linter.RuleEntry<EslintCommentsRequireDescription>
/**
* 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.6.1/docs/rules/consistent-type-specifier-style.md
*/
'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>
/**
* Ensure a default export is present, given a default import.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/default.md
*/
'import/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.6.1/docs/rules/dynamic-import-chunkname.md
*/
'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>
/**
* Forbid any invalid exports, i.e. re-export of the same name.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/export.md
*/
'import/export'?: Linter.RuleEntry<[]>
/**
* Ensure all exports appear after other statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/exports-last.md
*/
'import/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.6.1/docs/rules/extensions.md
*/
'import/extensions'?: Linter.RuleEntry<ImportExtensions>
/**
* Ensure all imports appear before other statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/first.md
*/
'import/first'?: Linter.RuleEntry<ImportFirst>
/**
* Prefer named exports to be grouped together in a single export declaration.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/group-exports.md
*/
'import/group-exports'?: Linter.RuleEntry<[]>
/**
* Replaced by `import-x/first`.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/imports-first.md
* @deprecated
*/
'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>
/**
* Enforce the maximum number of dependencies a module can have.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/max-dependencies.md
*/
'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>
/**
* Ensure named imports correspond to a named export in the remote file.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/named.md
*/
'import/named'?: Linter.RuleEntry<ImportNamed>
/**
* Ensure imported namespaces contain dereferenced properties as they are dereferenced.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/namespace.md
*/
'import/namespace'?: Linter.RuleEntry<ImportNamespace>
/**
* Enforce a newline after import statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/newline-after-import.md
*/
'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>
/**
* Forbid import of modules using absolute paths.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-absolute-path.md
*/
'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>
/**
* Forbid AMD `require` and `define` calls.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-amd.md
*/
'import/no-amd'?: Linter.RuleEntry<[]>
/**
* Forbid anonymous values as default exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-anonymous-default-export.md
*/
'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>
/**
* Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-commonjs.md
*/
'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>
/**
* 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.6.1/docs/rules/no-cycle.md
*/
'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>
/**
* Forbid default exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-default-export.md
*/
'import/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.6.1/docs/rules/no-deprecated.md
*/
'import/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.6.1/docs/rules/no-duplicates.md
*/
'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>
/**
* Forbid `require()` calls with expressions.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-dynamic-require.md
*/
'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>
/**
* Forbid empty named import blocks.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-empty-named-blocks.md
*/
'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>
/**
* Forbid the use of extraneous packages.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-extraneous-dependencies.md
*/
'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>
/**
* Forbid import statements with CommonJS module.exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-import-module-exports.md
*/
'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>
/**
* Forbid importing the submodules of other modules.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-internal-modules.md
*/
'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>
/**
* Forbid the use of mutable exports with `var` or `let`.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-mutable-exports.md
*/
'import/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.6.1/docs/rules/no-named-as-default.md
*/
'import/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.6.1/docs/rules/no-named-as-default-member.md
*/
'import/no-named-as-default-member'?: Linter.RuleEntry<[]>
/**
* Forbid named default exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-default.md
*/
'import/no-named-default'?: Linter.RuleEntry<[]>
/**
* Forbid named exports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-named-export.md
*/
'import/no-named-export'?: Linter.RuleEntry<[]>
/**
* Forbid namespace (a.k.a. "wildcard" `*`) imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-namespace.md
*/
'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>
/**
* Forbid Node.js builtin modules.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-nodejs-modules.md
*/
'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>
/**
* Forbid importing packages through relative paths.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-packages.md
*/
'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>
/**
* Forbid importing modules from parent directories.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-relative-parent-imports.md
*/
'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>
/**
* Forbid importing a default export by a different name.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-rename-default.md
*/
'import/no-rename-default'?: Linter.RuleEntry<ImportNoRenameDefault>
/**
* Enforce which files can be imported in a given folder.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-restricted-paths.md
*/
'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>
/**
* Forbid a module from importing itself.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-self-import.md
*/
'import/no-self-import'?: Linter.RuleEntry<[]>
/**
* Forbid unassigned imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unassigned-import.md
*/
'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>
/**
* Ensure imports point to a file/module that can be resolved.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unresolved.md
*/
'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>
/**
* Forbid modules without exports, or exports without matching import in another module.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-unused-modules.md
*/
'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>
/**
* Forbid unnecessary path segments in import and require statements.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-useless-path-segments.md
*/
'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>
/**
* Forbid webpack loader syntax in imports.
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/no-webpack-loader-syntax.md
*/
'import/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.6.1/docs/rules/order.md
*/
'import/order'?: Linter.RuleEntry<ImportOrder>
/**
* 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.6.1/docs/rules/prefer-default-export.md
*/
'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>
/**
* Forbid potentially ambiguous parse goal (`script` vs. `module`).
* @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.6.1/docs/rules/unambiguous.md
*/
'import/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>
/**
* 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<[]>
/**
* Ensures that (JavaScript) examples within JSDoc 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>
/**
* Ensures that parameter names in JSDoc match those in the function declaration.
* @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 invalid types.
* @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>
/**
* Expects specific tags to be empty of any 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 an issue with any non-constructor function using `@implements`.
* @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>
/**
* Detects and removes extra lines of a blank 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`.
* @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/no-types.md#repos-sticky-header
*/
'jsdoc/no-types'?: Linter.RuleEntry<JsdocNoTypes>
/**
* Checks that types in jsdoc comments are defined.
* @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>
/**
* 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 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 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.
* @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>
/**
* Require JSDoc comments
* @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 that all function parameters are documented.
* @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 function parameters 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.
* @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 function `@property` tags have names.
* @see https://github.com/gajus/eslint-plugin-j