@moso/eslint-config
Version:
moso's shared ESLint config
1,145 lines (1,142 loc) • 668 kB
TypeScript
import { FlatConfigComposer } from 'eslint-flat-config-utils';
import { Linter } from 'eslint';
import { StylisticCustomizeOptions } from '@stylistic/eslint-plugin';
import { ParserOptions } from '@typescript-eslint/parser';
import { FlatGitignoreOptions } from 'eslint-config-flat-gitignore';
import { Options } from 'eslint-processor-vue-blocks';
/* eslint-disable */
/* prettier-ignore */
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>
/**
* Enforces explicit boolean values for boolean attributes.
* @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
*/
'@eslint-react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
/**
* Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax.
* @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
*/
'@eslint-react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
/**
* Disallow `children` in void DOM elements.
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
*/
'@eslint-react/dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
/**
* Disallow `dangerouslySetInnerHTML`.
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
*/
'@eslint-react/dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
/**
* Disallow `dangerouslySetInnerHTML` and `children` at the same time.
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
*/
'@eslint-react/dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
/**
* Disallow `findDOMNode`.
* @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
*/
'@eslint-react/dom/no-find-dom-node'?: Linter.RuleEntry<[]>
/**
* Disallow `flushSync`.
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
*/
'@eslint-react/dom/no-flush-sync'?: Linter.RuleEntry<[]>
/**
* Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`.
* @see https://eslint-react.xyz/docs/rules/dom-no-hydrate
*/
'@eslint-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
*/
'@eslint-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
*/
'@eslint-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
*/
'@eslint-react/dom/no-namespace'?: Linter.RuleEntry<[]>
/**
* Replaces usages of `ReactDom.render()` with `createRoot(node).render()`.
* @see https://eslint-react.xyz/docs/rules/dom-no-render
*/
'@eslint-react/dom/no-render'?: Linter.RuleEntry<[]>
/**
* Disallow the return value of `ReactDOM.render`.
* @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
*/
'@eslint-react/dom/no-render-return-value'?: Linter.RuleEntry<[]>
/**
* Disallow `javascript:` URLs as attribute values.
* @see https://eslint-react.xyz/docs/rules/dom-no-script-url
*/
'@eslint-react/dom/no-script-url'?: Linter.RuleEntry<[]>
/**
* Disallow unknown `DOM` property.
* @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
*/
'@eslint-react/dom/no-unknown-property'?: Linter.RuleEntry<EslintReactDomNoUnknownProperty>
/**
* Enforces `sandbox` attribute for `iframe` elements is not set to unsafe combinations.
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
*/
'@eslint-react/dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
/**
* Disallow `target="_blank"` without `rel="noreferrer noopener"`.
* @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
*/
'@eslint-react/dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
/**
* Replaces usages of `useFormState` with `useActionState`.
* @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state
*/
'@eslint-react/dom/no-use-form-state'?: Linter.RuleEntry<[]>
/**
* Disallow `children` in void DOM elements.
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
*/
'@eslint-react/dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
/**
* Disallow useless `forwardRef` calls on components that don't use `ref`s.
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
*/
'@eslint-react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
/**
* Enforces that a function with the `use` prefix should use at least one Hook inside of it.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
*/
'@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
/**
* Disallow unnecessary usage of `useCallback`.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
*/
'@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
/**
* Disallow unnecessary usage of `useMemo`.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
*/
'@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
/**
* Disallow 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
*/
'@eslint-react/hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>
/**
* Disallow direct calls to the `set` function of `useState` in `useLayoutEffect`.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
*/
'@eslint-react/hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
/**
* Enforces that a function with the `use` prefix should use at least one Hook inside of it.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
*/
'@eslint-react/hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
/**
* Disallow unnecessary usage of `useCallback`.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
*/
'@eslint-react/hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
/**
* Disallow unnecessary usage of `useMemo`.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
*/
'@eslint-react/hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
/**
* Enforces that a function with the `use` prefix should use at least one Hook inside of it.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
*/
'@eslint-react/hooks-extra/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>
/**
* Enforces that a function with the `use` prefix should use at least one Hook inside of it.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-prefix
*/
'@eslint-react/hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
/**
* Enforces function calls made inside `useState` to be wrapped in an `initializer function`.
* @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
*/
'@eslint-react/hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
/**
* Disallow duplicate props in JSX elements.
* @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
*/
'@eslint-react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
/**
* Disallow undefined variables in JSX.
* @see https://eslint-react.xyz/docs/rules/jsx-no-undef
*/
'@eslint-react/jsx-no-undef'?: Linter.RuleEntry<[]>
/**
* Marks variables used in JSX elements as used.
* @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
*/
'@eslint-react/jsx-uses-vars'?: Linter.RuleEntry<[]>
/**
* Enforces naming conventions for components.
* @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
*/
'@eslint-react/naming-convention/component-name'?: Linter.RuleEntry<EslintReactNamingConventionComponentName>
/**
* Enforces context name to be a valid component name with the suffix `Context`.
* @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
*/
'@eslint-react/naming-convention/context-name'?: Linter.RuleEntry<[]>
/**
* Enforces consistent file naming conventions.
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
*/
'@eslint-react/naming-convention/filename'?: Linter.RuleEntry<EslintReactNamingConventionFilename>
/**
* Enforces consistent file naming conventions.
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
*/
'@eslint-react/naming-convention/filename-extension'?: Linter.RuleEntry<EslintReactNamingConventionFilenameExtension>
/**
* Enforces destructuring and symmetric naming of `useState` hook value and setter.
* @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
*/
'@eslint-react/naming-convention/use-state'?: Linter.RuleEntry<[]>
/**
* Disallow accessing `this.state` inside `setState` calls.
* @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
*/
'@eslint-react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
/**
* Disallow an item's index in the array as its key.
* @see https://eslint-react.xyz/docs/rules/no-array-index-key
*/
'@eslint-react/no-array-index-key'?: Linter.RuleEntry<[]>
/**
* Disallow `Children.count`.
* @see https://eslint-react.xyz/docs/rules/no-children-count
*/
'@eslint-react/no-children-count'?: Linter.RuleEntry<[]>
/**
* Disallow 'Children.forEach'.
* @see https://eslint-react.xyz/docs/rules/no-children-for-each
*/
'@eslint-react/no-children-for-each'?: Linter.RuleEntry<[]>
/**
* Disallow `Children.map`.
* @see https://eslint-react.xyz/docs/rules/no-children-map
*/
'@eslint-react/no-children-map'?: Linter.RuleEntry<[]>
/**
* Disallow `Children.only`.
* @see https://eslint-react.xyz/docs/rules/no-children-only
*/
'@eslint-react/no-children-only'?: Linter.RuleEntry<[]>
/**
* Disallow passing `children` as a prop.
* @see https://eslint-react.xyz/docs/rules/no-children-prop
*/
'@eslint-react/no-children-prop'?: Linter.RuleEntry<[]>
/**
* Disallow `Children.toArray`.
* @see https://eslint-react.xyz/docs/rules/no-children-to-array
*/
'@eslint-react/no-children-to-array'?: Linter.RuleEntry<[]>
/**
* Disallow class components.
* @see https://eslint-react.xyz/docs/rules/no-class-component
*/
'@eslint-react/no-class-component'?: Linter.RuleEntry<[]>
/**
* Disallow `cloneElement`.
* @see https://eslint-react.xyz/docs/rules/no-clone-element
*/
'@eslint-react/no-clone-element'?: Linter.RuleEntry<[]>
/**
* Prevents comments from being inserted as text nodes.
* @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
*/
'@eslint-react/no-comment-textnodes'?: Linter.RuleEntry<[]>
/**
* Disallow complex conditional rendering in JSX expressions.
* @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
*/
'@eslint-react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
/**
* Disallow complex conditional rendering in JSX expressions.
* @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
*/
'@eslint-react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
/**
* Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`.
* @see https://eslint-react.xyz/docs/rules/no-component-will-mount
*/
'@eslint-react/no-component-will-mount'?: Linter.RuleEntry<[]>
/**
* Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`.
* @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
*/
'@eslint-react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
/**
* Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`.
* @see https://eslint-react.xyz/docs/rules/no-component-will-update
*/
'@eslint-react/no-component-will-update'?: Linter.RuleEntry<[]>
/**
* Replace usages of `<Context.Provider>` with `<Context>`.
* @see https://eslint-react.xyz/docs/rules/no-context-provider
*/
'@eslint-react/no-context-provider'?: Linter.RuleEntry<[]>
/**
* Disallow `createRef` in function components.
* @see https://eslint-react.xyz/docs/rules/no-create-ref
*/
'@eslint-react/no-create-ref'?: Linter.RuleEntry<[]>
/**
* Disallow `defaultProps` property in favor of ES6 default parameters.
* @see https://eslint-react.xyz/docs/rules/no-default-props
*/
'@eslint-react/no-default-props'?: Linter.RuleEntry<[]>
/**
* Disallow direct mutation of `this.state`.
* @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
*/
'@eslint-react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
/**
* Disallow duplicate props in JSX elements.
* @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
*/
'@eslint-react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
/**
* Disallow duplicate `key` on elements in the same array or a list of `children`.
* @see https://eslint-react.xyz/docs/rules/no-duplicate-key
*/
'@eslint-react/no-duplicate-key'?: Linter.RuleEntry<[]>
/**
* Replaces usages of `forwardRef` with passing `ref` as a prop.
* @see https://eslint-react.xyz/docs/rules/no-forward-ref
*/
'@eslint-react/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
*/
'@eslint-react/no-implicit-key'?: Linter.RuleEntry<[]>
/**
* Prevents problematic leaked values from being rendered.
* @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
*/
'@eslint-react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
/**
* Enforces that all components have a `displayName` which can be used in devtools.
* @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
*/
'@eslint-react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
/**
* Enforces that all contexts have a `displayName` which can be used in devtools.
* @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
*/
'@eslint-react/no-missing-context-display-name'?: Linter.RuleEntry<[]>
/**
* Disallow missing `key` on items in list rendering.
* @see https://eslint-react.xyz/docs/rules/no-missing-key
*/
'@eslint-react/no-missing-key'?: Linter.RuleEntry<[]>
/**
* Disallow nesting component definitions inside other components.
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
*/
'@eslint-react/no-nested-component-definitions'?: Linter.RuleEntry<[]>
/**
* Disallow nesting component definitions inside other components.
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
*/
'@eslint-react/no-nested-components'?: Linter.RuleEntry<[]>
/**
* Disallow `propTypes` in favor of TypeScript or another type-checking solution.
* @see https://eslint-react.xyz/docs/rules/no-prop-types
*/
'@eslint-react/no-prop-types'?: Linter.RuleEntry<[]>
/**
* Disallow `shouldComponentUpdate` when extending `React.PureComponent`.
* @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
*/
'@eslint-react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
/**
* Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks.
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
*/
'@eslint-react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
/**
* Disallows calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks.
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
*/
'@eslint-react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
/**
* Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks.
* @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
*/
'@eslint-react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
/**
* Disallow deprecated string `refs`.
* @see https://eslint-react.xyz/docs/rules/no-string-refs
*/
'@eslint-react/no-string-refs'?: Linter.RuleEntry<[]>
/**
* Warns the usage of `UNSAFE_componentWillMount` in class components.
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
*/
'@eslint-react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
/**
* Warns the usage of `UNSAFE_componentWillReceiveProps` in class components.
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
*/
'@eslint-react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
/**
* Warns the usage of `UNSAFE_componentWillUpdate` in class components.
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
*/
'@eslint-react/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
*/
'@eslint-react/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
*/
'@eslint-react/no-unstable-default-props'?: Linter.RuleEntry<[]>
/**
* Warns unused class component methods and properties.
* @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
*/
'@eslint-react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
/**
* Warns unused class component state.
* @see https://eslint-react.xyz/docs/rules/no-unused-state
*/
'@eslint-react/no-unused-state'?: Linter.RuleEntry<[]>
/**
* Replaces usages of `useContext` with `use`.
* @see https://eslint-react.xyz/docs/rules/no-use-context
*/
'@eslint-react/no-use-context'?: Linter.RuleEntry<[]>
/**
* Disallow useless `forwardRef` calls on components that don't use `ref`s.
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
*/
'@eslint-react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
/**
* Disallow useless fragment elements.
* @see https://eslint-react.xyz/docs/rules/no-useless-fragment
*/
'@eslint-react/no-useless-fragment'?: Linter.RuleEntry<EslintReactNoUselessFragment>
/**
* Enforces destructuring assignment for component props and context.
* @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
*/
'@eslint-react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
/**
* Enforces React is imported via a namespace import.
* @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
*/
'@eslint-react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>
/**
* Enforces read-only props in components.
* @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
*/
'@eslint-react/prefer-read-only-props'?: Linter.RuleEntry<[]>
/**
* Enforces shorthand syntax for boolean attributes.
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
*/
'@eslint-react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
/**
* Enforces shorthand syntax for fragments.
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
*/
'@eslint-react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
/**
* Marks variables used in JSX elements as used.
* @see https://eslint-react.xyz/docs/rules/jsx-uses-vars
*/
'@eslint-react/use-jsx-vars'?: Linter.RuleEntry<[]>
/**
* Prevents leaked `addEventListener` in a component or custom Hook.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
*/
'@eslint-react/web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
/**
* Prevents leaked `setInterval` in a component or custom Hook.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
*/
'@eslint-react/web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
/**
* Prevents leaked `ResizeObserver` in a component or custom Hook.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
*/
'@eslint-react/web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
/**
* Prevents leaked `setTimeout` in a component or custom Hook.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout
*/
'@eslint-react/web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>
/**
* Enforce linebreaks after opening and before closing array brackets
* @see https://eslint.style/rules/js/array-bracket-newline
*/
'@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.style/rules/js/array-bracket-spacing
*/
'@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>
/**
* Enforce line breaks after each array element
* @see https://eslint.style/rules/js/array-element-newline
*/
'@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>
/**
* Require parentheses around arrow function arguments
* @see https://eslint.style/rules/js/arrow-parens
*/
'@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.style/rules/js/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/ts/block-spacing
*/
'@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>
/**
* Enforce consistent brace style for blocks
* @see https://eslint.style/rules/ts/brace-style
*/
'@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>
/**
* Require or disallow trailing commas
* @see https://eslint.style/rules/ts/comma-dangle
*/
'@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>
/**
* Enforce consistent spacing before and after commas
* @see https://eslint.style/rules/ts/comma-spacing
*/
'@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>
/**
* Enforce consistent comma style
* @see https://eslint.style/rules/js/comma-style
*/
'@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>
/**
* Enforce consistent spacing inside computed property brackets
* @see https://eslint.style/rules/js/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/plus/curly-newline
*/
'@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>
/**
* Enforce consistent newlines before and after dots
* @see https://eslint.style/rules/js/dot-location
*/
'@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>
/**
* Require or disallow newline at the end of files
* @see https://eslint.style/rules/js/eol-last
*/
'@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>
/**
* Require or disallow spacing between function identifiers and their invocations
* @see https://eslint.style/rules/ts/function-call-spacing
*/
'@stylistic/func-call-spacing'?: Linter.RuleEntry<StylisticFuncCallSpacing>
/**
* Enforce line breaks between arguments of a function call
* @see https://eslint.style/rules/js/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/ts/function-call-spacing
*/
'@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>
/**
* Enforce consistent line breaks inside function parentheses
* @see https://eslint.style/rules/js/function-paren-newline
*/
'@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>
/**
* Enforce consistent spacing around `*` operators in generator functions
* @see https://eslint.style/rules/js/generator-star-spacing
*/
'@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>
/**
* Enforce the location of arrow function bodies
* @see https://eslint.style/rules/js/implicit-arrow-linebreak
*/
'@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>
/**
* Enforce consistent indentation
* @see https://eslint.style/rules/ts/indent
*/
'@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>
/**
* Indentation for binary operators
* @see https://eslint.style/rules/plus/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/jsx-child-element-spacing
*/
'@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
/**
* Enforce closing bracket location in JSX
* @see https://eslint.style/rules/jsx/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/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/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/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/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/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/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/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/jsx-indent
* @deprecated
*/
'@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>
/**
* Enforce props indentation in JSX
* @see https://eslint.style/rules/jsx/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/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/jsx-newline
*/
'@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>
/**
* Require one JSX element per line
* @see https://eslint.style/rules/jsx/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/jsx-pascal-case
*/
'@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>
/**
* Disallow multiple spaces between inline JSX props
* @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
*/
'@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/js/jsx-quotes
*/
'@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>
/**
* Disallow extra closing tags for components without children
* @see https://eslint.style/rules/jsx/jsx-self-closing-comp
*/
'@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>
/**
* Enforce props alphabetical sorting
* @see https://eslint.style/rules/jsx/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/jsx-tag-spacing
*/
'@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>
/**
* Disallow missing parentheses around multiline JSX
* @see https://eslint.style/rules/jsx/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/ts/key-spacing
*/
'@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>
/**
* Enforce consistent spacing before and after keywords
* @see https://eslint.style/rules/ts/keyword-spacing
*/
'@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>
/**
* Enforce position of line comments
* @see https://eslint.style/rules/js/line-comment-position
*/
'@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>
/**
* Enforce consistent linebreak style
* @see https://eslint.style/rules/js/linebreak-style
*/
'@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>
/**
* Require empty lines around comments
* @see https://eslint.style/rules/ts/lines-around-comment
*/
'@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>
/**
* Require or disallow an empty line between class members
* @see https://eslint.style/rules/ts/lines-between-class-members
*/
'@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>
/**
* Enforce a maximum line length
* @see https://eslint.style/rules/js/max-len
*/
'@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>
/**
* Enforce a maximum number of statements allowed per line
* @see https://eslint.style/rules/js/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/ts/member-delimiter-style
*/
'@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>
/**
* Enforce a particular style for multiline comments
* @see https://eslint.style/rules/js/multiline-comment-style
*/
'@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>
/**
* Enforce newlines between operands of ternary expressions
* @see https://eslint.style/rules/js/multiline-ternary
*/
'@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>
/**
* Enforce or disallow parentheses when invoking a constructor with no arguments
* @see https://eslint.style/rules/js/new-parens
*/
'@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>
/**
* Require a newline after each call in a method chain
* @see https://eslint.style/rules/js/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/js/no-confusing-arrow
*/
'@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>
/**
* Disallow unnecessary parentheses
* @see https://eslint.style/rules/ts/no-extra-parens
*/
'@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>
/**
* Disallow unnecessary semicolons
* @see https://eslint.style/rules/ts/no-extra-semi
*/
'@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>
/**
* Disallow leading or trailing decimal points in numeric literals
* @see https://eslint.style/rules/js/no-floating-decimal
*/
'@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>
/**
* Disallow mixed binary operators
* @see https://eslint.style/rules/js/no-mixed-operators
*/
'@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>
/**
* Disallow mixed spaces and tabs for indentation
* @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
*/
'@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>
/**
* Disallow multiple spaces
* @see https://eslint.style/rules/js/no-multi-spaces
*/
'@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>
/**
* Disallow multiple empty lines
* @see https://eslint.style/rules/js/no-multiple-empty-lines
*/
'@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>
/**
* Disallow all tabs
* @see https://eslint.style/rules/js/no-tabs
*/
'@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>
/**
* Disallow trailing whitespace at the end of lines
* @see https://eslint.style/rules/js/no-trailing-spaces
*/
'@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>
/**
* Disallow whitespace before properties
* @see https://eslint.style/rules/js/no-whitespace-before-property
*/
'@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>
/**
* Enforce the location of single-line statements
* @see https://eslint.style/rules/js/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/ts/object-curly-newline
*/
'@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>
/**
* Enforce consistent spacing inside braces
* @see https://eslint.style/rules/ts/object-curly-spacing
*/
'@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>
/**
* Enforce placing object properties on separate lines
* @see https://eslint.style/rules/ts/object-property-newline
*/
'@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>
/**
* Require or disallow newlines around variable declarations
* @see https://eslint.style/rules/js/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/js/operator-linebreak
*/
'@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>
/**
* Require or disallow padding within blocks
* @see https://eslint.style/rules/js/padded-blocks
*/
'@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>
/**
* Require or disallow padding lines between statements
* @see https://eslint.style/rules/ts/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/ts/quote-props
*/
'@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>
/**
* Enforce the consistent use of either backticks, double, or single quotes
* @see https://eslint.style/rules/ts/quotes
*/
'@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>
/**
* Enforce spacing between rest and spread operators and their expressions
* @see https://eslint.style/rules/js/rest-spread-spacing
*/
'@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>
/**
* Require or disallow semicolons instead of ASI
* @see https://eslint.style/rules/ts/semi
*/
'@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>
/**
* Enforce consistent spacing before and after semicolons
* @see https://eslint.style/rules/ts/semi-spacing
*/
'@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>
/**
* Enforce location of semicolons
* @see https://eslint.style/rules/js/semi-style
*/
'@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>
/**
* Enforce consistent spacing before blocks
* @see https://eslint.style/rules/ts/space-before-blocks
*/
'@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>
/**
* Enforce consistent spacing before function parenthesis
* @see https://eslint.style/rules/ts/space-before-function-paren
*/
'@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>
/**
* Enforce consistent spacing inside parentheses
* @see https://eslint.style/rules/js/space-in-parens
*/
'@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>
/**
* Require spacing around infix operators
* @see https://eslint.style/rules/ts/space-infix-ops
*/
'@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>
/**
* Enforce consistent spacing before or after unary operators
* @see https://eslint.style/rules/js/space-unary-ops
*/
'@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>
/**
* Enforce consistent spacing after the `//` or `/*` in a comment
* @see https://eslint.style/rules/js/spaced-comment
*/
'@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>
/**
* Enforce spacing around colons of switch statements
* @see https://eslint.style/rules/js/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/js/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/js/template-tag-spacing
*/
'@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>
/**
* Require consistent spacing around type annotations
* @see https://eslint.style/rules/ts/type-annotation-spacing
*/
'@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>
/**
* Enforces consistent spacing inside TypeScript type generics
* @see https://eslint.style/rules/plus/type-generic-spacing
*/
'@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>
/**
* Expect space before the type declaration in the named tuple
* @see https://eslint.style/rules/plus/type-named-tuple-spacing
*/
'@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
/**
* Require parentheses around immediate `function` invocations
* @see https://eslint.style/rules/js/wrap-iife
*/
'@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>
/**
* Require parenthesis around regex literals
* @see https://eslint.style/rules/js/wrap-regex
*/
'@stylistic/wrap-regex'?: Linter.RuleEntry<[]>
/**
* Require or disallow spacing around the `*` in `yield*` expressions
* @see https://eslint.style/rules/js/yield-star-spacing
*/
'@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>
/**
* Require that function overload signatures be consecutive
* @see https://typescript-eslint.io/rules/adjacent-overload-signatures
*/
'@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>
/**
* Require consistently using either `T[]` or `Array<T>` for arrays
* @see https://typescript-eslint.io/rules/array-type
*/
'@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>
/**
* Disallow awaiting a value that is not a Thenable
* @see https://typescript-eslint.io/rules/await-thenable
*/
'@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>
/**
* Disallow `@ts-<directive>` comments or require descriptions after directives
* @see https://typescript-eslint.io/rules/ban-ts-comment
*/
'@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>
/**
* Disallow `// tslint:<rule-flag>` comments
* @see https://typescript-eslint.io/rules/ban-tslint-comment
*/
'@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>
/**
* Enforce that literals on classes are exposed in a consistent style
* @see https://typescript-eslint.io/rules/class-literal-property-style
*/
'@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>
/**
* Enforce that class methods utilize `this`
* @see https://typescript-eslint.io/rules/class-methods-use-this
*/
'@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>
/**
* Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
* @see https://typescript-eslint.io/rules/consistent-generic-constructors
*/
'@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>
/**
* Require or disallow the `Record` type
* @see https://typescript-eslint.io/rules/consistent-indexed-object-style
*/
'@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>
/**
* Require `return` statements to either always or never specify values
* @see https://typescript-eslint.io/rules/consistent-return
*/
'@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>
/**
* Enforce consistent usage of type assertions
* @see https://typescript-eslint.io/rules/consistent-type-assertions
*/
'@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>
/**
* Enforce type definitions to consistently use either `interface` or `type`
* @see https://typescript-eslint.io/rules/consistent-type-definitions
*/
'@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeDefinitions>
/**
* Enforce consistent usage of type exports
* @see https://typescript-eslint.io/rules/consistent-type-exports
*/
'@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>
/**
* Enforce consistent usage of type imports
* @see https://typescript-eslint.io/rules/consistent-type-imports
*/
'@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>
/**
* Enforce default parameters to be last
* @see https://typescript-eslint.io/rules/default-param-last
*/
'@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>
/**
* Enforce dot notation whenever possible
* @see https://typescript-eslint.io/rules/dot-notation
*/
'@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>
/**
* Require explicit return types on functions and class methods
* @see https://typescript-eslint.io/rules/explicit-function-return-type
*/
'@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>
/**
* Require explicit accessibility modifiers on class properties and methods
* @see https://typescript-eslint.io/rules/explicit-member-accessibility
*/
'@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>
/**
* Require explicit return and argument types on exported functions' and classes' public class methods
* @see https://typescript-eslint.io/rules/explicit-module-boundary-types
*/
'@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>
/**
* Require or disallow initialization in variable declarations
* @see https://typescript-eslint.io/rules/init-declarations
*/
'@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>
/**
* Enforce a maximum number of parameters in function definitions
* @see https://typescript-eslint.io/rules/max-params
*/
'@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>
/**
* Require a consistent member declaration order
* @see https://typescript-eslint.io/rules/member-ordering
*/
'@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>
/**
* Enforce using a particular method signature syntax
* @see https://typescript-eslint.io/rules/method-signature-style
*/
'@typescript-eslint/method-signature-style'?: Linter.RuleEntry<TypescriptEslintMethodSignatureStyle>
/**
* Enforce naming conventions for everything across a codebase
* @see https://typescript-eslint.io/rules/naming-convention
*/
'@typescript-eslint/naming-convention'?: Linter.RuleEntry<TypescriptEslintNamingConvention>
/**
* Disallow generic `Array` constructors
* @see https://typescript-eslint.io/rules/no-array-constructor
*/
'@typescript-eslint/no-array-constructor'?: Linter.RuleEntry<[]>
/**
* Disallow using the `delete` operator on array values
* @see https://typescript-eslint.io/rules/no-array-delete
*/
'@typescript-eslint/no-array-delete'?: Linter.RuleEntry<[]>
/**
* Require `.toString()` and `.toLocaleString()` to only be called on objects which provid