// Generated by dts-bundle-generator v9.5.1

import { StylisticCustomizeOptions } from '@stylistic/eslint-plugin';
import { ParserOptions } from '@typescript-eslint/parser';
import { TSESLint } from '@typescript-eslint/utils';
import { SharedConfig } from '@typescript-eslint/utils/ts-eslint';
import { ESLint, Linter } from 'eslint';
import { Options as VueBlocksOptions } from 'eslint-processor-vue-blocks';
import { Options as PrettierOptions } from 'prettier';

type LocaleKeyType = "file" | "path" | "key";
type SettingsVueI18nLocaleDir = SettingsVueI18nLocaleDirGlob | SettingsVueI18nLocaleDirObject | Array<SettingsVueI18nLocaleDirGlob | SettingsVueI18nLocaleDirObject>;
type SettingsVueI18nLocaleDirGlob = string;
interface SettingsVueI18nLocaleDirObject {
	/**
	 * A glob for specifying files that store localization messages of project.
	 */
	pattern: string;
	/**
	 * Specifies how to determine the locale for localization messages.
	 */
	localeKey: LocaleKeyType;
	/**
	 * Specifies how to determine pattern the locale for localization messages.
	 *
	 * This option means, when `localeKey` is `'path'`, you will need to capture the locale using a regular expression.
	 * You need to use the locale capture as a named capture `?<locale>`, so it’s be able to capture from the path of the locale resources.
	 * If you omit it, it will be captured from the resource path with the same regular expression pattern as `vue-cli-plugin-i18n`.
	 */
	localePattern?: string | RegExp;
}
declare module "eslint" {
	namespace Linter {
		interface RulesRecord extends RuleOptions {
		}
	}
}
interface RuleOptions {
	/**
	 * require a `eslint-enable` comment for every `eslint-disable` comment
	 * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
	 */
	"comments/disable-enable-pair"?: Linter.RuleEntry<CommentsDisableEnablePair>;
	/**
	 * disallow a `eslint-enable` comment for multiple `eslint-disable` comments
	 * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html
	 */
	"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
	 */
	"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
	 */
	"comments/no-restricted-disable"?: Linter.RuleEntry<CommentsNoRestrictedDisable>;
	/**
	 * disallow `eslint-disable` comments without rule names
	 * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html
	 */
	"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
	 */
	"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
	 */
	"comments/no-unused-enable"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow ESLint directive-comments
	 * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/no-use.html
	 */
	"comments/no-use"?: Linter.RuleEntry<CommentsNoUse>;
	/**
	 * require include descriptions in ESLint directive-comments
	 * @see https://mysticatea.github.io/eslint-plugin-eslint-comments/rules/require-description.html
	 */
	"comments/require-description"?: Linter.RuleEntry<CommentsRequireDescription>;
	/**
	 * Use dprint to format code
	 */
	"format/dprint"?: Linter.RuleEntry<FormatDprint>;
	/**
	 * Use Prettier to format code
	 */
	"format/prettier"?: Linter.RuleEntry<FormatPrettier>;
	/**
	 * Enforce functional parameters.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/functional-parameters.md
	 */
	"functional/functional-parameters"?: Linter.RuleEntry<FunctionalFunctionalParameters>;
	/**
	 * Enforce treating data as immutable.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/immutable-data.md
	 */
	"functional/immutable-data"?: Linter.RuleEntry<FunctionalImmutableData>;
	/**
	 * Disallow inheritance in classes.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-class-inheritance.md
	 */
	"functional/no-class-inheritance"?: Linter.RuleEntry<FunctionalNoClassInheritance>;
	/**
	 * Disallow classes.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-classes.md
	 */
	"functional/no-classes"?: Linter.RuleEntry<FunctionalNoClasses>;
	/**
	 * Disallow conditional statements.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-conditional-statements.md
	 */
	"functional/no-conditional-statements"?: Linter.RuleEntry<FunctionalNoConditionalStatements>;
	/**
	 * Disallow expression statements.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-expression-statements.md
	 */
	"functional/no-expression-statements"?: Linter.RuleEntry<FunctionalNoExpressionStatements>;
	/**
	 * Disallow mutable variables.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-let.md
	 */
	"functional/no-let"?: Linter.RuleEntry<FunctionalNoLet>;
	/**
	 * Disallow imperative loops.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-loop-statements.md
	 */
	"functional/no-loop-statements"?: Linter.RuleEntry<[
	]>;
	/**
	 * Restrict types so that only members of the same kind are allowed in them.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-mixed-types.md
	 */
	"functional/no-mixed-types"?: Linter.RuleEntry<FunctionalNoMixedTypes>;
	/**
	 * Disallow rejecting promises.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-promise-reject.md
	 */
	"functional/no-promise-reject"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow functions that don't return anything.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-return-void.md
	 */
	"functional/no-return-void"?: Linter.RuleEntry<FunctionalNoReturnVoid>;
	/**
	 * Disallow this access.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-this-expressions.md
	 */
	"functional/no-this-expressions"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow throwing exceptions.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-throw-statements.md
	 */
	"functional/no-throw-statements"?: Linter.RuleEntry<FunctionalNoThrowStatements>;
	/**
	 * Disallow try-catch[-finally] and try-finally patterns.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/no-try-statements.md
	 */
	"functional/no-try-statements"?: Linter.RuleEntry<FunctionalNoTryStatements>;
	/**
	 * Require function parameters to be typed as certain immutability
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-immutable-types.md
	 */
	"functional/prefer-immutable-types"?: Linter.RuleEntry<FunctionalPreferImmutableTypes>;
	/**
	 * Prefer property signatures over method signatures.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-property-signatures.md
	 */
	"functional/prefer-property-signatures"?: Linter.RuleEntry<FunctionalPreferPropertySignatures>;
	/**
	 * Prefer readonly types over mutable types.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-readonly-type.md
	 * @deprecated
	 */
	"functional/prefer-readonly-type"?: Linter.RuleEntry<FunctionalPreferReadonlyType>;
	/**
	 * Replaces `x => f(x)` with just `f`.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/prefer-tacit.md
	 */
	"functional/prefer-tacit"?: Linter.RuleEntry<FunctionalPreferTacit>;
	/**
	 * Require consistently using either `readonly` keywords or `Readonly<T>`
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/readonly-type.md
	 */
	"functional/readonly-type"?: Linter.RuleEntry<FunctionalReadonlyType>;
	/**
	 * Enforce the immutability of types based on patterns.
	 * @see https://github.com/eslint-functional/eslint-plugin-functional/blob/v9.0.1/docs/rules/type-declaration-immutability.md
	 */
	"functional/type-declaration-immutability"?: Linter.RuleEntry<FunctionalTypeDeclarationImmutability>;
	/**
	 * 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<[
	]>;
	/**
	 * 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-jsdoc/blob/main/docs/rules/require-property-name.md#repos-sticky-header
	 */
	"jsdoc/require-property-name"?: Linter.RuleEntry<[
	]>;
	/**
	 * Requires that each `@property` tag has a `type` value.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property-type.md#repos-sticky-header
	 */
	"jsdoc/require-property-type"?: Linter.RuleEntry<[
	]>;
	/**
	 * Requires that returns are documented.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns.md#repos-sticky-header
	 */
	"jsdoc/require-returns"?: Linter.RuleEntry<JsdocRequireReturns>;
	/**
	 * Requires a return statement in function body if a `@returns` tag is specified in jsdoc comment.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-check.md#repos-sticky-header
	 */
	"jsdoc/require-returns-check"?: Linter.RuleEntry<JsdocRequireReturnsCheck>;
	/**
	 * Requires that the `@returns` tag has a `description` value.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-description.md#repos-sticky-header
	 */
	"jsdoc/require-returns-description"?: Linter.RuleEntry<JsdocRequireReturnsDescription>;
	/**
	 * Requires that `@returns` tag has `type` value.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-returns-type.md#repos-sticky-header
	 */
	"jsdoc/require-returns-type"?: Linter.RuleEntry<JsdocRequireReturnsType>;
	/**
	 * Requires template tags for each generic type parameter
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-template.md#repos-sticky-header
	 */
	"jsdoc/require-template"?: Linter.RuleEntry<JsdocRequireTemplate>;
	/**
	 * Requires that throw statements are documented.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-throws.md#repos-sticky-header
	 */
	"jsdoc/require-throws"?: Linter.RuleEntry<JsdocRequireThrows>;
	/**
	 * Requires yields are documented.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields.md#repos-sticky-header
	 */
	"jsdoc/require-yields"?: Linter.RuleEntry<JsdocRequireYields>;
	/**
	 * Requires a yield statement in function body if a `@yields` tag is specified in jsdoc comment.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-yields-check.md#repos-sticky-header
	 */
	"jsdoc/require-yields-check"?: Linter.RuleEntry<JsdocRequireYieldsCheck>;
	/**
	 * Sorts tags by a specified sequence according to tag name.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/sort-tags.md#repos-sticky-header
	 */
	"jsdoc/sort-tags"?: Linter.RuleEntry<JsdocSortTags>;
	/**
	 * Enforces lines (or no lines) between tags.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/tag-lines.md#repos-sticky-header
	 */
	"jsdoc/tag-lines"?: Linter.RuleEntry<JsdocTagLines>;
	/**
	 * Auto-escape certain characters that are input within block and tag descriptions.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
	 */
	"jsdoc/text-escaping"?: Linter.RuleEntry<JsdocTextEscaping>;
	/**
	 * Requires all types to be valid JSDoc or Closure compiler types without syntax errors.
	 * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/valid-types.md#repos-sticky-header
	 */
	"jsdoc/valid-types"?: Linter.RuleEntry<JsdocValidTypes>;
	/**
	 * enforce line breaks after opening and before closing array brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-newline.html
	 */
	"jsonc/array-bracket-newline"?: Linter.RuleEntry<JsoncArrayBracketNewline>;
	/**
	 * disallow or enforce spaces inside of brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-bracket-spacing.html
	 */
	"jsonc/array-bracket-spacing"?: Linter.RuleEntry<JsoncArrayBracketSpacing>;
	/**
	 * enforce line breaks between array elements
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/array-element-newline.html
	 */
	"jsonc/array-element-newline"?: Linter.RuleEntry<JsoncArrayElementNewline>;
	/**
	 * apply jsonc rules similar to your configured ESLint core rules
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/auto.html
	 */
	"jsonc/auto"?: Linter.RuleEntry<[
	]>;
	/**
	 * require or disallow trailing commas
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-dangle.html
	 */
	"jsonc/comma-dangle"?: Linter.RuleEntry<JsoncCommaDangle>;
	/**
	 * enforce consistent comma style
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/comma-style.html
	 */
	"jsonc/comma-style"?: Linter.RuleEntry<JsoncCommaStyle>;
	/**
	 * enforce consistent indentation
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/indent.html
	 */
	"jsonc/indent"?: Linter.RuleEntry<JsoncIndent>;
	/**
	 * enforce naming convention to property key names
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-name-casing.html
	 */
	"jsonc/key-name-casing"?: Linter.RuleEntry<JsoncKeyNameCasing>;
	/**
	 * enforce consistent spacing between keys and values in object literal properties
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/key-spacing.html
	 */
	"jsonc/key-spacing"?: Linter.RuleEntry<JsoncKeySpacing>;
	/**
	 * disallow BigInt literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-bigint-literals.html
	 */
	"jsonc/no-bigint-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow binary expression
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-expression.html
	 */
	"jsonc/no-binary-expression"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow binary numeric literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-binary-numeric-literals.html
	 */
	"jsonc/no-binary-numeric-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow comments
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-comments.html
	 */
	"jsonc/no-comments"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate keys in object literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-dupe-keys.html
	 */
	"jsonc/no-dupe-keys"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow escape sequences in identifiers.
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-escape-sequence-in-identifier.html
	 */
	"jsonc/no-escape-sequence-in-identifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow leading or trailing decimal points in numeric literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-floating-decimal.html
	 */
	"jsonc/no-floating-decimal"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow hexadecimal numeric literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-hexadecimal-numeric-literals.html
	 */
	"jsonc/no-hexadecimal-numeric-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow Infinity
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-infinity.html
	 */
	"jsonc/no-infinity"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow irregular whitespace
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
	 */
	"jsonc/no-irregular-whitespace"?: Linter.RuleEntry<JsoncNoIrregularWhitespace>;
	/**
	 * disallow multiline strings
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-multi-str.html
	 */
	"jsonc/no-multi-str"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow NaN
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-nan.html
	 */
	"jsonc/no-nan"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow number property keys
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-number-props.html
	 */
	"jsonc/no-number-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow numeric separators
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-numeric-separators.html
	 */
	"jsonc/no-numeric-separators"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow legacy octal literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal.html
	 */
	"jsonc/no-octal"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow octal escape sequences in string literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-escape.html
	 */
	"jsonc/no-octal-escape"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow octal numeric literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-octal-numeric-literals.html
	 */
	"jsonc/no-octal-numeric-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow parentheses around the expression
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-parenthesized.html
	 */
	"jsonc/no-parenthesized"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow plus sign
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-plus-sign.html
	 */
	"jsonc/no-plus-sign"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow RegExp literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-regexp-literals.html
	 */
	"jsonc/no-regexp-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow sparse arrays
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-sparse-arrays.html
	 */
	"jsonc/no-sparse-arrays"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow template literals
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-template-literals.html
	 */
	"jsonc/no-template-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow `undefined`
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-undefined-value.html
	 */
	"jsonc/no-undefined-value"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow Unicode code point escape sequences.
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-unicode-codepoint-escapes.html
	 */
	"jsonc/no-unicode-codepoint-escapes"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary escape usage
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-useless-escape.html
	 */
	"jsonc/no-useless-escape"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent line breaks inside braces
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-newline.html
	 */
	"jsonc/object-curly-newline"?: Linter.RuleEntry<JsoncObjectCurlyNewline>;
	/**
	 * enforce consistent spacing inside braces
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-curly-spacing.html
	 */
	"jsonc/object-curly-spacing"?: Linter.RuleEntry<JsoncObjectCurlySpacing>;
	/**
	 * enforce placing object properties on separate lines
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/object-property-newline.html
	 */
	"jsonc/object-property-newline"?: Linter.RuleEntry<JsoncObjectPropertyNewline>;
	/**
	 * require quotes around object literal property names
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quote-props.html
	 */
	"jsonc/quote-props"?: Linter.RuleEntry<JsoncQuoteProps>;
	/**
	 * enforce use of double or single quotes
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/quotes.html
	 */
	"jsonc/quotes"?: Linter.RuleEntry<JsoncQuotes>;
	/**
	 * require array values to be sorted
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-array-values.html
	 */
	"jsonc/sort-array-values"?: Linter.RuleEntry<JsoncSortArrayValues>;
	/**
	 * require object keys to be sorted
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/sort-keys.html
	 */
	"jsonc/sort-keys"?: Linter.RuleEntry<JsoncSortKeys>;
	/**
	 * disallow spaces after unary operators
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/space-unary-ops.html
	 */
	"jsonc/space-unary-ops"?: Linter.RuleEntry<JsoncSpaceUnaryOps>;
	/**
	 * disallow invalid number for JSON
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/valid-json-number.html
	 */
	"jsonc/valid-json-number"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow parsing errors in Vue custom blocks
	 * @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
	 */
	"jsonc/vue-custom-block/no-parsing-error"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce emojis are wrapped in `<span>` and provide screen reader access.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
	 * @deprecated
	 */
	"jsx-a11y/accessible-emoji"?: Linter.RuleEntry<JsxA11YAccessibleEmoji>;
	/**
	 * Enforce all elements that require alternative text have meaningful information to relay back to end user.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md
	 */
	"jsx-a11y/alt-text"?: Linter.RuleEntry<JsxA11YAltText>;
	/**
	 * Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link".
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md
	 */
	"jsx-a11y/anchor-ambiguous-text"?: Linter.RuleEntry<JsxA11YAnchorAmbiguousText>;
	/**
	 * Enforce all anchors to contain accessible content.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md
	 */
	"jsx-a11y/anchor-has-content"?: Linter.RuleEntry<JsxA11YAnchorHasContent>;
	/**
	 * Enforce all anchors are valid, navigable elements.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md
	 */
	"jsx-a11y/anchor-is-valid"?: Linter.RuleEntry<JsxA11YAnchorIsValid>;
	/**
	 * Enforce elements with aria-activedescendant are tabbable.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md
	 */
	"jsx-a11y/aria-activedescendant-has-tabindex"?: Linter.RuleEntry<JsxA11YAriaActivedescendantHasTabindex>;
	/**
	 * Enforce all `aria-*` props are valid.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md
	 */
	"jsx-a11y/aria-props"?: Linter.RuleEntry<JsxA11YAriaProps>;
	/**
	 * Enforce ARIA state and property values are valid.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md
	 */
	"jsx-a11y/aria-proptypes"?: Linter.RuleEntry<JsxA11YAriaProptypes>;
	/**
	 * Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md
	 */
	"jsx-a11y/aria-role"?: Linter.RuleEntry<JsxA11YAriaRole>;
	/**
	 * Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md
	 */
	"jsx-a11y/aria-unsupported-elements"?: Linter.RuleEntry<JsxA11YAriaUnsupportedElements>;
	/**
	 * Enforce that autocomplete attributes are used correctly.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md
	 */
	"jsx-a11y/autocomplete-valid"?: Linter.RuleEntry<JsxA11YAutocompleteValid>;
	/**
	 * Enforce a clickable non-interactive element has at least one keyboard event listener.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md
	 */
	"jsx-a11y/click-events-have-key-events"?: Linter.RuleEntry<JsxA11YClickEventsHaveKeyEvents>;
	/**
	 * Enforce that a control (an interactive element) has a text label.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
	 */
	"jsx-a11y/control-has-associated-label"?: Linter.RuleEntry<JsxA11YControlHasAssociatedLabel>;
	/**
	 * Enforce heading (`h1`, `h2`, etc) elements contain accessible content.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md
	 */
	"jsx-a11y/heading-has-content"?: Linter.RuleEntry<JsxA11YHeadingHasContent>;
	/**
	 * Enforce `<html>` element has `lang` prop.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md
	 */
	"jsx-a11y/html-has-lang"?: Linter.RuleEntry<JsxA11YHtmlHasLang>;
	/**
	 * Enforce iframe elements have a title attribute.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md
	 */
	"jsx-a11y/iframe-has-title"?: Linter.RuleEntry<JsxA11YIframeHasTitle>;
	/**
	 * Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo".
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md
	 */
	"jsx-a11y/img-redundant-alt"?: Linter.RuleEntry<JsxA11YImgRedundantAlt>;
	/**
	 * Enforce that elements with interactive handlers like `onClick` must be focusable.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md
	 */
	"jsx-a11y/interactive-supports-focus"?: Linter.RuleEntry<JsxA11YInteractiveSupportsFocus>;
	/**
	 * Enforce that a `label` tag has a text label and an associated control.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
	 */
	"jsx-a11y/label-has-associated-control"?: Linter.RuleEntry<JsxA11YLabelHasAssociatedControl>;
	/**
	 * Enforce that `<label>` elements have the `htmlFor` prop.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md
	 * @deprecated
	 */
	"jsx-a11y/label-has-for"?: Linter.RuleEntry<JsxA11YLabelHasFor>;
	/**
	 * Enforce lang attribute has a valid value.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md
	 */
	"jsx-a11y/lang"?: Linter.RuleEntry<JsxA11YLang>;
	/**
	 * Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md
	 */
	"jsx-a11y/media-has-caption"?: Linter.RuleEntry<JsxA11YMediaHasCaption>;
	/**
	 * Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md
	 */
	"jsx-a11y/mouse-events-have-key-events"?: Linter.RuleEntry<JsxA11YMouseEventsHaveKeyEvents>;
	/**
	 * Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
	 */
	"jsx-a11y/no-access-key"?: Linter.RuleEntry<JsxA11YNoAccessKey>;
	/**
	 * Disallow `aria-hidden="true"` from being set on focusable elements.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md
	 */
	"jsx-a11y/no-aria-hidden-on-focusable"?: Linter.RuleEntry<JsxA11YNoAriaHiddenOnFocusable>;
	/**
	 * Enforce autoFocus prop is not used.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-autofocus.md
	 */
	"jsx-a11y/no-autofocus"?: Linter.RuleEntry<JsxA11YNoAutofocus>;
	/**
	 * Enforce distracting elements are not used.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-distracting-elements.md
	 */
	"jsx-a11y/no-distracting-elements"?: Linter.RuleEntry<JsxA11YNoDistractingElements>;
	/**
	 * Interactive elements should not be assigned non-interactive roles.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-interactive-element-to-noninteractive-role.md
	 */
	"jsx-a11y/no-interactive-element-to-noninteractive-role"?: Linter.RuleEntry<JsxA11YNoInteractiveElementToNoninteractiveRole>;
	/**
	 * Non-interactive elements should not be assigned mouse or keyboard event listeners.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-interactions.md
	 */
	"jsx-a11y/no-noninteractive-element-interactions"?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementInteractions>;
	/**
	 * Non-interactive elements should not be assigned interactive roles.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-to-interactive-role.md
	 */
	"jsx-a11y/no-noninteractive-element-to-interactive-role"?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementToInteractiveRole>;
	/**
	 * `tabIndex` should only be declared on interactive elements.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-tabindex.md
	 */
	"jsx-a11y/no-noninteractive-tabindex"?: Linter.RuleEntry<JsxA11YNoNoninteractiveTabindex>;
	/**
	 * Enforce usage of `onBlur` over `onChange` on select menus for accessibility.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-onchange.md
	 * @deprecated
	 */
	"jsx-a11y/no-onchange"?: Linter.RuleEntry<JsxA11YNoOnchange>;
	/**
	 * Enforce explicit role property is not the same as implicit/default role property on element.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-redundant-roles.md
	 */
	"jsx-a11y/no-redundant-roles"?: Linter.RuleEntry<JsxA11YNoRedundantRoles>;
	/**
	 * Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-static-element-interactions.md
	 */
	"jsx-a11y/no-static-element-interactions"?: Linter.RuleEntry<JsxA11YNoStaticElementInteractions>;
	/**
	 * Enforces using semantic DOM elements over the ARIA `role` property.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/prefer-tag-over-role.md
	 */
	"jsx-a11y/prefer-tag-over-role"?: Linter.RuleEntry<JsxA11YPreferTagOverRole>;
	/**
	 * Enforce that elements with ARIA roles must have all required attributes for that role.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-has-required-aria-props.md
	 */
	"jsx-a11y/role-has-required-aria-props"?: Linter.RuleEntry<JsxA11YRoleHasRequiredAriaProps>;
	/**
	 * Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-supports-aria-props.md
	 */
	"jsx-a11y/role-supports-aria-props"?: Linter.RuleEntry<JsxA11YRoleSupportsAriaProps>;
	/**
	 * Enforce `scope` prop is only used on `<th>` elements.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/scope.md
	 */
	"jsx-a11y/scope"?: Linter.RuleEntry<JsxA11YScope>;
	/**
	 * Enforce `tabIndex` value is not greater than zero.
	 * @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
	 */
	"jsx-a11y/tabindex-no-positive"?: Linter.RuleEntry<JsxA11YTabindexNoPositive>;
	/**
	 * require `return` statements after callbacks
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/callback-return.md
	 */
	"node/callback-return"?: Linter.RuleEntry<NodeCallbackReturn>;
	/**
	 * enforce either `module.exports` or `exports`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/exports-style.md
	 */
	"node/exports-style"?: Linter.RuleEntry<NodeExportsStyle>;
	/**
	 * enforce the style of file extensions in `import` declarations
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/file-extension-in-import.md
	 */
	"node/file-extension-in-import"?: Linter.RuleEntry<NodeFileExtensionInImport>;
	/**
	 * require `require()` calls to be placed at top-level module scope
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/global-require.md
	 */
	"node/global-require"?: Linter.RuleEntry<[
	]>;
	/**
	 * require error handling in callbacks
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/handle-callback-err.md
	 */
	"node/handle-callback-err"?: Linter.RuleEntry<NodeHandleCallbackErr>;
	/**
	 * require correct usage of hashbang
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
	 */
	"node/hashbang"?: Linter.RuleEntry<NodeHashbang>;
	/**
	 * enforce Node.js-style error-first callback pattern is followed
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-callback-literal.md
	 */
	"node/no-callback-literal"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow deprecated APIs
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-deprecated-api.md
	 */
	"node/no-deprecated-api"?: Linter.RuleEntry<NodeNoDeprecatedApi>;
	/**
	 * disallow the assignment to `exports`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-exports-assign.md
	 */
	"node/no-exports-assign"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow `import` declarations which import extraneous modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-extraneous-import.md
	 */
	"node/no-extraneous-import"?: Linter.RuleEntry<NodeNoExtraneousImport>;
	/**
	 * disallow `require()` expressions which import extraneous modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-extraneous-require.md
	 */
	"node/no-extraneous-require"?: Linter.RuleEntry<NodeNoExtraneousRequire>;
	/**
	 * disallow third-party modules which are hiding core modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-hide-core-modules.md
	 * @deprecated
	 */
	"node/no-hide-core-modules"?: Linter.RuleEntry<NodeNoHideCoreModules>;
	/**
	 * disallow `import` declarations which import non-existence modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-import.md
	 */
	"node/no-missing-import"?: Linter.RuleEntry<NodeNoMissingImport>;
	/**
	 * disallow `require()` expressions which import non-existence modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-missing-require.md
	 */
	"node/no-missing-require"?: Linter.RuleEntry<NodeNoMissingRequire>;
	/**
	 * disallow `require` calls to be mixed with regular variable declarations
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-mixed-requires.md
	 */
	"node/no-mixed-requires"?: Linter.RuleEntry<NodeNoMixedRequires>;
	/**
	 * disallow `new` operators with calls to `require`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-new-require.md
	 */
	"node/no-new-require"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow string concatenation with `__dirname` and `__filename`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-path-concat.md
	 */
	"node/no-path-concat"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow the use of `process.env`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-process-env.md
	 */
	"node/no-process-env"?: Linter.RuleEntry<NodeNoProcessEnv>;
	/**
	 * disallow the use of `process.exit()`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-process-exit.md
	 */
	"node/no-process-exit"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow specified modules when loaded by `import` declarations
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-restricted-import.md
	 */
	"node/no-restricted-import"?: Linter.RuleEntry<NodeNoRestrictedImport>;
	/**
	 * disallow specified modules when loaded by `require`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-restricted-require.md
	 */
	"node/no-restricted-require"?: Linter.RuleEntry<NodeNoRestrictedRequire>;
	/**
	 * disallow synchronous methods
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-sync.md
	 */
	"node/no-sync"?: Linter.RuleEntry<NodeNoSync>;
	/**
	 * disallow `bin` files that npm ignores
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-bin.md
	 */
	"node/no-unpublished-bin"?: Linter.RuleEntry<NodeNoUnpublishedBin>;
	/**
	 * disallow `import` declarations which import private modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-import.md
	 */
	"node/no-unpublished-import"?: Linter.RuleEntry<NodeNoUnpublishedImport>;
	/**
	 * disallow `require()` expressions which import private modules
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-require.md
	 */
	"node/no-unpublished-require"?: Linter.RuleEntry<NodeNoUnpublishedRequire>;
	/**
	 * disallow unsupported ECMAScript built-ins on the specified version
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-builtins.md
	 */
	"node/no-unsupported-features/es-builtins"?: Linter.RuleEntry<NodeNoUnsupportedFeaturesEsBuiltins>;
	/**
	 * disallow unsupported ECMAScript syntax on the specified version
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-syntax.md
	 */
	"node/no-unsupported-features/es-syntax"?: Linter.RuleEntry<NodeNoUnsupportedFeaturesEsSyntax>;
	/**
	 * disallow unsupported Node.js built-in APIs on the specified version
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/node-builtins.md
	 */
	"node/no-unsupported-features/node-builtins"?: Linter.RuleEntry<NodeNoUnsupportedFeaturesNodeBuiltins>;
	/**
	 * enforce either `Buffer` or `require("buffer").Buffer`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/buffer.md
	 */
	"node/prefer-global/buffer"?: Linter.RuleEntry<NodePreferGlobalBuffer>;
	/**
	 * enforce either `console` or `require("console")`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/console.md
	 */
	"node/prefer-global/console"?: Linter.RuleEntry<NodePreferGlobalConsole>;
	/**
	 * enforce either `process` or `require("process")`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/process.md
	 */
	"node/prefer-global/process"?: Linter.RuleEntry<NodePreferGlobalProcess>;
	/**
	 * enforce either `TextDecoder` or `require("util").TextDecoder`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/text-decoder.md
	 */
	"node/prefer-global/text-decoder"?: Linter.RuleEntry<NodePreferGlobalTextDecoder>;
	/**
	 * enforce either `TextEncoder` or `require("util").TextEncoder`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/text-encoder.md
	 */
	"node/prefer-global/text-encoder"?: Linter.RuleEntry<NodePreferGlobalTextEncoder>;
	/**
	 * enforce either `URL` or `require("url").URL`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url.md
	 */
	"node/prefer-global/url"?: Linter.RuleEntry<NodePreferGlobalUrl>;
	/**
	 * enforce either `URLSearchParams` or `require("url").URLSearchParams`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url-search-params.md
	 */
	"node/prefer-global/url-search-params"?: Linter.RuleEntry<NodePreferGlobalUrlSearchParams>;
	/**
	 * enforce using the `node:` protocol when importing Node.js builtin modules.
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-node-protocol.md
	 */
	"node/prefer-node-protocol"?: Linter.RuleEntry<NodePreferNodeProtocol>;
	/**
	 * enforce `require("dns").promises`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/dns.md
	 */
	"node/prefer-promises/dns"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce `require("fs").promises`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/fs.md
	 */
	"node/prefer-promises/fs"?: Linter.RuleEntry<[
	]>;
	/**
	 * require that `process.exit()` expressions use the same code path as `throw`
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/process-exit-as-throw.md
	 */
	"node/process-exit-as-throw"?: Linter.RuleEntry<[
	]>;
	/**
	 * require correct usage of hashbang
	 * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
	 * @deprecated
	 */
	"node/shebang"?: Linter.RuleEntry<NodeShebang>;
	/**
	 * Require returning inside each `then()` to create readable and reusable Promise chains.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/always-return.md
	 */
	"promise/always-return"?: Linter.RuleEntry<PromiseAlwaysReturn>;
	/**
	 * Disallow creating `new` promises outside of utility libs (use [util.promisify][] instead).
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/avoid-new.md
	 */
	"promise/avoid-new"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of `catch()` on un-returned promises.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/catch-or-return.md
	 */
	"promise/catch-or-return"?: Linter.RuleEntry<PromiseCatchOrReturn>;
	/**
	 * Disallow calling `cb()` inside of a `then()` (use [util.callbackify][] instead).
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-callback-in-promise.md
	 */
	"promise/no-callback-in-promise"?: Linter.RuleEntry<PromiseNoCallbackInPromise>;
	/**
	 * Disallow creating new promises with paths that resolve multiple times.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-multiple-resolved.md
	 */
	"promise/no-multiple-resolved"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require creating a `Promise` constructor before using it in an ES5 environment.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-native.md
	 */
	"promise/no-native"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow nested `then()` or `catch()` statements.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-nesting.md
	 */
	"promise/no-nesting"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow calling `new` on a Promise static method.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-new-statics.md
	 */
	"promise/no-new-statics"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow using promises inside of callbacks.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-promise-in-callback.md
	 */
	"promise/no-promise-in-callback"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow return statements in `finally()`.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-return-in-finally.md
	 */
	"promise/no-return-in-finally"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow wrapping values in `Promise.resolve` or `Promise.reject` when not needed.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/no-return-wrap.md
	 */
	"promise/no-return-wrap"?: Linter.RuleEntry<PromiseNoReturnWrap>;
	/**
	 * Enforce consistent param names and ordering when creating new promises.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/param-names.md
	 */
	"promise/param-names"?: Linter.RuleEntry<PromiseParamNames>;
	/**
	 * Prefer `async`/`await` to the callback pattern.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/prefer-await-to-callbacks.md
	 */
	"promise/prefer-await-to-callbacks"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `await` to `then()`/`catch()`/`finally()` for reading Promise values.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/prefer-await-to-then.md
	 */
	"promise/prefer-await-to-then"?: Linter.RuleEntry<PromisePreferAwaitToThen>;
	/**
	 * Prefer `catch` to `then(a, b)`/`then(null, b)` for handling errors.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/prefer-catch.md
	 */
	"promise/prefer-catch"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow use of non-standard Promise static methods.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/spec-only.md
	 */
	"promise/spec-only"?: Linter.RuleEntry<PromiseSpecOnly>;
	/**
	 * Enforces the proper number of arguments are passed to Promise functions.
	 * @see https://github.com/eslint-community/eslint-plugin-promise/blob/main/docs/rules/valid-params.md
	 */
	"promise/valid-params"?: Linter.RuleEntry<PromiseValidParams>;
	/**
	 * disallow void elements (AKA self-closing elements) from having children
	 * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
	 */
	"react-dom/no-children-in-void-dom-elements"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow when a DOM component is using 'dangerouslySetInnerHTML'
	 * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
	 */
	"react-dom/no-dangerously-set-innerhtml"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
	 * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children
	 */
	"react-dom/no-dangerously-set-innerhtml-with-children"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow 'findDOMNode'
	 * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node
	 */
	"react-dom/no-find-dom-node"?: Linter.RuleEntry<[
	]>;
	/**
	 * warns against using `flushSync`
	 * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
	 */
	"react-dom/no-flush-sync"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce that button component have an explicit 'type' attribute
	 * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
	 */
	"react-dom/no-missing-button-type"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce that 'iframe' component have an explicit 'sandbox' attribute
	 * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
	 */
	"react-dom/no-missing-iframe-sandbox"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce that namespaces are not used in React elements
	 * @see https://eslint-react.xyz/docs/rules/dom-no-namespace
	 */
	"react-dom/no-namespace"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow usage of the return value of 'ReactDOM.render'
	 * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value
	 */
	"react-dom/no-render-return-value"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow 'javascript:' URLs as JSX event handler prop's value
	 * @see https://eslint-react.xyz/docs/rules/dom-no-script-url
	 */
	"react-dom/no-script-url"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow usage of unknown DOM property
	 * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
	 */
	"react-dom/no-unknown-property"?: Linter.RuleEntry<ReactDomNoUnknownProperty>;
	/**
	 * disallow unsafe iframe 'sandbox' attribute combinations
	 * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox
	 */
	"react-dom/no-unsafe-iframe-sandbox"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow 'target="_blank"' on an external link without 'rel="noreferrer noopener"'
	 * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank
	 */
	"react-dom/no-unsafe-target-blank"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow void elements (AKA self-closing elements) from having children
	 * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
	 */
	"react-dom/no-void-elements-with-children"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce custom Hooks to use at least one other hook inside
	 * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
	 */
	"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
	 */
	"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
	 */
	"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
	 */
	"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
	 */
	"react-hooks-extra/no-direct-set-state-in-use-layout-effect"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce custom Hooks to use at least one other hook inside
	 * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
	 */
	"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
	 */
	"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
	 */
	"react-hooks-extra/no-unnecessary-use-memo"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce custom Hooks to use at least one other hook inside
	 * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
	 */
	"react-hooks-extra/no-useless-custom-hooks"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow function calls in 'useState' that aren't wrapped in an initializer function
	 * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
	 */
	"react-hooks-extra/prefer-use-state-lazy-initialization"?: Linter.RuleEntry<[
	]>;
	/**
	 * verifies the list of dependencies for Hooks like useEffect and similar
	 * @see https://github.com/facebook/react/issues/14920
	 */
	"react-hooks/exhaustive-deps"?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
	/**
	 * enforces the Rules of Hooks
	 * @see https://reactjs.org/docs/hooks-rules.html
	 */
	"react-hooks/rules-of-hooks"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce naming convention for components
	 * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
	 */
	"react-naming-convention/component-name"?: Linter.RuleEntry<ReactNamingConventionComponentName>;
	/**
	 * enforce context name to be a valid component name with the suffix 'Context'
	 * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name
	 */
	"react-naming-convention/context-name"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce naming convention for JSX filenames
	 * @see https://eslint-react.xyz/docs/rules/naming-convention-filename
	 */
	"react-naming-convention/filename"?: Linter.RuleEntry<ReactNamingConventionFilename>;
	/**
	 * enforce naming convention for JSX file extensions
	 * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
	 */
	"react-naming-convention/filename-extension"?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>;
	/**
	 * enforce destructuring and symmetric naming of 'useState' hook value and setter
	 * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state
	 */
	"react-naming-convention/use-state"?: Linter.RuleEntry<[
	]>;
	"react-refresh/only-export-components"?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
	/**
	 * disallow using shorthand boolean attributes
	 * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
	 */
	"react/avoid-shorthand-boolean"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using shorthand fragment syntax
	 * @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
	 */
	"react/avoid-shorthand-fragment"?: Linter.RuleEntry<[
	]>;
	/**
	 * require a 'ref' parameter to be set when using 'forwardRef'
	 * @see https://eslint-react.xyz/docs/rules/ensure-forward-ref-using-ref
	 */
	"react/ensure-forward-ref-using-ref"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate props
	 * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
	 */
	"react/jsx-no-duplicate-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * marks variables used in JSX as used
	 * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
	 */
	"react/jsx-uses-vars"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow accessing 'this.state' within 'setState'
	 * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
	 */
	"react/no-access-state-in-setstate"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using an item's index in the array as its key
	 * @see https://eslint-react.xyz/docs/rules/no-array-index-key
	 */
	"react/no-array-index-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'Children.count'
	 * @see https://eslint-react.xyz/docs/rules/no-children-count
	 */
	"react/no-children-count"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'Children.forEach'
	 * @see https://eslint-react.xyz/docs/rules/no-children-for-each
	 */
	"react/no-children-for-each"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'Children.map'
	 * @see https://eslint-react.xyz/docs/rules/no-children-map
	 */
	"react/no-children-map"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'Children.only'
	 * @see https://eslint-react.xyz/docs/rules/no-children-only
	 */
	"react/no-children-only"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow passing 'children' as props
	 * @see https://eslint-react.xyz/docs/rules/no-children-prop
	 */
	"react/no-children-prop"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'Children.toArray'
	 * @see https://eslint-react.xyz/docs/rules/no-children-to-array
	 */
	"react/no-children-to-array"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using class components
	 * @see https://eslint-react.xyz/docs/rules/no-class-component
	 */
	"react/no-class-component"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'cloneElement'
	 * @see https://eslint-react.xyz/docs/rules/no-clone-element
	 */
	"react/no-clone-element"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow comments from being inserted as text nodes
	 * @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
	 */
	"react/no-comment-textnodes"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow complex conditional rendering
	 * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
	 */
	"react/no-complex-conditional-rendering"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow complex conditional rendering
	 * @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
	 */
	"react/no-complicated-conditional-rendering"?: Linter.RuleEntry<[
	]>;
	/**
	 * replace 'componentWillMount' with 'UNSAFE_componentWillMount'
	 * @see https://eslint-react.xyz/docs/rules/no-component-will-mount
	 */
	"react/no-component-will-mount"?: Linter.RuleEntry<[
	]>;
	/**
	 * replace 'componentWillReceiveProps' with 'UNSAFE_componentWillReceiveProps'
	 * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props
	 */
	"react/no-component-will-receive-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * replace 'componentWillUpdate' with 'UNSAFE_componentWillUpdate'
	 * @see https://eslint-react.xyz/docs/rules/no-component-will-update
	 */
	"react/no-component-will-update"?: Linter.RuleEntry<[
	]>;
	/**
	 * replace '<Context.Provider>' with '<Context>'
	 * @see https://eslint-react.xyz/docs/rules/no-context-provider
	 */
	"react/no-context-provider"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'createRef' in function components
	 * @see https://eslint-react.xyz/docs/rules/no-create-ref
	 */
	"react/no-create-ref"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'defaultProps' property in components
	 * @see https://eslint-react.xyz/docs/rules/no-default-props
	 */
	"react/no-default-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow direct mutation of state
	 * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
	 */
	"react/no-direct-mutation-state"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate props
	 * @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
	 */
	"react/no-duplicate-jsx-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate keys when rendering list
	 * @see https://eslint-react.xyz/docs/rules/no-duplicate-key
	 */
	"react/no-duplicate-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * replace 'forwardRef' with passing 'ref' as a prop
	 * @see https://eslint-react.xyz/docs/rules/no-forward-ref
	 */
	"react/no-forward-ref"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow implicit 'key' props
	 * @see https://eslint-react.xyz/docs/rules/no-implicit-key
	 */
	"react/no-implicit-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow problematic leaked values from being rendered
	 * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering
	 */
	"react/no-leaked-conditional-rendering"?: Linter.RuleEntry<[
	]>;
	/**
	 * require 'displayName' for 'memo' and 'forwardRef' components
	 * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
	 */
	"react/no-missing-component-display-name"?: Linter.RuleEntry<[
	]>;
	/**
	 * require 'displayName' for contexts.
	 * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
	 */
	"react/no-missing-context-display-name"?: Linter.RuleEntry<[
	]>;
	/**
	 * require 'key' when rendering list
	 * @see https://eslint-react.xyz/docs/rules/no-missing-key
	 */
	"react/no-missing-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using unstable nested components
	 * @see https://eslint-react.xyz/docs/rules/no-nested-components
	 */
	"react/no-nested-components"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'propTypes' property in components
	 * @see https://eslint-react.xyz/docs/rules/no-prop-types
	 */
	"react/no-prop-types"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'shouldComponentUpdate' in class component extends 'React.PureComponent'
	 * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
	 */
	"react/no-redundant-should-component-update"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'setState' in 'componentDidMount'
	 * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount
	 */
	"react/no-set-state-in-component-did-mount"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'setState' in 'componentDidUpdate'
	 * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update
	 */
	"react/no-set-state-in-component-did-update"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'setState' in 'componentWillUpdate'
	 * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update
	 */
	"react/no-set-state-in-component-will-update"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated string refs
	 * @see https://eslint-react.xyz/docs/rules/no-string-refs
	 */
	"react/no-string-refs"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'UNSAFE_componentWillMount'
	 * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
	 */
	"react/no-unsafe-component-will-mount"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'UNSAFE_componentWillReceiveProps'
	 * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
	 */
	"react/no-unsafe-component-will-receive-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using 'UNSAFE_componentWillUpdate'
	 * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
	 */
	"react/no-unsafe-component-will-update"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow passing constructed values to context providers
	 * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
	 */
	"react/no-unstable-context-value"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using unstable value as default param in function component
	 * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
	 */
	"react/no-unstable-default-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unused class component members
	 * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
	 */
	"react/no-unused-class-component-members"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unused state of class component
	 * @see https://eslint-react.xyz/docs/rules/no-unused-state
	 */
	"react/no-unused-state"?: Linter.RuleEntry<[
	]>;
	/**
	 * replace 'useContext' with 'use'
	 * @see https://eslint-react.xyz/docs/rules/no-use-context
	 */
	"react/no-use-context"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow useless fragments
	 * @see https://eslint-react.xyz/docs/rules/no-useless-fragment
	 */
	"react/no-useless-fragment"?: Linter.RuleEntry<ReactNoUselessFragment>;
	/**
	 * enforce using destructuring assignment in component props and context
	 * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
	 */
	"react/prefer-destructuring-assignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce React is imported via a namespace import
	 * @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
	 */
	"react/prefer-react-namespace-import"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce read-only props in components
	 * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
	 */
	"react/prefer-read-only-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce the use of shorthand syntax for boolean attributes
	 * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
	 */
	"react/prefer-shorthand-boolean"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce the use of shorthand syntax for fragments
	 * @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
	 */
	"react/prefer-shorthand-fragment"?: Linter.RuleEntry<[
	]>;
	/**
	 * marks variables used in JSX as used
	 * @see https://eslint-react.xyz/docs/rules/use-jsx-vars
	 */
	"react/use-jsx-vars"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow confusing quantifiers
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/confusing-quantifier.html
	 */
	"regexp/confusing-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent escaping of control characters
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/control-character-escape.html
	 */
	"regexp/control-character-escape"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce single grapheme in string literal
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/grapheme-string-literal.html
	 */
	"regexp/grapheme-string-literal"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent usage of hexadecimal escape
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/hexadecimal-escape.html
	 */
	"regexp/hexadecimal-escape"?: Linter.RuleEntry<RegexpHexadecimalEscape>;
	/**
	 * enforce into your favorite case
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/letter-case.html
	 */
	"regexp/letter-case"?: Linter.RuleEntry<RegexpLetterCase>;
	/**
	 * enforce match any character style
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/match-any.html
	 */
	"regexp/match-any"?: Linter.RuleEntry<RegexpMatchAny>;
	/**
	 * enforce use of escapes on negation
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/negation.html
	 */
	"regexp/negation"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow elements that contradict assertions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-contradiction-with-assertion.html
	 */
	"regexp/no-contradiction-with-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow control characters
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-control-character.html
	 */
	"regexp/no-control-character"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate characters in the RegExp character class
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-characters-character-class.html
	 */
	"regexp/no-dupe-characters-character-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate disjunctions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-dupe-disjunctions.html
	 */
	"regexp/no-dupe-disjunctions"?: Linter.RuleEntry<RegexpNoDupeDisjunctions>;
	/**
	 * disallow alternatives without elements
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-alternative.html
	 */
	"regexp/no-empty-alternative"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow capturing group that captures empty.
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-capturing-group.html
	 */
	"regexp/no-empty-capturing-group"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow character classes that match no characters
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-character-class.html
	 */
	"regexp/no-empty-character-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow empty group
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-group.html
	 */
	"regexp/no-empty-group"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow empty lookahead assertion or empty lookbehind assertion
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-lookarounds-assertion.html
	 */
	"regexp/no-empty-lookarounds-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow empty string literals in character classes
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-empty-string-literal.html
	 */
	"regexp/no-empty-string-literal"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow escape backspace (`[\b]`)
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-escape-backspace.html
	 */
	"regexp/no-escape-backspace"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary nested lookaround assertions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-extra-lookaround-assertions.html
	 */
	"regexp/no-extra-lookaround-assertions"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow invalid regular expression strings in `RegExp` constructors
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invalid-regexp.html
	 */
	"regexp/no-invalid-regexp"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow invisible raw character
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-invisible-character.html
	 */
	"regexp/no-invisible-character"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow lazy quantifiers at the end of an expression
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-lazy-ends.html
	 */
	"regexp/no-lazy-ends"?: Linter.RuleEntry<RegexpNoLazyEnds>;
	/**
	 * disallow legacy RegExp features
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-legacy-features.html
	 */
	"regexp/no-legacy-features"?: Linter.RuleEntry<RegexpNoLegacyFeatures>;
	/**
	 * disallow capturing groups that do not behave as one would expect
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-capturing-group.html
	 */
	"regexp/no-misleading-capturing-group"?: Linter.RuleEntry<RegexpNoMisleadingCapturingGroup>;
	/**
	 * disallow multi-code-point characters in character classes and quantifiers
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-misleading-unicode-character.html
	 */
	"regexp/no-misleading-unicode-character"?: Linter.RuleEntry<RegexpNoMisleadingUnicodeCharacter>;
	/**
	 * disallow missing `g` flag in patterns used in `String#matchAll` and `String#replaceAll`
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-missing-g-flag.html
	 */
	"regexp/no-missing-g-flag"?: Linter.RuleEntry<RegexpNoMissingGFlag>;
	/**
	 * disallow non-standard flags
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-non-standard-flag.html
	 */
	"regexp/no-non-standard-flag"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow obscure character ranges
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-obscure-range.html
	 */
	"regexp/no-obscure-range"?: Linter.RuleEntry<RegexpNoObscureRange>;
	/**
	 * disallow octal escape sequence
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-octal.html
	 */
	"regexp/no-octal"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow optional assertions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-optional-assertion.html
	 */
	"regexp/no-optional-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow backreferences that reference a group that might not be matched
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-potentially-useless-backreference.html
	 */
	"regexp/no-potentially-useless-backreference"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow standalone backslashes (`\`)
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-standalone-backslash.html
	 */
	"regexp/no-standalone-backslash"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow exponential and polynomial backtracking
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-backtracking.html
	 */
	"regexp/no-super-linear-backtracking"?: Linter.RuleEntry<RegexpNoSuperLinearBacktracking>;
	/**
	 * disallow quantifiers that cause quadratic moves
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-super-linear-move.html
	 */
	"regexp/no-super-linear-move"?: Linter.RuleEntry<RegexpNoSuperLinearMove>;
	/**
	 * disallow trivially nested assertions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-trivially-nested-assertion.html
	 */
	"regexp/no-trivially-nested-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow nested quantifiers that can be rewritten as one quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-trivially-nested-quantifier.html
	 */
	"regexp/no-trivially-nested-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unused capturing group
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-unused-capturing-group.html
	 */
	"regexp/no-unused-capturing-group"?: Linter.RuleEntry<RegexpNoUnusedCapturingGroup>;
	/**
	 * disallow assertions that are known to always accept (or reject)
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-assertions.html
	 */
	"regexp/no-useless-assertions"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow useless backreferences in regular expressions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-backreference.html
	 */
	"regexp/no-useless-backreference"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow character class with one character
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-character-class.html
	 */
	"regexp/no-useless-character-class"?: Linter.RuleEntry<RegexpNoUselessCharacterClass>;
	/**
	 * disallow useless `$` replacements in replacement string
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-dollar-replacements.html
	 */
	"regexp/no-useless-dollar-replacements"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary escape characters in RegExp
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-escape.html
	 */
	"regexp/no-useless-escape"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary regex flags
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-flag.html
	 */
	"regexp/no-useless-flag"?: Linter.RuleEntry<RegexpNoUselessFlag>;
	/**
	 * disallow unnecessarily non-greedy quantifiers
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-lazy.html
	 */
	"regexp/no-useless-lazy"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary non-capturing group
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-non-capturing-group.html
	 */
	"regexp/no-useless-non-capturing-group"?: Linter.RuleEntry<RegexpNoUselessNonCapturingGroup>;
	/**
	 * disallow quantifiers that can be removed
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-quantifier.html
	 */
	"regexp/no-useless-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary character ranges
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-range.html
	 */
	"regexp/no-useless-range"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary elements in expression character classes
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-set-operand.html
	 */
	"regexp/no-useless-set-operand"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow string disjunction of single characters in `\q{...}`
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-string-literal.html
	 */
	"regexp/no-useless-string-literal"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary `{n,m}` quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-useless-two-nums-quantifier.html
	 */
	"regexp/no-useless-two-nums-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow quantifiers with a maximum of zero
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/no-zero-quantifier.html
	 */
	"regexp/no-zero-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow the alternatives of lookarounds that end with a non-constant quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/optimal-lookaround-quantifier.html
	 */
	"regexp/optimal-lookaround-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * require optimal quantifiers for concatenated quantifiers
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/optimal-quantifier-concatenation.html
	 */
	"regexp/optimal-quantifier-concatenation"?: Linter.RuleEntry<RegexpOptimalQuantifierConcatenation>;
	/**
	 * Optimize regex literals
	 */
	"regexp/optimize-regex"?: Linter.RuleEntry<RegexpOptimizeRegex>;
	/**
	 * enforce using character class
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-character-class.html
	 */
	"regexp/prefer-character-class"?: Linter.RuleEntry<RegexpPreferCharacterClass>;
	/**
	 * enforce using `\d`
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-d.html
	 */
	"regexp/prefer-d"?: Linter.RuleEntry<RegexpPreferD>;
	/**
	 * enforces escape of replacement `$` character (`$$`).
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-escape-replacement-dollar-char.html
	 */
	"regexp/prefer-escape-replacement-dollar-char"?: Linter.RuleEntry<[
	]>;
	/**
	 * prefer lookarounds over capturing group that do not replace
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-lookaround.html
	 */
	"regexp/prefer-lookaround"?: Linter.RuleEntry<RegexpPreferLookaround>;
	/**
	 * enforce using named backreferences
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-named-backreference.html
	 */
	"regexp/prefer-named-backreference"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using named capture groups
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-named-capture-group.html
	 */
	"regexp/prefer-named-capture-group"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using named replacement
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-named-replacement.html
	 */
	"regexp/prefer-named-replacement"?: Linter.RuleEntry<RegexpPreferNamedReplacement>;
	/**
	 * enforce using `+` quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-plus-quantifier.html
	 */
	"regexp/prefer-plus-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * prefer predefined assertion over equivalent lookarounds
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-predefined-assertion.html
	 */
	"regexp/prefer-predefined-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-quantifier.html
	 */
	"regexp/prefer-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `?` quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-question-quantifier.html
	 */
	"regexp/prefer-question-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using character class range
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-range.html
	 */
	"regexp/prefer-range"?: Linter.RuleEntry<RegexpPreferRange>;
	/**
	 * enforce that `RegExp#exec` is used instead of `String#match` if no global flag is provided
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-exec.html
	 */
	"regexp/prefer-regexp-exec"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce that `RegExp#test` is used instead of `String#match` and `RegExp#exec`
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-regexp-test.html
	 */
	"regexp/prefer-regexp-test"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using result array `groups`
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-result-array-groups.html
	 */
	"regexp/prefer-result-array-groups"?: Linter.RuleEntry<RegexpPreferResultArrayGroups>;
	/**
	 * prefer character class set operations instead of lookarounds
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-set-operation.html
	 */
	"regexp/prefer-set-operation"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `*` quantifier
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-star-quantifier.html
	 */
	"regexp/prefer-star-quantifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce use of unicode codepoint escapes
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-unicode-codepoint-escapes.html
	 */
	"regexp/prefer-unicode-codepoint-escapes"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `\w`
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/prefer-w.html
	 */
	"regexp/prefer-w"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce the use of the `u` flag
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-regexp.html
	 */
	"regexp/require-unicode-regexp"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce the use of the `v` flag
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/require-unicode-sets-regexp.html
	 */
	"regexp/require-unicode-sets-regexp"?: Linter.RuleEntry<[
	]>;
	/**
	 * require simplify set operations
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/simplify-set-operations.html
	 */
	"regexp/simplify-set-operations"?: Linter.RuleEntry<[
	]>;
	/**
	 * sort alternatives if order doesn't matter
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-alternatives.html
	 */
	"regexp/sort-alternatives"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforces elements order in character class
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-character-class-elements.html
	 */
	"regexp/sort-character-class-elements"?: Linter.RuleEntry<RegexpSortCharacterClassElements>;
	/**
	 * require regex flags to be sorted
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/sort-flags.html
	 */
	"regexp/sort-flags"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow not strictly valid regular expressions
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/strict.html
	 */
	"regexp/strict"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent usage of unicode escape or unicode codepoint escape
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-escape.html
	 */
	"regexp/unicode-escape"?: Linter.RuleEntry<RegexpUnicodeEscape>;
	/**
	 * enforce consistent naming of unicode properties
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/unicode-property.html
	 */
	"regexp/unicode-property"?: Linter.RuleEntry<RegexpUnicodeProperty>;
	/**
	 * use the `i` flag if it simplifies the pattern
	 * @see https://ota-meshi.github.io/eslint-plugin-regexp/rules/use-ignore-case.html
	 */
	"regexp/use-ignore-case"?: Linter.RuleEntry<[
	]>;
	/**
	 * Alternatives in regular expressions should be grouped when used with anchors
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5850/javascript
	 */
	"sonar/anchor-precedence"?: Linter.RuleEntry<[
	]>;
	/**
	 * Arguments to built-in functions should match documented types
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3782/javascript
	 */
	"sonar/argument-type"?: Linter.RuleEntry<[
	]>;
	/**
	 * Parameters should be passed in the correct order
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2234/javascript
	 */
	"sonar/arguments-order"?: Linter.RuleEntry<SonarArgumentsOrder>;
	/**
	 * "arguments" should not be accessed directly
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3513/javascript
	 */
	"sonar/arguments-usage"?: Linter.RuleEntry<SonarArgumentsUsage>;
	/**
	 * Callbacks of array methods should have return statements
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3796/javascript
	 */
	"sonar/array-callback-without-return"?: Linter.RuleEntry<[
	]>;
	/**
	 * Array constructors should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1528/javascript
	 */
	"sonar/array-constructor"?: Linter.RuleEntry<[
	]>;
	/**
	 * Braces and parentheses should be used consistently with arrow functions
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3524/javascript
	 */
	"sonar/arrow-function-convention"?: Linter.RuleEntry<SonarArrowFunctionConvention>;
	/**
	 * Tests should include assertions
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2699/javascript
	 */
	"sonar/assertions-in-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * Creating public APIs is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6333/javascript
	 */
	"sonar/aws-apigateway-public-api"?: Linter.RuleEntry<[
	]>;
	/**
	 * Allowing public network access to cloud resources is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6329/javascript
	 */
	"sonar/aws-ec2-rds-dms-public"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using unencrypted EBS volumes is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6275/javascript
	 */
	"sonar/aws-ec2-unencrypted-ebs-volume"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using unencrypted EFS file systems is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6332/javascript
	 */
	"sonar/aws-efs-unencrypted"?: Linter.RuleEntry<[
	]>;
	/**
	 * Policies granting all privileges are security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6302/javascript
	 */
	"sonar/aws-iam-all-privileges"?: Linter.RuleEntry<SonarAwsIamAllPrivileges>;
	/**
	 * Policies granting access to all resources of an account are security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6304/javascript
	 */
	"sonar/aws-iam-all-resources-accessible"?: Linter.RuleEntry<SonarAwsIamAllResourcesAccessible>;
	/**
	 * AWS IAM policies should limit the scope of permissions given
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6317/javascript
	 */
	"sonar/aws-iam-privilege-escalation"?: Linter.RuleEntry<SonarAwsIamPrivilegeEscalation>;
	/**
	 * Policies authorizing public access to resources are security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6270/javascript
	 */
	"sonar/aws-iam-public-access"?: Linter.RuleEntry<SonarAwsIamPublicAccess>;
	/**
	 * Using unencrypted Elasticsearch domains is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6308/javascript
	 */
	"sonar/aws-opensearchservice-domain"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using unencrypted RDS DB resources is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6303/javascript
	 */
	"sonar/aws-rds-unencrypted-databases"?: Linter.RuleEntry<[
	]>;
	/**
	 * Administration services access should be restricted to specific IP addresses
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6321/javascript
	 */
	"sonar/aws-restricted-ip-admin-access"?: Linter.RuleEntry<[
	]>;
	/**
	 * Granting access to S3 buckets to all or authenticated users is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6265/javascript
	 */
	"sonar/aws-s3-bucket-granted-access"?: Linter.RuleEntry<SonarAwsS3BucketGrantedAccess>;
	/**
	 * Authorizing HTTP communications with S3 buckets is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6249/javascript
	 */
	"sonar/aws-s3-bucket-insecure-http"?: Linter.RuleEntry<[
	]>;
	/**
	 * Allowing public ACLs or policies on a S3 bucket is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6281/javascript
	 */
	"sonar/aws-s3-bucket-public-access"?: Linter.RuleEntry<SonarAwsS3BucketPublicAccess>;
	/**
	 * Disabling server-side encryption of S3 buckets is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6245/javascript
	 * @deprecated
	 */
	"sonar/aws-s3-bucket-server-encryption"?: Linter.RuleEntry<SonarAwsS3BucketServerEncryption>;
	/**
	 * Disabling versioning of S3 buckets is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6252/javascript
	 */
	"sonar/aws-s3-bucket-versioning"?: Linter.RuleEntry<SonarAwsS3BucketVersioning>;
	/**
	 * Using unencrypted SageMaker notebook instances is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6319/javascript
	 */
	"sonar/aws-sagemaker-unencrypted-notebook"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using unencrypted SNS topics is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6327/javascript
	 */
	"sonar/aws-sns-unencrypted-topics"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using unencrypted SQS queues is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6330/javascript
	 */
	"sonar/aws-sqs-unencrypted-queue"?: Linter.RuleEntry<[
	]>;
	/**
	 * Bitwise operators should not be used in boolean contexts
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1529/javascript
	 */
	"sonar/bitwise-operators"?: Linter.RuleEntry<[
	]>;
	/**
	 * Variables should be used in the blocks where they are declared
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2392/javascript
	 */
	"sonar/block-scoped-var"?: Linter.RuleEntry<SonarBlockScopedVar>;
	/**
	 * Optional boolean parameters should have default value
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4798/javascript
	 */
	"sonar/bool-param-default"?: Linter.RuleEntry<[
	]>;
	/**
	 * Function call arguments should not start on new lines
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1472/javascript
	 */
	"sonar/call-argument-line"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disabling Certificate Transparency monitoring is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5742/javascript
	 * @deprecated
	 */
	"sonar/certificate-transparency"?: Linter.RuleEntry<SonarCertificateTransparency>;
	/**
	 * Chai assertions should have only one reason to succeed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6092/javascript
	 */
	"sonar/chai-determinate-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * Class names should comply with a naming convention
	 * @see https://sonarsource.github.io/rspec/#/rspec/S101/javascript
	 */
	"sonar/class-name"?: Linter.RuleEntry<SonarClassName>;
	/**
	 * Class methods should be used instead of "prototype" assignments
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3525/javascript
	 */
	"sonar/class-prototype"?: Linter.RuleEntry<[
	]>;
	/**
	 * Dynamically executing code is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1523/javascript
	 */
	"sonar/code-eval"?: Linter.RuleEntry<[
	]>;
	/**
	 * Cognitive Complexity of functions should not be too high
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3776/javascript
	 */
	"sonar/cognitive-complexity"?: Linter.RuleEntry<SonarCognitiveComplexity>;
	/**
	 * Comma and logical OR operators should not be used in switch cases
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3616/javascript
	 */
	"sonar/comma-or-logical-or-case"?: Linter.RuleEntry<[
	]>;
	/**
	 * Track comments matching a regular expression
	 * @see https://sonarsource.github.io/rspec/#/rspec/S124/javascript
	 */
	"sonar/comment-regex"?: Linter.RuleEntry<SonarCommentRegex>;
	/**
	 * Regular expression quantifiers and character classes should be used concisely
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6353/javascript
	 */
	"sonar/concise-regex"?: Linter.RuleEntry<[
	]>;
	/**
	 * A conditionally executed single line should be denoted by indentation
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3973/javascript
	 * @deprecated
	 */
	"sonar/conditional-indentation"?: Linter.RuleEntry<SonarConditionalIndentation>;
	/**
	 * Allowing confidential information to be logged is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5757/javascript
	 */
	"sonar/confidential-information-logging"?: Linter.RuleEntry<SonarConfidentialInformationLogging>;
	/**
	 * Objects should not be created to be dropped immediately without being used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1848/javascript
	 */
	"sonar/constructor-for-side-effects"?: Linter.RuleEntry<[
	]>;
	/**
	 * Allowing requests with excessive content length is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5693/javascript
	 */
	"sonar/content-length"?: Linter.RuleEntry<SonarContentLength>;
	/**
	 * Disabling content security policy fetch directives is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5728/javascript
	 */
	"sonar/content-security-policy"?: Linter.RuleEntry<SonarContentSecurityPolicy>;
	/**
	 * Creating cookies without the "HttpOnly" flag is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3330/javascript
	 */
	"sonar/cookie-no-httponly"?: Linter.RuleEntry<SonarCookieNoHttponly>;
	/**
	 * Writing cookies is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2255/javascript
	 * @deprecated
	 */
	"sonar/cookies"?: Linter.RuleEntry<[
	]>;
	/**
	 * Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5122/javascript
	 */
	"sonar/cors"?: Linter.RuleEntry<SonarCors>;
	/**
	 * Disabling CSRF protections is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4502/javascript
	 */
	"sonar/csrf"?: Linter.RuleEntry<SonarCsrf>;
	/**
	 * Cyclomatic Complexity of functions should not be too high
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1541/javascript
	 */
	"sonar/cyclomatic-complexity"?: Linter.RuleEntry<SonarCyclomaticComplexity>;
	/**
	 * Variables and functions should not be declared in the global scope
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3798/javascript
	 */
	"sonar/declarations-in-global-scope"?: Linter.RuleEntry<[
	]>;
	/**
	 * Deprecated APIs should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1874/javascript
	 */
	"sonar/deprecation"?: Linter.RuleEntry<[
	]>;
	/**
	 * Destructuring syntax should be used for assignments
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3514/javascript
	 */
	"sonar/destructuring-assignment-syntax"?: Linter.RuleEntry<SonarDestructuringAssignmentSyntax>;
	/**
	 * Strict equality operators should not be used with dissimilar types
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3403/javascript
	 */
	"sonar/different-types-comparison"?: Linter.RuleEntry<SonarDifferentTypesComparison>;
	/**
	 * Disabling auto-escaping in template engines is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5247/javascript
	 */
	"sonar/disabled-auto-escaping"?: Linter.RuleEntry<SonarDisabledAutoEscaping>;
	/**
	 * Using remote artifacts without integrity checks is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5725/javascript
	 */
	"sonar/disabled-resource-integrity"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disabling Mocha timeouts should be explicit
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6080/javascript
	 */
	"sonar/disabled-timeout"?: Linter.RuleEntry<[
	]>;
	/**
	 * Allowing browsers to perform DNS prefetching is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5743/javascript
	 * @deprecated
	 */
	"sonar/dns-prefetching"?: Linter.RuleEntry<SonarDnsPrefetching>;
	/**
	 * Character classes in regular expressions should not contain the same character twice
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5869/javascript
	 */
	"sonar/duplicates-in-character-class"?: Linter.RuleEntry<SonarDuplicatesInCharacterClass>;
	/**
	 * "if ... else if" constructs should end with "else" clauses
	 * @see https://sonarsource.github.io/rspec/#/rspec/S126/javascript
	 */
	"sonar/elseif-without-else"?: Linter.RuleEntry<[
	]>;
	/**
	 * Repeated patterns in regular expressions should not match the empty string
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5842/javascript
	 */
	"sonar/empty-string-repetition"?: Linter.RuleEntry<[
	]>;
	/**
	 * Encrypting data is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4787/javascript
	 * @deprecated
	 */
	"sonar/encryption"?: Linter.RuleEntry<[
	]>;
	/**
	 * Encryption algorithms should be used with secure mode and padding scheme
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5542/javascript
	 */
	"sonar/encryption-secure-mode"?: Linter.RuleEntry<[
	]>;
	/**
	 * Trailing commas should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3723/javascript
	 * @deprecated
	 */
	"sonar/enforce-trailing-comma"?: Linter.RuleEntry<SonarEnforceTrailingComma>;
	/**
	 * Replacement strings should reference existing regular expression groups
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6328/javascript
	 */
	"sonar/existing-groups"?: Linter.RuleEntry<[
	]>;
	/**
	 * Expressions should not be too complex
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1067/javascript
	 */
	"sonar/expression-complexity"?: Linter.RuleEntry<SonarExpressionComplexity>;
	/**
	 * Track lack of copyright and license headers
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1451/javascript
	 */
	"sonar/file-header"?: Linter.RuleEntry<SonarFileHeader>;
	/**
	 * Default export names and file names should match
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3317/javascript
	 */
	"sonar/file-name-differ-from-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * Setting loose POSIX file permissions is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2612/javascript
	 */
	"sonar/file-permissions"?: Linter.RuleEntry<[
	]>;
	/**
	 * File uploads should be restricted
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2598/javascript
	 */
	"sonar/file-uploads"?: Linter.RuleEntry<SonarFileUploads>;
	/**
	 * Track uses of "FIXME" tags
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1134/javascript
	 */
	"sonar/fixme-tag"?: Linter.RuleEntry<[
	]>;
	/**
	 * "for...in" loops should filter properties before acting on them
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1535/javascript
	 */
	"sonar/for-in"?: Linter.RuleEntry<[
	]>;
	/**
	 * A "for" loop update clause should move the counter in the right direction
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2251/javascript
	 */
	"sonar/for-loop-increment-sign"?: Linter.RuleEntry<SonarForLoopIncrementSign>;
	/**
	 * Disabling content security policy frame-ancestors directive is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5732/javascript
	 */
	"sonar/frame-ancestors"?: Linter.RuleEntry<SonarFrameAncestors>;
	/**
	 * Functions should not be defined inside loops
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1515/javascript
	 */
	"sonar/function-inside-loop"?: Linter.RuleEntry<SonarFunctionInsideLoop>;
	/**
	 * Function and method names should comply with a naming convention
	 * @see https://sonarsource.github.io/rspec/#/rspec/S100/javascript
	 */
	"sonar/function-name"?: Linter.RuleEntry<SonarFunctionName>;
	/**
	 * Functions should always return the same type
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3800/javascript
	 */
	"sonar/function-return-type"?: Linter.RuleEntry<SonarFunctionReturnType>;
	/**
	 * Future reserved words should not be used as identifiers
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1527/javascript
	 */
	"sonar/future-reserved-words"?: Linter.RuleEntry<[
	]>;
	/**
	 * Generators should explicitly "yield" a value
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3531/javascript
	 */
	"sonar/generator-without-yield"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using weak hashing algorithms is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4790/javascript
	 */
	"sonar/hashing"?: Linter.RuleEntry<[
	]>;
	/**
	 * Statically serving hidden files is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5691/javascript
	 */
	"sonar/hidden-files"?: Linter.RuleEntry<[
	]>;
	/**
	 * "in" should not be used with primitive types
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3785/javascript
	 */
	"sonar/in-operator-type-error"?: Linter.RuleEntry<SonarInOperatorTypeError>;
	/**
	 * Functions should be called consistently with or without "new"
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3686/javascript
	 */
	"sonar/inconsistent-function-call"?: Linter.RuleEntry<SonarInconsistentFunctionCall>;
	/**
	 * "indexOf" checks should not be for positive numbers
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2692/javascript
	 */
	"sonar/index-of-compare-to-positive-number"?: Linter.RuleEntry<[
	]>;
	/**
	 * Creating cookies without the "secure" flag is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2092/javascript
	 */
	"sonar/insecure-cookie"?: Linter.RuleEntry<SonarInsecureCookie>;
	/**
	 * JWT should be signed and verified with strong cipher algorithms
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5659/javascript
	 */
	"sonar/insecure-jwt-token"?: Linter.RuleEntry<SonarInsecureJwtToken>;
	/**
	 * Assertion arguments should be passed in the correct order
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3415/javascript
	 */
	"sonar/inverted-assertion-arguments"?: Linter.RuleEntry<SonarInvertedAssertionArguments>;
	/**
	 * React components should not render non-boolean condition values
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6439/javascript
	 */
	"sonar/jsx-no-leaked-render"?: Linter.RuleEntry<[
	]>;
	/**
	 * Only "while", "do", "for" and "switch" statements should be labelled
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1439/javascript
	 */
	"sonar/label-position"?: Linter.RuleEntry<[
	]>;
	/**
	 * Authorizing an opened window to access back to the originating window is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5148/javascript
	 */
	"sonar/link-with-target-blank"?: Linter.RuleEntry<[
	]>;
	/**
	 * Files should not have too many lines of code
	 * @see https://sonarsource.github.io/rspec/#/rspec/S104/javascript
	 */
	"sonar/max-lines"?: Linter.RuleEntry<SonarMaxLines>;
	/**
	 * Functions should not have too many lines of code
	 * @see https://sonarsource.github.io/rspec/#/rspec/S138/javascript
	 */
	"sonar/max-lines-per-function"?: Linter.RuleEntry<SonarMaxLinesPerFunction>;
	/**
	 * "switch" statements should not have too many "case" clauses
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1479/javascript
	 */
	"sonar/max-switch-cases"?: Linter.RuleEntry<SonarMaxSwitchCases>;
	/**
	 * Union types should not have too many elements
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4622/javascript
	 */
	"sonar/max-union-size"?: Linter.RuleEntry<SonarMaxUnionSize>;
	/**
	 * "for" loop increment clauses should modify the loops' counters
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1994/javascript
	 */
	"sonar/misplaced-loop-counter"?: Linter.RuleEntry<[
	]>;
	/**
	 * Control flow statements "if", "for", "while", "switch" and "try" should not be nested too deeply
	 * @see https://sonarsource.github.io/rspec/#/rspec/S134/javascript
	 */
	"sonar/nested-control-flow"?: Linter.RuleEntry<SonarNestedControlFlow>;
	/**
	 * "new" should only be used with functions and classes
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2999/javascript
	 */
	"sonar/new-operator-misuse"?: Linter.RuleEntry<SonarNewOperatorMisuse>;
	/**
	 * All branches in a conditional structure should not have exactly the same implementation
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3923/javascript
	 */
	"sonar/no-all-duplicated-branches"?: Linter.RuleEntry<[
	]>;
	/**
	 * "Array.prototype.sort()" and "Array.prototype.toSorted()" should use a compare function
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2871/javascript
	 */
	"sonar/no-alphabetical-sort"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disabling Angular built-in sanitization is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6268/javascript
	 */
	"sonar/no-angular-bypass-sanitization"?: Linter.RuleEntry<[
	]>;
	/**
	 * "delete" should not be used on arrays
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2870/javascript
	 */
	"sonar/no-array-delete"?: Linter.RuleEntry<[
	]>;
	/**
	 * Array indexes should be numeric
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3579/javascript
	 */
	"sonar/no-associative-arrays"?: Linter.RuleEntry<[
	]>;
	/**
	 * Constructors should not contain asynchronous operations
	 * @see https://sonarsource.github.io/rspec/#/rspec/S7059/javascript
	 */
	"sonar/no-async-constructor"?: Linter.RuleEntry<[
	]>;
	/**
	 * Built-in objects should not be overridden
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2424/javascript
	 */
	"sonar/no-built-in-override"?: Linter.RuleEntry<[
	]>;
	/**
	 * "switch" statements should not contain non-case labels
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1219/javascript
	 */
	"sonar/no-case-label-in-switch"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using clear-text protocols is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5332/javascript
	 */
	"sonar/no-clear-text-protocols"?: Linter.RuleEntry<[
	]>;
	/**
	 * Tests should not execute any code after "done()" is called
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6079/javascript
	 */
	"sonar/no-code-after-done"?: Linter.RuleEntry<SonarNoCodeAfterDone>;
	/**
	 * Mergeable "if" statements should be combined
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1066/javascript
	 */
	"sonar/no-collapsible-if"?: Linter.RuleEntry<SonarNoCollapsibleIf>;
	/**
	 * Collection size and array length comparisons should make sense
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3981/javascript
	 */
	"sonar/no-collection-size-mischeck"?: Linter.RuleEntry<[
	]>;
	/**
	 * Sections of code should not be commented out
	 * @see https://sonarsource.github.io/rspec/#/rspec/S125/javascript
	 */
	"sonar/no-commented-code"?: Linter.RuleEntry<[
	]>;
	/**
	 * Regular expressions should not contain control characters
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6324/javascript
	 */
	"sonar/no-control-regex"?: Linter.RuleEntry<[
	]>;
	/**
	 * Unused assignments should be removed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1854/javascript
	 */
	"sonar/no-dead-store"?: Linter.RuleEntry<[
	]>;
	/**
	 * "delete" should be used only with object properties
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3001/javascript
	 */
	"sonar/no-delete-var"?: Linter.RuleEntry<[
	]>;
	/**
	 * Union and intersection types should not include duplicated constituents
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4621/javascript
	 */
	"sonar/no-duplicate-in-composite"?: Linter.RuleEntry<SonarNoDuplicateInComposite>;
	/**
	 * String literals should not be duplicated
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1192/javascript
	 */
	"sonar/no-duplicate-string"?: Linter.RuleEntry<SonarNoDuplicateString>;
	/**
	 * Two branches in a conditional structure should not have exactly the same implementation
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1871/javascript
	 */
	"sonar/no-duplicated-branches"?: Linter.RuleEntry<SonarNoDuplicatedBranches>;
	/**
	 * Collection elements should not be replaced unconditionally
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4143/javascript
	 */
	"sonar/no-element-overwrite"?: Linter.RuleEntry<SonarNoElementOverwrite>;
	/**
	 * Reluctant quantifiers in regular expressions should be followed by an expression that can't match the empty string
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6019/javascript
	 */
	"sonar/no-empty-after-reluctant"?: Linter.RuleEntry<[
	]>;
	/**
	 * Alternation in regular expressions should not contain empty alternatives
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6323/javascript
	 */
	"sonar/no-empty-alternatives"?: Linter.RuleEntry<[
	]>;
	/**
	 * Empty character classes should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2639/javascript
	 */
	"sonar/no-empty-character-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * Empty collections should not be accessed or iterated
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4158/javascript
	 */
	"sonar/no-empty-collection"?: Linter.RuleEntry<[
	]>;
	/**
	 * Regular expressions should not contain empty groups
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6331/javascript
	 */
	"sonar/no-empty-group"?: Linter.RuleEntry<[
	]>;
	/**
	 * Test files should contain at least one test case
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2187/javascript
	 */
	"sonar/no-empty-test-file"?: Linter.RuleEntry<[
	]>;
	/**
	 * Equality operators should not be used in "for" loop termination conditions
	 * @see https://sonarsource.github.io/rspec/#/rspec/S888/javascript
	 */
	"sonar/no-equals-in-for-termination"?: Linter.RuleEntry<[
	]>;
	/**
	 * Exclusive tests should not be commited to version control
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6426/javascript
	 */
	"sonar/no-exclusive-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * Function calls should not pass extra arguments
	 * @see https://sonarsource.github.io/rspec/#/rspec/S930/javascript
	 */
	"sonar/no-extra-arguments"?: Linter.RuleEntry<SonarNoExtraArguments>;
	/**
	 * Switch cases should end with an unconditional "break" statement
	 * @see https://sonarsource.github.io/rspec/#/rspec/S128/javascript
	 */
	"sonar/no-fallthrough"?: Linter.RuleEntry<[
	]>;
	/**
	 * "for in" should not be used with iterables
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4139/javascript
	 */
	"sonar/no-for-in-iterable"?: Linter.RuleEntry<[
	]>;
	/**
	 * Function declarations should not be made within blocks
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1530/javascript
	 */
	"sonar/no-function-declaration-in-block"?: Linter.RuleEntry<[
	]>;
	/**
	 * The global "this" object should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2990/javascript
	 */
	"sonar/no-global-this"?: Linter.RuleEntry<[
	]>;
	/**
	 * Special identifiers should not be bound or assigned
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2137/javascript
	 */
	"sonar/no-globals-shadowing"?: Linter.RuleEntry<[
	]>;
	/**
	 * Boolean expressions should not be gratuitous
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2589/javascript
	 */
	"sonar/no-gratuitous-expressions"?: Linter.RuleEntry<SonarNoGratuitousExpressions>;
	/**
	 * Using hardcoded IP addresses is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1313/javascript
	 */
	"sonar/no-hardcoded-ip"?: Linter.RuleEntry<[
	]>;
	/**
	 * Hard-coded passwords are security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2068/javascript
	 */
	"sonar/no-hardcoded-passwords"?: Linter.RuleEntry<SonarNoHardcodedPasswords>;
	/**
	 * Hard-coded secrets are security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6418/javascript
	 */
	"sonar/no-hardcoded-secrets"?: Linter.RuleEntry<SonarNoHardcodedSecrets>;
	/**
	 * React's useState hook should not be used directly in the render function or body of a component
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6442/javascript
	 */
	"sonar/no-hook-setter-in-body"?: Linter.RuleEntry<[
	]>;
	/**
	 * "if/else if" chains and "switch" cases should not have the same condition
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1862/javascript
	 */
	"sonar/no-identical-conditions"?: Linter.RuleEntry<SonarNoIdenticalConditions>;
	/**
	 * Identical expressions should not be used on both sides of a binary operator
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1764/javascript
	 */
	"sonar/no-identical-expressions"?: Linter.RuleEntry<SonarNoIdenticalExpressions>;
	/**
	 * Functions should not have identical implementations
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4144/javascript
	 */
	"sonar/no-identical-functions"?: Linter.RuleEntry<SonarNoIdenticalFunctions>;
	/**
	 * Exceptions should not be ignored
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2486/javascript
	 */
	"sonar/no-ignored-exceptions"?: Linter.RuleEntry<[
	]>;
	/**
	 * Return values from functions without side effects should not be ignored
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2201/javascript
	 */
	"sonar/no-ignored-return"?: Linter.RuleEntry<[
	]>;
	/**
	 * Dependencies should be explicit
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4328/javascript
	 */
	"sonar/no-implicit-dependencies"?: Linter.RuleEntry<SonarNoImplicitDependencies>;
	/**
	 * Variables should be declared explicitly
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2703/javascript
	 */
	"sonar/no-implicit-global"?: Linter.RuleEntry<[
	]>;
	/**
	 * "in" should not be used on arrays
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4619/javascript
	 */
	"sonar/no-in-misuse"?: Linter.RuleEntry<[
	]>;
	/**
	 * Assertions should be complete
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2970/javascript
	 */
	"sonar/no-incomplete-assertions"?: Linter.RuleEntry<[
	]>;
	/**
	 * Functions should use "return" consistently
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3801/javascript
	 */
	"sonar/no-inconsistent-returns"?: Linter.RuleEntry<SonarNoInconsistentReturns>;
	/**
	 * Strings and non-strings should not be added
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3402/javascript
	 */
	"sonar/no-incorrect-string-concat"?: Linter.RuleEntry<SonarNoIncorrectStringConcat>;
	/**
	 * Users should not use internal APIs
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6627/javascript
	 */
	"sonar/no-internal-api-use"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using intrusive permissions is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5604/javascript
	 */
	"sonar/no-intrusive-permissions"?: Linter.RuleEntry<SonarNoIntrusivePermissions>;
	/**
	 * "await" should only be used with promises
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4123/javascript
	 */
	"sonar/no-invalid-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * Regular expressions should be syntactically valid
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5856/javascript
	 */
	"sonar/no-invalid-regexp"?: Linter.RuleEntry<[
	]>;
	/**
	 * Function returns should not be invariant
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3516/javascript
	 */
	"sonar/no-invariant-returns"?: Linter.RuleEntry<SonarNoInvariantReturns>;
	/**
	 * Boolean checks should not be inverted
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1940/javascript
	 */
	"sonar/no-inverted-boolean-check"?: Linter.RuleEntry<[
	]>;
	/**
	 * Forwarding client IP address is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5759/javascript
	 */
	"sonar/no-ip-forward"?: Linter.RuleEntry<SonarNoIpForward>;
	/**
	 * Labels should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1119/javascript
	 */
	"sonar/no-labels"?: Linter.RuleEntry<[
	]>;
	/**
	 * Literals should not be used as functions
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6958/javascript
	 */
	"sonar/no-literal-call"?: Linter.RuleEntry<[
	]>;
	/**
	 * Allowing browsers to sniff MIME types is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5734/javascript
	 */
	"sonar/no-mime-sniff"?: Linter.RuleEntry<SonarNoMimeSniff>;
	/**
	 * Array-mutating methods should not be used misleadingly
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4043/javascript
	 */
	"sonar/no-misleading-array-reverse"?: Linter.RuleEntry<[
	]>;
	/**
	 * Unicode Grapheme Clusters should be avoided inside regex character classes
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5868/javascript
	 */
	"sonar/no-misleading-character-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * Allowing mixed-content is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5730/javascript
	 */
	"sonar/no-mixed-content"?: Linter.RuleEntry<SonarNoMixedContent>;
	/**
	 * Assignments should not be made from within sub-expressions
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1121/javascript
	 */
	"sonar/no-nested-assignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Ternary operators should not be nested
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3358/javascript
	 */
	"sonar/no-nested-conditional"?: Linter.RuleEntry<[
	]>;
	/**
	 * Functions should not be nested too deeply
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2004/javascript
	 */
	"sonar/no-nested-functions"?: Linter.RuleEntry<SonarNoNestedFunctions>;
	/**
	 * Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
	 * @see https://sonarsource.github.io/rspec/#/rspec/S881/javascript
	 */
	"sonar/no-nested-incdec"?: Linter.RuleEntry<[
	]>;
	/**
	 * "switch" statements should not be nested
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1821/javascript
	 */
	"sonar/no-nested-switch"?: Linter.RuleEntry<[
	]>;
	/**
	 * Template literals should not be nested
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4624/javascript
	 */
	"sonar/no-nested-template-literals"?: Linter.RuleEntry<[
	]>;
	/**
	 * Loops with at most one iteration should be refactored
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1751/javascript
	 */
	"sonar/no-one-iteration-loop"?: Linter.RuleEntry<[
	]>;
	/**
	 * Searching OS commands in PATH is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4036/javascript
	 */
	"sonar/no-os-command-from-path"?: Linter.RuleEntry<[
	]>;
	/**
	 * Initial values of parameters, caught exceptions, and loop variables should not be ignored
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1226/javascript
	 */
	"sonar/no-parameter-reassignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Wrapper objects should not be used for primitive types
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1533/javascript
	 */
	"sonar/no-primitive-wrappers"?: Linter.RuleEntry<[
	]>;
	/**
	 * Assignments should not be redundant
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4165/javascript
	 */
	"sonar/no-redundant-assignments"?: Linter.RuleEntry<[
	]>;
	/**
	 * Boolean literals should not be used in comparisons
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1125/javascript
	 */
	"sonar/no-redundant-boolean"?: Linter.RuleEntry<[
	]>;
	/**
	 * Jump statements should not be redundant
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3626/javascript
	 */
	"sonar/no-redundant-jump"?: Linter.RuleEntry<[
	]>;
	/**
	 * Optional property declarations should not use both '?' and 'undefined' syntax
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4782/javascript
	 */
	"sonar/no-redundant-optional"?: Linter.RuleEntry<SonarNoRedundantOptional>;
	/**
	 * Redundant pairs of parentheses should be removed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1110/javascript
	 * @deprecated
	 */
	"sonar/no-redundant-parentheses"?: Linter.RuleEntry<SonarNoRedundantParentheses>;
	/**
	 * Variables should be defined before being used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3827/javascript
	 */
	"sonar/no-reference-error"?: Linter.RuleEntry<SonarNoReferenceError>;
	/**
	 * Disabling strict HTTP no-referrer policy is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5736/javascript
	 */
	"sonar/no-referrer-policy"?: Linter.RuleEntry<SonarNoReferrerPolicy>;
	/**
	 * Regular expressions should not contain multiple spaces
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6326/javascript
	 */
	"sonar/no-regex-spaces"?: Linter.RuleEntry<[
	]>;
	/**
	 * "import" should be used to include external code
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3533/javascript
	 */
	"sonar/no-require-or-define"?: Linter.RuleEntry<[
	]>;
	/**
	 * Primitive return types should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4324/javascript
	 */
	"sonar/no-return-type-any"?: Linter.RuleEntry<[
	]>;
	/**
	 * Assertions should not be given twice the same argument
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5863/javascript
	 */
	"sonar/no-same-argument-assert"?: Linter.RuleEntry<SonarNoSameArgumentAssert>;
	/**
	 * Conditionals should start on new lines
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3972/javascript
	 */
	"sonar/no-same-line-conditional"?: Linter.RuleEntry<SonarNoSameLineConditional>;
	/**
	 * Methods should not contain selector parameters
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2301/javascript
	 */
	"sonar/no-selector-parameter"?: Linter.RuleEntry<SonarNoSelectorParameter>;
	/**
	 * Tests should not be skipped without providing a reason
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1607/javascript
	 */
	"sonar/no-skipped-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * "if" statements should be preferred over "switch" when simpler
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1301/javascript
	 */
	"sonar/no-small-switch"?: Linter.RuleEntry<[
	]>;
	/**
	 * Track uses of "NOSONAR" comments
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1291/javascript
	 */
	"sonar/no-sonar-comments"?: Linter.RuleEntry<[
	]>;
	/**
	 * Tabulation characters should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S105/javascript
	 * @deprecated
	 */
	"sonar/no-tab"?: Linter.RuleEntry<[
	]>;
	/**
	 * HTML "<table>" should not be used for layout purposes
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5257/javascript
	 */
	"sonar/no-table-as-layout"?: Linter.RuleEntry<[
	]>;
	/**
	 * Promise rejections should not be caught by "try" blocks
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4822/javascript
	 */
	"sonar/no-try-promise"?: Linter.RuleEntry<SonarNoTryPromise>;
	/**
	 * "undefined" should not be passed as the value of optional parameters
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4623/javascript
	 */
	"sonar/no-undefined-argument"?: Linter.RuleEntry<[
	]>;
	/**
	 * "undefined" should not be assigned
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2138/javascript
	 */
	"sonar/no-undefined-assignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Multiline blocks should be enclosed in curly braces
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2681/javascript
	 */
	"sonar/no-unenclosed-multiline-block"?: Linter.RuleEntry<[
	]>;
	/**
	 * JSX list components keys should match up between renders
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6486/javascript
	 */
	"sonar/no-uniq-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * Expanding archive files without controlling resource consumption is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5042/javascript
	 */
	"sonar/no-unsafe-unzip"?: Linter.RuleEntry<[
	]>;
	/**
	 * Errors should not be created without being thrown
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3984/javascript
	 */
	"sonar/no-unthrown-error"?: Linter.RuleEntry<[
	]>;
	/**
	 * Collection contents should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4030/javascript
	 */
	"sonar/no-unused-collection"?: Linter.RuleEntry<[
	]>;
	/**
	 * Unused function parameters should be removed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1172/javascript
	 */
	"sonar/no-unused-function-argument"?: Linter.RuleEntry<[
	]>;
	/**
	 * Unused local variables and functions should be removed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1481/javascript
	 */
	"sonar/no-unused-vars"?: Linter.RuleEntry<[
	]>;
	/**
	 * The return value of void functions should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3699/javascript
	 */
	"sonar/no-use-of-empty-return-value"?: Linter.RuleEntry<[
	]>;
	/**
	 * "catch" clauses should do more than rethrow
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2737/javascript
	 */
	"sonar/no-useless-catch"?: Linter.RuleEntry<[
	]>;
	/**
	 * Values should not be uselessly incremented
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2123/javascript
	 */
	"sonar/no-useless-increment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Type intersections should use meaningful types
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4335/javascript
	 */
	"sonar/no-useless-intersection"?: Linter.RuleEntry<[
	]>;
	/**
	 * React state setter function should not be called with its matching state variable
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6443/javascript
	 */
	"sonar/no-useless-react-setstate"?: Linter.RuleEntry<[
	]>;
	/**
	 * Variables declared with "var" should be declared before they are used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1526/javascript
	 */
	"sonar/no-variable-usage-before-declaration"?: Linter.RuleEntry<SonarNoVariableUsageBeforeDeclaration>;
	/**
	 * Disabling Vue.js built-in escaping is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6299/javascript
	 * @deprecated
	 */
	"sonar/no-vue-bypass-sanitization"?: Linter.RuleEntry<[
	]>;
	/**
	 * Cipher algorithms should be robust
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5547/javascript
	 */
	"sonar/no-weak-cipher"?: Linter.RuleEntry<[
	]>;
	/**
	 * Cryptographic keys should be robust
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4426/javascript
	 */
	"sonar/no-weak-keys"?: Linter.RuleEntry<[
	]>;
	/**
	 * Wildcard imports should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2208/javascript
	 */
	"sonar/no-wildcard-import"?: Linter.RuleEntry<[
	]>;
	/**
	 * Non-existent operators '=+', '=-' and '=!' should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2757/javascript
	 */
	"sonar/non-existent-operator"?: Linter.RuleEntry<[
	]>;
	/**
	 * Arithmetic operators should only have numbers as operands
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3760/javascript
	 */
	"sonar/non-number-in-arithmetic-expression"?: Linter.RuleEntry<SonarNonNumberInArithmeticExpression>;
	/**
	 * Properties of variables with "null" or "undefined" values should not be accessed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2259/javascript
	 */
	"sonar/null-dereference"?: Linter.RuleEntry<[
	]>;
	/**
	 * "<object>" tags should provide an alternative content
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5264/javascript
	 */
	"sonar/object-alt-content"?: Linter.RuleEntry<[
	]>;
	/**
	 * Arithmetic operations should not result in "NaN"
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3757/javascript
	 */
	"sonar/operation-returning-nan"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using shell interpreter when executing OS commands is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4721/javascript
	 */
	"sonar/os-command"?: Linter.RuleEntry<[
	]>;
	/**
	 * Origins should be verified during cross-origin communications
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2819/javascript
	 */
	"sonar/post-message"?: Linter.RuleEntry<[
	]>;
	/**
	 * "default" clauses should be last
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4524/javascript
	 */
	"sonar/prefer-default-last"?: Linter.RuleEntry<[
	]>;
	/**
	 * Local variables should not be declared and then immediately returned or thrown
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1488/javascript
	 */
	"sonar/prefer-immediate-return"?: Linter.RuleEntry<[
	]>;
	/**
	 * Object literal syntax should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2428/javascript
	 */
	"sonar/prefer-object-literal"?: Linter.RuleEntry<[
	]>;
	/**
	 * Shorthand promises should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4634/javascript
	 */
	"sonar/prefer-promise-shorthand"?: Linter.RuleEntry<[
	]>;
	/**
	 * React props should be read-only
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6759/javascript
	 */
	"sonar/prefer-read-only-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * "RegExp.exec()" should be preferred over "String.match()"
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6594/javascript
	 */
	"sonar/prefer-regexp-exec"?: Linter.RuleEntry<[
	]>;
	/**
	 * Return of boolean expressions should not be wrapped into an "if-then-else" statement
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1126/javascript
	 */
	"sonar/prefer-single-boolean-return"?: Linter.RuleEntry<[
	]>;
	/**
	 * Type predicates should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4322/javascript
	 */
	"sonar/prefer-type-guard"?: Linter.RuleEntry<[
	]>;
	/**
	 * A "while" loop should be used instead of a "for" loop
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1264/javascript
	 */
	"sonar/prefer-while"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using command line arguments is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4823/javascript
	 * @deprecated
	 */
	"sonar/process-argv"?: Linter.RuleEntry<[
	]>;
	/**
	 * Delivering code in production with debug features activated is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4507/javascript
	 */
	"sonar/production-debug"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using pseudorandom number generators (PRNGs) is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2245/javascript
	 */
	"sonar/pseudo-random"?: Linter.RuleEntry<[
	]>;
	/**
	 * Public "static" fields should be read-only
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1444/javascript
	 */
	"sonar/public-static-readonly"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using publicly writable directories is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5443/javascript
	 */
	"sonar/publicly-writable-directories"?: Linter.RuleEntry<[
	]>;
	/**
	 * "Array.reduce()" calls should include an initial value
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6959/javascript
	 */
	"sonar/reduce-initial-value"?: Linter.RuleEntry<[
	]>;
	/**
	 * Redundant type aliases should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6564/javascript
	 */
	"sonar/redundant-type-aliases"?: Linter.RuleEntry<[
	]>;
	/**
	 * Regular expressions should not be too complicated
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5843/javascript
	 */
	"sonar/regex-complexity"?: Linter.RuleEntry<SonarRegexComplexity>;
	/**
	 * Using regular expressions is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4784/javascript
	 * @deprecated
	 */
	"sonar/regular-expr"?: Linter.RuleEntry<[
	]>;
	/**
	 * A new session should be created during user authentication
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5876/javascript
	 */
	"sonar/session-regeneration"?: Linter.RuleEntry<[
	]>;
	/**
	 * Shorthand object properties should be grouped at the beginning or end of an object declaration
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3499/javascript
	 */
	"sonar/shorthand-property-grouping"?: Linter.RuleEntry<SonarShorthandPropertyGrouping>;
	/**
	 * Character classes in regular expressions should not contain only one character
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6397/javascript
	 */
	"sonar/single-char-in-character-classes"?: Linter.RuleEntry<[
	]>;
	/**
	 * Single-character alternations in regular expressions should be replaced with character classes
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6035/javascript
	 */
	"sonar/single-character-alternation"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using slow regular expressions is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5852/javascript
	 */
	"sonar/slow-regex"?: Linter.RuleEntry<[
	]>;
	/**
	 * Using Sockets is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4818/javascript
	 * @deprecated
	 */
	"sonar/sockets"?: Linter.RuleEntry<[
	]>;
	/**
	 * Formatting SQL queries is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2077/javascript
	 */
	"sonar/sql-queries"?: Linter.RuleEntry<[
	]>;
	/**
	 * Tests should be stable
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5973/javascript
	 */
	"sonar/stable-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * Reading the Standard Input is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4829/javascript
	 * @deprecated
	 */
	"sonar/standard-input"?: Linter.RuleEntry<[
	]>;
	/**
	 * Regular expressions with the global flag should be used with caution
	 * @see https://sonarsource.github.io/rspec/#/rspec/S6351/javascript
	 */
	"sonar/stateful-regex"?: Linter.RuleEntry<SonarStatefulRegex>;
	/**
	 * Disabling Strict-Transport-Security policy is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5739/javascript
	 */
	"sonar/strict-transport-security"?: Linter.RuleEntry<SonarStrictTransportSecurity>;
	/**
	 * Comparison operators should not be used with strings
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3003/javascript
	 */
	"sonar/strings-comparison"?: Linter.RuleEntry<SonarStringsComparison>;
	/**
	 * "super()" should be invoked appropriately
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3854/javascript
	 */
	"sonar/super-invocation"?: Linter.RuleEntry<[
	]>;
	/**
	 * Tables should have headers
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5256/javascript
	 */
	"sonar/table-header"?: Linter.RuleEntry<[
	]>;
	/**
	 * Table cells should reference their headers
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5260/javascript
	 */
	"sonar/table-header-reference"?: Linter.RuleEntry<[
	]>;
	/**
	 * Tests should check which exception is thrown
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5958/javascript
	 */
	"sonar/test-check-exception"?: Linter.RuleEntry<[
	]>;
	/**
	 * Track uses of "TODO" tags
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1135/javascript
	 */
	"sonar/todo-tag"?: Linter.RuleEntry<[
	]>;
	/**
	 * Loops should not contain more than a single "break" or "continue" statement
	 * @see https://sonarsource.github.io/rspec/#/rspec/S135/javascript
	 */
	"sonar/too-many-break-or-continue-in-loop"?: Linter.RuleEntry<SonarTooManyBreakOrContinueInLoop>;
	/**
	 * Regular expressions using Unicode character classes or property escapes should enable the unicode flag
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5867/javascript
	 */
	"sonar/unicode-aware-regex"?: Linter.RuleEntry<SonarUnicodeAwareRegex>;
	/**
	 * Unnecessary imports should be removed
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1128/javascript
	 */
	"sonar/unused-import"?: Linter.RuleEntry<[
	]>;
	/**
	 * Names of regular expressions named groups should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5860/javascript
	 */
	"sonar/unused-named-groups"?: Linter.RuleEntry<SonarUnusedNamedGroups>;
	/**
	 * Server certificates should be verified during SSL/TLS connections
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4830/javascript
	 */
	"sonar/unverified-certificate"?: Linter.RuleEntry<SonarUnverifiedCertificate>;
	/**
	 * Server hostnames should be verified during SSL/TLS connections
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5527/javascript
	 */
	"sonar/unverified-hostname"?: Linter.RuleEntry<SonarUnverifiedHostname>;
	/**
	 * "const" variables should not be reassigned
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3500/javascript
	 */
	"sonar/updated-const-var"?: Linter.RuleEntry<SonarUpdatedConstVar>;
	/**
	 * Loop counters should not be assigned within the loop body
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2310/javascript
	 */
	"sonar/updated-loop-counter"?: Linter.RuleEntry<SonarUpdatedLoopCounter>;
	/**
	 * Type aliases should be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4323/javascript
	 */
	"sonar/use-type-alias"?: Linter.RuleEntry<SonarUseTypeAlias>;
	/**
	 * Results of operations on strings should not be ignored
	 * @see https://sonarsource.github.io/rspec/#/rspec/S1154/javascript
	 * @deprecated
	 */
	"sonar/useless-string-operation"?: Linter.RuleEntry<[
	]>;
	/**
	 * Values not convertible to numbers should not be used in numeric comparisons
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3758/javascript
	 */
	"sonar/values-not-convertible-to-numbers"?: Linter.RuleEntry<[
	]>;
	/**
	 * Variable, property and parameter names should comply with a naming convention
	 * @see https://sonarsource.github.io/rspec/#/rspec/S117/javascript
	 */
	"sonar/variable-name"?: Linter.RuleEntry<SonarVariableName>;
	/**
	 * "void" should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S3735/javascript
	 */
	"sonar/void-use"?: Linter.RuleEntry<[
	]>;
	/**
	 * Weak SSL/TLS protocols should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4423/javascript
	 */
	"sonar/weak-ssl"?: Linter.RuleEntry<[
	]>;
	/**
	 * Web SQL databases should not be used
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2817/javascript
	 * @deprecated
	 */
	"sonar/web-sql-database"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disclosing fingerprints from web application technologies is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S5689/javascript
	 */
	"sonar/x-powered-by"?: Linter.RuleEntry<[
	]>;
	/**
	 * XML parsers should not be vulnerable to XXE attacks
	 * @see https://sonarsource.github.io/rspec/#/rspec/S2755/javascript
	 */
	"sonar/xml-parser-xxe"?: Linter.RuleEntry<SonarXmlParserXxe>;
	/**
	 * Executing XPath expressions is security-sensitive
	 * @see https://sonarsource.github.io/rspec/#/rspec/S4817/javascript
	 * @deprecated
	 */
	"sonar/xpath"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce linebreaks after opening and before closing array brackets
	 * @see https://eslint.style/rules/js/array-bracket-newline
	 */
	"style/array-bracket-newline"?: Linter.RuleEntry<StyleArrayBracketNewline>;
	/**
	 * Enforce consistent spacing inside array brackets
	 * @see https://eslint.style/rules/js/array-bracket-spacing
	 */
	"style/array-bracket-spacing"?: Linter.RuleEntry<StyleArrayBracketSpacing>;
	/**
	 * Enforce line breaks after each array element
	 * @see https://eslint.style/rules/js/array-element-newline
	 */
	"style/array-element-newline"?: Linter.RuleEntry<StyleArrayElementNewline>;
	/**
	 * Require parentheses around arrow function arguments
	 * @see https://eslint.style/rules/js/arrow-parens
	 */
	"style/arrow-parens"?: Linter.RuleEntry<StyleArrowParens>;
	/**
	 * Enforce consistent spacing before and after the arrow in arrow functions
	 * @see https://eslint.style/rules/js/arrow-spacing
	 */
	"style/arrow-spacing"?: Linter.RuleEntry<StyleArrowSpacing>;
	/**
	 * Disallow or enforce spaces inside of blocks after opening block and before closing block
	 * @see https://eslint.style/rules/ts/block-spacing
	 */
	"style/block-spacing"?: Linter.RuleEntry<StyleBlockSpacing>;
	/**
	 * Enforce consistent brace style for blocks
	 * @see https://eslint.style/rules/ts/brace-style
	 */
	"style/brace-style"?: Linter.RuleEntry<StyleBraceStyle>;
	/**
	 * Require or disallow trailing commas
	 * @see https://eslint.style/rules/ts/comma-dangle
	 */
	"style/comma-dangle"?: Linter.RuleEntry<StyleCommaDangle>;
	/**
	 * Enforce consistent spacing before and after commas
	 * @see https://eslint.style/rules/ts/comma-spacing
	 */
	"style/comma-spacing"?: Linter.RuleEntry<StyleCommaSpacing>;
	/**
	 * Enforce consistent comma style
	 * @see https://eslint.style/rules/js/comma-style
	 */
	"style/comma-style"?: Linter.RuleEntry<StyleCommaStyle>;
	/**
	 * Enforce consistent spacing inside computed property brackets
	 * @see https://eslint.style/rules/js/computed-property-spacing
	 */
	"style/computed-property-spacing"?: Linter.RuleEntry<StyleComputedPropertySpacing>;
	/**
	 * Enforce consistent line breaks after opening and before closing braces
	 * @see https://eslint.style/rules/plus/curly-newline
	 */
	"style/curly-newline"?: Linter.RuleEntry<StyleCurlyNewline>;
	/**
	 * Enforce consistent newlines before and after dots
	 * @see https://eslint.style/rules/js/dot-location
	 */
	"style/dot-location"?: Linter.RuleEntry<StyleDotLocation>;
	/**
	 * Require or disallow newline at the end of files
	 * @see https://eslint.style/rules/js/eol-last
	 */
	"style/eol-last"?: Linter.RuleEntry<StyleEolLast>;
	/**
	 * Require or disallow spacing between function identifiers and their invocations
	 * @see https://eslint.style/rules/ts/function-call-spacing
	 */
	"style/func-call-spacing"?: Linter.RuleEntry<StyleFuncCallSpacing>;
	/**
	 * Enforce line breaks between arguments of a function call
	 * @see https://eslint.style/rules/js/function-call-argument-newline
	 */
	"style/function-call-argument-newline"?: Linter.RuleEntry<StyleFunctionCallArgumentNewline>;
	/**
	 * Require or disallow spacing between function identifiers and their invocations
	 * @see https://eslint.style/rules/ts/function-call-spacing
	 */
	"style/function-call-spacing"?: Linter.RuleEntry<StyleFunctionCallSpacing>;
	/**
	 * Enforce consistent line breaks inside function parentheses
	 * @see https://eslint.style/rules/js/function-paren-newline
	 */
	"style/function-paren-newline"?: Linter.RuleEntry<StyleFunctionParenNewline>;
	/**
	 * Enforce consistent spacing around `*` operators in generator functions
	 * @see https://eslint.style/rules/js/generator-star-spacing
	 */
	"style/generator-star-spacing"?: Linter.RuleEntry<StyleGeneratorStarSpacing>;
	/**
	 * Enforce the location of arrow function bodies
	 * @see https://eslint.style/rules/js/implicit-arrow-linebreak
	 */
	"style/implicit-arrow-linebreak"?: Linter.RuleEntry<StyleImplicitArrowLinebreak>;
	/**
	 * Enforce consistent indentation
	 * @see https://eslint.style/rules/ts/indent
	 */
	"style/indent"?: Linter.RuleEntry<StyleIndent>;
	/**
	 * Indentation for binary operators
	 * @see https://eslint.style/rules/plus/indent-binary-ops
	 */
	"style/indent-binary-ops"?: Linter.RuleEntry<StyleIndentBinaryOps>;
	/**
	 * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
	 * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
	 */
	"style/jsx-child-element-spacing"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce closing bracket location in JSX
	 * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
	 */
	"style/jsx-closing-bracket-location"?: Linter.RuleEntry<StyleJsxClosingBracketLocation>;
	/**
	 * Enforce closing tag location for multiline JSX
	 * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
	 */
	"style/jsx-closing-tag-location"?: Linter.RuleEntry<StyleJsxClosingTagLocation>;
	/**
	 * 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
	 */
	"style/jsx-curly-brace-presence"?: Linter.RuleEntry<StyleJsxCurlyBracePresence>;
	/**
	 * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
	 * @see https://eslint.style/rules/jsx/jsx-curly-newline
	 */
	"style/jsx-curly-newline"?: Linter.RuleEntry<StyleJsxCurlyNewline>;
	/**
	 * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
	 * @see https://eslint.style/rules/jsx/jsx-curly-spacing
	 */
	"style/jsx-curly-spacing"?: Linter.RuleEntry<StyleJsxCurlySpacing>;
	/**
	 * Enforce or disallow spaces around equal signs in JSX attributes
	 * @see https://eslint.style/rules/jsx/jsx-equals-spacing
	 */
	"style/jsx-equals-spacing"?: Linter.RuleEntry<StyleJsxEqualsSpacing>;
	/**
	 * Enforce proper position of the first property in JSX
	 * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
	 */
	"style/jsx-first-prop-new-line"?: Linter.RuleEntry<StyleJsxFirstPropNewLine>;
	/**
	 * 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
	 */
	"style/jsx-function-call-newline"?: Linter.RuleEntry<StyleJsxFunctionCallNewline>;
	/**
	 * Enforce JSX indentation. Deprecated, use `indent` rule instead.
	 * @see https://eslint.style/rules/jsx/jsx-indent
	 * @deprecated
	 */
	"style/jsx-indent"?: Linter.RuleEntry<StyleJsxIndent>;
	/**
	 * Enforce props indentation in JSX
	 * @see https://eslint.style/rules/jsx/jsx-indent-props
	 */
	"style/jsx-indent-props"?: Linter.RuleEntry<StyleJsxIndentProps>;
	/**
	 * Enforce maximum of props on a single line in JSX
	 * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
	 */
	"style/jsx-max-props-per-line"?: Linter.RuleEntry<StyleJsxMaxPropsPerLine>;
	/**
	 * Require or prevent a new line after jsx elements and expressions.
	 * @see https://eslint.style/rules/jsx/jsx-newline
	 */
	"style/jsx-newline"?: Linter.RuleEntry<StyleJsxNewline>;
	/**
	 * Require one JSX element per line
	 * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
	 */
	"style/jsx-one-expression-per-line"?: Linter.RuleEntry<StyleJsxOneExpressionPerLine>;
	/**
	 * Enforce PascalCase for user-defined JSX components
	 * @see https://eslint.style/rules/jsx/jsx-pascal-case
	 */
	"style/jsx-pascal-case"?: Linter.RuleEntry<StyleJsxPascalCase>;
	/**
	 * Disallow multiple spaces between inline JSX props
	 * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
	 */
	"style/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
	 */
	"style/jsx-quotes"?: Linter.RuleEntry<StyleJsxQuotes>;
	/**
	 * Disallow extra closing tags for components without children
	 * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
	 */
	"style/jsx-self-closing-comp"?: Linter.RuleEntry<StyleJsxSelfClosingComp>;
	/**
	 * Enforce props alphabetical sorting
	 * @see https://eslint.style/rules/jsx/jsx-sort-props
	 */
	"style/jsx-sort-props"?: Linter.RuleEntry<StyleJsxSortProps>;
	/**
	 * Enforce whitespace in and around the JSX opening and closing brackets
	 * @see https://eslint.style/rules/jsx/jsx-tag-spacing
	 */
	"style/jsx-tag-spacing"?: Linter.RuleEntry<StyleJsxTagSpacing>;
	/**
	 * Disallow missing parentheses around multiline JSX
	 * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
	 */
	"style/jsx-wrap-multilines"?: Linter.RuleEntry<StyleJsxWrapMultilines>;
	/**
	 * Enforce consistent spacing between property names and type annotations in types and interfaces
	 * @see https://eslint.style/rules/ts/key-spacing
	 */
	"style/key-spacing"?: Linter.RuleEntry<StyleKeySpacing>;
	/**
	 * Enforce consistent spacing before and after keywords
	 * @see https://eslint.style/rules/ts/keyword-spacing
	 */
	"style/keyword-spacing"?: Linter.RuleEntry<StyleKeywordSpacing>;
	/**
	 * Enforce position of line comments
	 * @see https://eslint.style/rules/js/line-comment-position
	 */
	"style/line-comment-position"?: Linter.RuleEntry<StyleLineCommentPosition>;
	/**
	 * Enforce consistent linebreak style
	 * @see https://eslint.style/rules/js/linebreak-style
	 */
	"style/linebreak-style"?: Linter.RuleEntry<StyleLinebreakStyle>;
	/**
	 * Require empty lines around comments
	 * @see https://eslint.style/rules/ts/lines-around-comment
	 */
	"style/lines-around-comment"?: Linter.RuleEntry<StyleLinesAroundComment>;
	/**
	 * Require or disallow an empty line between class members
	 * @see https://eslint.style/rules/ts/lines-between-class-members
	 */
	"style/lines-between-class-members"?: Linter.RuleEntry<StyleLinesBetweenClassMembers>;
	/**
	 * Enforce a maximum line length
	 * @see https://eslint.style/rules/js/max-len
	 */
	"style/max-len"?: Linter.RuleEntry<StyleMaxLen>;
	/**
	 * Enforce a maximum number of statements allowed per line
	 * @see https://eslint.style/rules/js/max-statements-per-line
	 */
	"style/max-statements-per-line"?: Linter.RuleEntry<StyleMaxStatementsPerLine>;
	/**
	 * Require a specific member delimiter style for interfaces and type literals
	 * @see https://eslint.style/rules/ts/member-delimiter-style
	 */
	"style/member-delimiter-style"?: Linter.RuleEntry<StyleMemberDelimiterStyle>;
	/**
	 * Enforce a particular style for multiline comments
	 * @see https://eslint.style/rules/js/multiline-comment-style
	 */
	"style/multiline-comment-style"?: Linter.RuleEntry<StyleMultilineCommentStyle>;
	/**
	 * Enforce newlines between operands of ternary expressions
	 * @see https://eslint.style/rules/js/multiline-ternary
	 */
	"style/multiline-ternary"?: Linter.RuleEntry<StyleMultilineTernary>;
	/**
	 * Enforce or disallow parentheses when invoking a constructor with no arguments
	 * @see https://eslint.style/rules/js/new-parens
	 */
	"style/new-parens"?: Linter.RuleEntry<StyleNewParens>;
	/**
	 * Require a newline after each call in a method chain
	 * @see https://eslint.style/rules/js/newline-per-chained-call
	 */
	"style/newline-per-chained-call"?: Linter.RuleEntry<StyleNewlinePerChainedCall>;
	/**
	 * Disallow arrow functions where they could be confused with comparisons
	 * @see https://eslint.style/rules/js/no-confusing-arrow
	 */
	"style/no-confusing-arrow"?: Linter.RuleEntry<StyleNoConfusingArrow>;
	/**
	 * Disallow unnecessary parentheses
	 * @see https://eslint.style/rules/ts/no-extra-parens
	 */
	"style/no-extra-parens"?: Linter.RuleEntry<StyleNoExtraParens>;
	/**
	 * Disallow unnecessary semicolons
	 * @see https://eslint.style/rules/ts/no-extra-semi
	 */
	"style/no-extra-semi"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow leading or trailing decimal points in numeric literals
	 * @see https://eslint.style/rules/js/no-floating-decimal
	 */
	"style/no-floating-decimal"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow mixed binary operators
	 * @see https://eslint.style/rules/js/no-mixed-operators
	 */
	"style/no-mixed-operators"?: Linter.RuleEntry<StyleNoMixedOperators>;
	/**
	 * Disallow mixed spaces and tabs for indentation
	 * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
	 */
	"style/no-mixed-spaces-and-tabs"?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>;
	/**
	 * Disallow multiple spaces
	 * @see https://eslint.style/rules/js/no-multi-spaces
	 */
	"style/no-multi-spaces"?: Linter.RuleEntry<StyleNoMultiSpaces>;
	/**
	 * Disallow multiple empty lines
	 * @see https://eslint.style/rules/js/no-multiple-empty-lines
	 */
	"style/no-multiple-empty-lines"?: Linter.RuleEntry<StyleNoMultipleEmptyLines>;
	/**
	 * Disallow all tabs
	 * @see https://eslint.style/rules/js/no-tabs
	 */
	"style/no-tabs"?: Linter.RuleEntry<StyleNoTabs>;
	/**
	 * Disallow trailing whitespace at the end of lines
	 * @see https://eslint.style/rules/js/no-trailing-spaces
	 */
	"style/no-trailing-spaces"?: Linter.RuleEntry<StyleNoTrailingSpaces>;
	/**
	 * Disallow whitespace before properties
	 * @see https://eslint.style/rules/js/no-whitespace-before-property
	 */
	"style/no-whitespace-before-property"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the location of single-line statements
	 * @see https://eslint.style/rules/js/nonblock-statement-body-position
	 */
	"style/nonblock-statement-body-position"?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>;
	/**
	 * Enforce consistent line breaks after opening and before closing braces
	 * @see https://eslint.style/rules/ts/object-curly-newline
	 */
	"style/object-curly-newline"?: Linter.RuleEntry<StyleObjectCurlyNewline>;
	/**
	 * Enforce consistent spacing inside braces
	 * @see https://eslint.style/rules/ts/object-curly-spacing
	 */
	"style/object-curly-spacing"?: Linter.RuleEntry<StyleObjectCurlySpacing>;
	/**
	 * Enforce placing object properties on separate lines
	 * @see https://eslint.style/rules/ts/object-property-newline
	 */
	"style/object-property-newline"?: Linter.RuleEntry<StyleObjectPropertyNewline>;
	/**
	 * Require or disallow newlines around variable declarations
	 * @see https://eslint.style/rules/js/one-var-declaration-per-line
	 */
	"style/one-var-declaration-per-line"?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>;
	/**
	 * Enforce consistent linebreak style for operators
	 * @see https://eslint.style/rules/js/operator-linebreak
	 */
	"style/operator-linebreak"?: Linter.RuleEntry<StyleOperatorLinebreak>;
	/**
	 * Require or disallow padding within blocks
	 * @see https://eslint.style/rules/js/padded-blocks
	 */
	"style/padded-blocks"?: Linter.RuleEntry<StylePaddedBlocks>;
	/**
	 * Require or disallow padding lines between statements
	 * @see https://eslint.style/rules/ts/padding-line-between-statements
	 */
	"style/padding-line-between-statements"?: Linter.RuleEntry<StylePaddingLineBetweenStatements>;
	/**
	 * Require quotes around object literal, type literal, interfaces and enums property names
	 * @see https://eslint.style/rules/ts/quote-props
	 */
	"style/quote-props"?: Linter.RuleEntry<StyleQuoteProps>;
	/**
	 * Enforce the consistent use of either backticks, double, or single quotes
	 * @see https://eslint.style/rules/ts/quotes
	 */
	"style/quotes"?: Linter.RuleEntry<StyleQuotes>;
	/**
	 * Enforce spacing between rest and spread operators and their expressions
	 * @see https://eslint.style/rules/js/rest-spread-spacing
	 */
	"style/rest-spread-spacing"?: Linter.RuleEntry<StyleRestSpreadSpacing>;
	/**
	 * Require or disallow semicolons instead of ASI
	 * @see https://eslint.style/rules/ts/semi
	 */
	"style/semi"?: Linter.RuleEntry<StyleSemi>;
	/**
	 * Enforce consistent spacing before and after semicolons
	 * @see https://eslint.style/rules/ts/semi-spacing
	 */
	"style/semi-spacing"?: Linter.RuleEntry<StyleSemiSpacing>;
	/**
	 * Enforce location of semicolons
	 * @see https://eslint.style/rules/js/semi-style
	 */
	"style/semi-style"?: Linter.RuleEntry<StyleSemiStyle>;
	/**
	 * Enforce consistent spacing before blocks
	 * @see https://eslint.style/rules/ts/space-before-blocks
	 */
	"style/space-before-blocks"?: Linter.RuleEntry<StyleSpaceBeforeBlocks>;
	/**
	 * Enforce consistent spacing before function parenthesis
	 * @see https://eslint.style/rules/ts/space-before-function-paren
	 */
	"style/space-before-function-paren"?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>;
	/**
	 * Enforce consistent spacing inside parentheses
	 * @see https://eslint.style/rules/js/space-in-parens
	 */
	"style/space-in-parens"?: Linter.RuleEntry<StyleSpaceInParens>;
	/**
	 * Require spacing around infix operators
	 * @see https://eslint.style/rules/ts/space-infix-ops
	 */
	"style/space-infix-ops"?: Linter.RuleEntry<StyleSpaceInfixOps>;
	/**
	 * Enforce consistent spacing before or after unary operators
	 * @see https://eslint.style/rules/js/space-unary-ops
	 */
	"style/space-unary-ops"?: Linter.RuleEntry<StyleSpaceUnaryOps>;
	/**
	 * Enforce consistent spacing after the `//` or `/*` in a comment
	 * @see https://eslint.style/rules/js/spaced-comment
	 */
	"style/spaced-comment"?: Linter.RuleEntry<StyleSpacedComment>;
	/**
	 * Enforce spacing around colons of switch statements
	 * @see https://eslint.style/rules/js/switch-colon-spacing
	 */
	"style/switch-colon-spacing"?: Linter.RuleEntry<StyleSwitchColonSpacing>;
	/**
	 * Require or disallow spacing around embedded expressions of template strings
	 * @see https://eslint.style/rules/js/template-curly-spacing
	 */
	"style/template-curly-spacing"?: Linter.RuleEntry<StyleTemplateCurlySpacing>;
	/**
	 * Require or disallow spacing between template tags and their literals
	 * @see https://eslint.style/rules/js/template-tag-spacing
	 */
	"style/template-tag-spacing"?: Linter.RuleEntry<StyleTemplateTagSpacing>;
	/**
	 * Require consistent spacing around type annotations
	 * @see https://eslint.style/rules/ts/type-annotation-spacing
	 */
	"style/type-annotation-spacing"?: Linter.RuleEntry<StyleTypeAnnotationSpacing>;
	/**
	 * Enforces consistent spacing inside TypeScript type generics
	 * @see https://eslint.style/rules/plus/type-generic-spacing
	 */
	"style/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
	 */
	"style/type-named-tuple-spacing"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require parentheses around immediate `function` invocations
	 * @see https://eslint.style/rules/js/wrap-iife
	 */
	"style/wrap-iife"?: Linter.RuleEntry<StyleWrapIife>;
	/**
	 * Require parenthesis around regex literals
	 * @see https://eslint.style/rules/js/wrap-regex
	 */
	"style/wrap-regex"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require or disallow spacing around the `*` in `yield*` expressions
	 * @see https://eslint.style/rules/js/yield-star-spacing
	 */
	"style/yield-star-spacing"?: Linter.RuleEntry<StyleYieldStarSpacing>;
	/**
	 * Enforce consistent line wrapping for tailwind classes.
	 * @see https://github.com/schoero/eslint-plugin-readable-tailwind/blob/main/docs/rules/multiline.md
	 */
	"tailwind-readable/multiline"?: Linter.RuleEntry<TailwindReadableMultiline>;
	/**
	 * Disallow duplicate class names in tailwind classes.
	 * @see https://github.com/schoero/eslint-plugin-readable-tailwind/blob/main/docs/rules/no-duplicate-classes.md
	 */
	"tailwind-readable/no-duplicate-classes"?: Linter.RuleEntry<TailwindReadableNoDuplicateClasses>;
	/**
	 * Disallow unnecessary whitespace in tailwind classes.
	 * @see https://github.com/schoero/eslint-plugin-readable-tailwind/blob/main/docs/rules/no-unnecessary-whitespace.md
	 */
	"tailwind-readable/no-unnecessary-whitespace"?: Linter.RuleEntry<TailwindReadableNoUnnecessaryWhitespace>;
	/**
	 * Enforce a consistent order for tailwind classes.
	 * @see https://github.com/schoero/eslint-plugin-readable-tailwind/blob/main/docs/rules/sort-classes.md
	 */
	"tailwind-readable/sort-classes"?: Linter.RuleEntry<TailwindReadableSortClasses>;
	/**
	 * require .spec test file pattern
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
	 */
	"test/consistent-test-filename"?: Linter.RuleEntry<TestConsistentTestFilename>;
	/**
	 * enforce using test or it but not both
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
	 */
	"test/consistent-test-it"?: Linter.RuleEntry<TestConsistentTestIt>;
	/**
	 * enforce having expectation in test body
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
	 */
	"test/expect-expect"?: Linter.RuleEntry<TestExpectExpect>;
	/**
	 * enforce a maximum number of expect per test
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
	 */
	"test/max-expects"?: Linter.RuleEntry<TestMaxExpects>;
	/**
	 * require describe block to be less than set max value or default value
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
	 */
	"test/max-nested-describe"?: Linter.RuleEntry<TestMaxNestedDescribe>;
	/**
	 * disallow alias methods
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
	 */
	"test/no-alias-methods"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow commented out tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
	 */
	"test/no-commented-out-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow conditional expects
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
	 */
	"test/no-conditional-expect"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow conditional tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
	 */
	"test/no-conditional-in-test"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow conditional tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
	 */
	"test/no-conditional-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow disabled tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
	 */
	"test/no-disabled-tests"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using a callback in asynchronous tests and hooks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
	 * @deprecated
	 */
	"test/no-done-callback"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplicate hooks and teardown hooks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
	 */
	"test/no-duplicate-hooks"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow focused tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
	 */
	"test/no-focused-tests"?: Linter.RuleEntry<TestNoFocusedTests>;
	/**
	 * disallow setup and teardown hooks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
	 */
	"test/no-hooks"?: Linter.RuleEntry<TestNoHooks>;
	/**
	 * disallow identical titles
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
	 */
	"test/no-identical-title"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow importing `node:test`
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
	 */
	"test/no-import-node-test"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow string interpolation in snapshots
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
	 */
	"test/no-interpolation-in-snapshots"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow large snapshots
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
	 */
	"test/no-large-snapshots"?: Linter.RuleEntry<TestNoLargeSnapshots>;
	/**
	 * disallow importing from __mocks__ directory
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
	 */
	"test/no-mocks-import"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow .only blocks in tests
	 * @see https://github.com/levibuzolic/eslint-plugin-no-only-tests
	 */
	"test/no-only-tests"?: Linter.RuleEntry<TestNoOnlyTests>;
	/**
	 * disallow the use of certain matchers
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
	 */
	"test/no-restricted-matchers"?: Linter.RuleEntry<TestNoRestrictedMatchers>;
	/**
	 * disallow specific `vi.` methods
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
	 */
	"test/no-restricted-vi-methods"?: Linter.RuleEntry<TestNoRestrictedViMethods>;
	/**
	 * disallow using `expect` outside of `it` or `test` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
	 */
	"test/no-standalone-expect"?: Linter.RuleEntry<TestNoStandaloneExpect>;
	/**
	 * disallow using `test` as a prefix
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
	 */
	"test/no-test-prefixes"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow return statements in tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
	 */
	"test/no-test-return-statement"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `afterAll` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
	 */
	"test/padding-around-after-all-blocks"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `afterEach` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
	 */
	"test/padding-around-after-each-blocks"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around vitest functions
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
	 */
	"test/padding-around-all"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `beforeAll` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
	 */
	"test/padding-around-before-all-blocks"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `beforeEach` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
	 */
	"test/padding-around-before-each-blocks"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `describe` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
	 */
	"test/padding-around-describe-blocks"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `expect` groups
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
	 */
	"test/padding-around-expect-groups"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce padding around `test` blocks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
	 */
	"test/padding-around-test-blocks"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
	 */
	"test/prefer-called-with"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using the built-in comparison matchers
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
	 */
	"test/prefer-comparison-matcher"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `each` rather than manual loops
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
	 */
	"test/prefer-each"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using the built-in quality matchers
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
	 */
	"test/prefer-equality-matcher"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using expect assertions instead of callbacks
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
	 */
	"test/prefer-expect-assertions"?: Linter.RuleEntry<TestPreferExpectAssertions>;
	/**
	 * enforce using `expect().resolves` over `expect(await ...)` syntax
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
	 */
	"test/prefer-expect-resolves"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce having hooks in consistent order
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
	 */
	"test/prefer-hooks-in-order"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce having hooks before any test cases
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
	 */
	"test/prefer-hooks-on-top"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce lowercase titles
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
	 */
	"test/prefer-lowercase-title"?: Linter.RuleEntry<TestPreferLowercaseTitle>;
	/**
	 * enforce mock resolved/rejected shorthands for promises
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
	 */
	"test/prefer-mock-promise-shorthand"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce including a hint with external snapshots
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
	 */
	"test/prefer-snapshot-hint"?: Linter.RuleEntry<TestPreferSnapshotHint>;
	/**
	 * enforce using `vi.spyOn`
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
	 */
	"test/prefer-spy-on"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `toBe(true)` and `toBe(false)` over matchers that coerce types to boolean
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-boolean-matchers.md
	 */
	"test/prefer-strict-boolean-matchers"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce strict equal over equal
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
	 */
	"test/prefer-strict-equal"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using toBe()
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
	 */
	"test/prefer-to-be"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using toBeFalsy()
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
	 */
	"test/prefer-to-be-falsy"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using toBeObject()
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
	 */
	"test/prefer-to-be-object"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `toBeTruthy`
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
	 */
	"test/prefer-to-be-truthy"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using toContain()
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
	 */
	"test/prefer-to-contain"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using toHaveLength()
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
	 */
	"test/prefer-to-have-length"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using `test.todo`
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
	 */
	"test/prefer-todo"?: Linter.RuleEntry<[
	]>;
	/**
	 * require `vi.mocked()` over `fn as Mock`
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-vi-mocked.md
	 */
	"test/prefer-vi-mocked"?: Linter.RuleEntry<[
	]>;
	/**
	 * require setup and teardown to be within a hook
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
	 */
	"test/require-hook"?: Linter.RuleEntry<TestRequireHook>;
	/**
	 * require local Test Context for concurrent snapshot tests
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
	 */
	"test/require-local-test-context-for-concurrent-snapshots"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using type parameters with vitest mock functions
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-mock-type-parameters.md
	 */
	"test/require-mock-type-parameters"?: Linter.RuleEntry<TestRequireMockTypeParameters>;
	/**
	 * require toThrow() to be called with an error message
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
	 */
	"test/require-to-throw-message"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce that all tests are in a top-level describe
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
	 */
	"test/require-top-level-describe"?: Linter.RuleEntry<TestRequireTopLevelDescribe>;
	/**
	 * enforce valid describe callback
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
	 */
	"test/valid-describe-callback"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `expect()` usage
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
	 */
	"test/valid-expect"?: Linter.RuleEntry<TestValidExpect>;
	/**
	 * require promises that have expectations in their chain to be valid
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-expect-in-promise.md
	 */
	"test/valid-expect-in-promise"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid titles
	 * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
	 */
	"test/valid-title"?: Linter.RuleEntry<TestValidTitle>;
	/**
	 * enforce linebreaks after opening and before closing array brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/array-bracket-newline.html
	 */
	"toml/array-bracket-newline"?: Linter.RuleEntry<TomlArrayBracketNewline>;
	/**
	 * enforce consistent spacing inside array brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/array-bracket-spacing.html
	 */
	"toml/array-bracket-spacing"?: Linter.RuleEntry<TomlArrayBracketSpacing>;
	/**
	 * enforce line breaks between array elements
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/array-element-newline.html
	 */
	"toml/array-element-newline"?: Linter.RuleEntry<TomlArrayElementNewline>;
	/**
	 * enforce consistent comma style in array
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/comma-style.html
	 */
	"toml/comma-style"?: Linter.RuleEntry<TomlCommaStyle>;
	/**
	 * enforce consistent indentation
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/indent.html
	 */
	"toml/indent"?: Linter.RuleEntry<TomlIndent>;
	/**
	 * enforce consistent spacing inside braces
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-spacing.html
	 */
	"toml/inline-table-curly-spacing"?: Linter.RuleEntry<TomlInlineTableCurlySpacing>;
	/**
	 * enforce consistent spacing between keys and values in key/value pairs
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/key-spacing.html
	 */
	"toml/key-spacing"?: Linter.RuleEntry<TomlKeySpacing>;
	/**
	 * disallow defining pair keys out-of-order
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/keys-order.html
	 */
	"toml/keys-order"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow mixed data types in array
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/no-mixed-type-in-array.html
	 */
	"toml/no-mixed-type-in-array"?: Linter.RuleEntry<TomlNoMixedTypeInArray>;
	/**
	 * disallow hexadecimal, octal and binary integer
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/no-non-decimal-integer.html
	 */
	"toml/no-non-decimal-integer"?: Linter.RuleEntry<TomlNoNonDecimalInteger>;
	/**
	 * disallow spacing around infix operators
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/no-space-dots.html
	 */
	"toml/no-space-dots"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow number separators that to not enhance readability.
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/no-unreadable-number-separator.html
	 */
	"toml/no-unreadable-number-separator"?: Linter.RuleEntry<[
	]>;
	/**
	 * require or disallow padding lines between pairs
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/padding-line-between-pairs.html
	 */
	"toml/padding-line-between-pairs"?: Linter.RuleEntry<[
	]>;
	/**
	 * require or disallow padding lines between tables
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/padding-line-between-tables.html
	 */
	"toml/padding-line-between-tables"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow precision of fractional seconds greater than the specified value.
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/precision-of-fractional-seconds.html
	 */
	"toml/precision-of-fractional-seconds"?: Linter.RuleEntry<TomlPrecisionOfFractionalSeconds>;
	/**
	 * disallow precision of integer greater than the specified value.
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/precision-of-integer.html
	 */
	"toml/precision-of-integer"?: Linter.RuleEntry<TomlPrecisionOfInteger>;
	/**
	 * require or disallow quotes around keys
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/quoted-keys.html
	 */
	"toml/quoted-keys"?: Linter.RuleEntry<TomlQuotedKeys>;
	/**
	 * require spacing around equals sign
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/space-eq-sign.html
	 * @deprecated
	 */
	"toml/space-eq-sign"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent spacing after the `#` in a comment
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/spaced-comment.html
	 */
	"toml/spaced-comment"?: Linter.RuleEntry<TomlSpacedComment>;
	/**
	 * enforce consistent spacing inside table brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/table-bracket-spacing.html
	 */
	"toml/table-bracket-spacing"?: Linter.RuleEntry<TomlTableBracketSpacing>;
	/**
	 * disallow defining tables out-of-order
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/tables-order.html
	 */
	"toml/tables-order"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow parsing errors in Vue custom blocks
	 * @see https://ota-meshi.github.io/eslint-plugin-toml/rules/vue-custom-block/no-parsing-error.html
	 */
	"toml/vue-custom-block/no-parsing-error"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require that function overload signatures be consecutive
	 * @see https://typescript-eslint.io/rules/adjacent-overload-signatures
	 */
	"ts/adjacent-overload-signatures"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require consistently using either `T[]` or `Array<T>` for arrays
	 * @see https://typescript-eslint.io/rules/array-type
	 */
	"ts/array-type"?: Linter.RuleEntry<TsArrayType>;
	/**
	 * Disallow awaiting a value that is not a Thenable
	 * @see https://typescript-eslint.io/rules/await-thenable
	 */
	"ts/await-thenable"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `@ts-<directive>` comments or require descriptions after directives
	 * @see https://typescript-eslint.io/rules/ban-ts-comment
	 */
	"ts/ban-ts-comment"?: Linter.RuleEntry<TsBanTsComment>;
	/**
	 * Disallow `// tslint:<rule-flag>` comments
	 * @see https://typescript-eslint.io/rules/ban-tslint-comment
	 */
	"ts/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
	 */
	"ts/class-literal-property-style"?: Linter.RuleEntry<TsClassLiteralPropertyStyle>;
	/**
	 * Enforce that class methods utilize `this`
	 * @see https://typescript-eslint.io/rules/class-methods-use-this
	 */
	"ts/class-methods-use-this"?: Linter.RuleEntry<TsClassMethodsUseThis>;
	/**
	 * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call
	 * @see https://typescript-eslint.io/rules/consistent-generic-constructors
	 */
	"ts/consistent-generic-constructors"?: Linter.RuleEntry<TsConsistentGenericConstructors>;
	/**
	 * Require or disallow the `Record` type
	 * @see https://typescript-eslint.io/rules/consistent-indexed-object-style
	 */
	"ts/consistent-indexed-object-style"?: Linter.RuleEntry<TsConsistentIndexedObjectStyle>;
	/**
	 * Require `return` statements to either always or never specify values
	 * @see https://typescript-eslint.io/rules/consistent-return
	 */
	"ts/consistent-return"?: Linter.RuleEntry<TsConsistentReturn>;
	/**
	 * Enforce consistent usage of type assertions
	 * @see https://typescript-eslint.io/rules/consistent-type-assertions
	 */
	"ts/consistent-type-assertions"?: Linter.RuleEntry<TsConsistentTypeAssertions>;
	/**
	 * Enforce type definitions to consistently use either `interface` or `type`
	 * @see https://typescript-eslint.io/rules/consistent-type-definitions
	 */
	"ts/consistent-type-definitions"?: Linter.RuleEntry<TsConsistentTypeDefinitions>;
	/**
	 * Enforce consistent usage of type exports
	 * @see https://typescript-eslint.io/rules/consistent-type-exports
	 */
	"ts/consistent-type-exports"?: Linter.RuleEntry<TsConsistentTypeExports>;
	/**
	 * Enforce consistent usage of type imports
	 * @see https://typescript-eslint.io/rules/consistent-type-imports
	 */
	"ts/consistent-type-imports"?: Linter.RuleEntry<TsConsistentTypeImports>;
	/**
	 * Enforce default parameters to be last
	 * @see https://typescript-eslint.io/rules/default-param-last
	 */
	"ts/default-param-last"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce dot notation whenever possible
	 * @see https://typescript-eslint.io/rules/dot-notation
	 */
	"ts/dot-notation"?: Linter.RuleEntry<TsDotNotation>;
	/**
	 * Require explicit return types on functions and class methods
	 * @see https://typescript-eslint.io/rules/explicit-function-return-type
	 */
	"ts/explicit-function-return-type"?: Linter.RuleEntry<TsExplicitFunctionReturnType>;
	/**
	 * Require explicit accessibility modifiers on class properties and methods
	 * @see https://typescript-eslint.io/rules/explicit-member-accessibility
	 */
	"ts/explicit-member-accessibility"?: Linter.RuleEntry<TsExplicitMemberAccessibility>;
	/**
	 * Require explicit return and argument types on exported functions' and classes' public class methods
	 * @see https://typescript-eslint.io/rules/explicit-module-boundary-types
	 */
	"ts/explicit-module-boundary-types"?: Linter.RuleEntry<TsExplicitModuleBoundaryTypes>;
	/**
	 * Require or disallow initialization in variable declarations
	 * @see https://typescript-eslint.io/rules/init-declarations
	 */
	"ts/init-declarations"?: Linter.RuleEntry<TsInitDeclarations>;
	/**
	 * Enforce a maximum number of parameters in function definitions
	 * @see https://typescript-eslint.io/rules/max-params
	 */
	"ts/max-params"?: Linter.RuleEntry<TsMaxParams>;
	/**
	 * Require a consistent member declaration order
	 * @see https://typescript-eslint.io/rules/member-ordering
	 */
	"ts/member-ordering"?: Linter.RuleEntry<TsMemberOrdering>;
	/**
	 * Enforce using a particular method signature syntax
	 * @see https://typescript-eslint.io/rules/method-signature-style
	 */
	"ts/method-signature-style"?: Linter.RuleEntry<TsMethodSignatureStyle>;
	/**
	 * Enforce naming conventions for everything across a codebase
	 * @see https://typescript-eslint.io/rules/naming-convention
	 */
	"ts/naming-convention"?: Linter.RuleEntry<TsNamingConvention>;
	/**
	 * Disallow generic `Array` constructors
	 * @see https://typescript-eslint.io/rules/no-array-constructor
	 */
	"ts/no-array-constructor"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow using the `delete` operator on array values
	 * @see https://typescript-eslint.io/rules/no-array-delete
	 */
	"ts/no-array-delete"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require `.toString()` and `.toLocaleString()` to only be called on objects which provide useful information when stringified
	 * @see https://typescript-eslint.io/rules/no-base-to-string
	 */
	"ts/no-base-to-string"?: Linter.RuleEntry<TsNoBaseToString>;
	/**
	 * Disallow non-null assertion in locations that may be confusing
	 * @see https://typescript-eslint.io/rules/no-confusing-non-null-assertion
	 */
	"ts/no-confusing-non-null-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require expressions of type void to appear in statement position
	 * @see https://typescript-eslint.io/rules/no-confusing-void-expression
	 */
	"ts/no-confusing-void-expression"?: Linter.RuleEntry<TsNoConfusingVoidExpression>;
	/**
	 * Disallow using code marked as `@deprecated`
	 * @see https://typescript-eslint.io/rules/no-deprecated
	 */
	"ts/no-deprecated"?: Linter.RuleEntry<TsNoDeprecated>;
	/**
	 * Disallow duplicate class members
	 * @see https://typescript-eslint.io/rules/no-dupe-class-members
	 */
	"ts/no-dupe-class-members"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow duplicate enum member values
	 * @see https://typescript-eslint.io/rules/no-duplicate-enum-values
	 */
	"ts/no-duplicate-enum-values"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow duplicate constituents of union or intersection types
	 * @see https://typescript-eslint.io/rules/no-duplicate-type-constituents
	 */
	"ts/no-duplicate-type-constituents"?: Linter.RuleEntry<TsNoDuplicateTypeConstituents>;
	/**
	 * Disallow using the `delete` operator on computed key expressions
	 * @see https://typescript-eslint.io/rules/no-dynamic-delete
	 */
	"ts/no-dynamic-delete"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow empty functions
	 * @see https://typescript-eslint.io/rules/no-empty-function
	 */
	"ts/no-empty-function"?: Linter.RuleEntry<TsNoEmptyFunction>;
	/**
	 * Disallow the declaration of empty interfaces
	 * @see https://typescript-eslint.io/rules/no-empty-interface
	 * @deprecated
	 */
	"ts/no-empty-interface"?: Linter.RuleEntry<TsNoEmptyInterface>;
	/**
	 * Disallow accidentally using the "empty object" type
	 * @see https://typescript-eslint.io/rules/no-empty-object-type
	 */
	"ts/no-empty-object-type"?: Linter.RuleEntry<TsNoEmptyObjectType>;
	/**
	 * Disallow the `any` type
	 * @see https://typescript-eslint.io/rules/no-explicit-any
	 */
	"ts/no-explicit-any"?: Linter.RuleEntry<TsNoExplicitAny>;
	/**
	 * Disallow extra non-null assertions
	 * @see https://typescript-eslint.io/rules/no-extra-non-null-assertion
	 */
	"ts/no-extra-non-null-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow classes used as namespaces
	 * @see https://typescript-eslint.io/rules/no-extraneous-class
	 */
	"ts/no-extraneous-class"?: Linter.RuleEntry<TsNoExtraneousClass>;
	/**
	 * Require Promise-like statements to be handled appropriately
	 * @see https://typescript-eslint.io/rules/no-floating-promises
	 */
	"ts/no-floating-promises"?: Linter.RuleEntry<TsNoFloatingPromises>;
	/**
	 * Disallow iterating over an array with a for-in loop
	 * @see https://typescript-eslint.io/rules/no-for-in-array
	 */
	"ts/no-for-in-array"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow the use of `eval()`-like functions
	 * @see https://typescript-eslint.io/rules/no-implied-eval
	 */
	"ts/no-implied-eval"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of top-level import type qualifier when an import only has specifiers with inline type qualifiers
	 * @see https://typescript-eslint.io/rules/no-import-type-side-effects
	 */
	"ts/no-import-type-side-effects"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow explicit type declarations for variables or parameters initialized to a number, string, or boolean
	 * @see https://typescript-eslint.io/rules/no-inferrable-types
	 */
	"ts/no-inferrable-types"?: Linter.RuleEntry<TsNoInferrableTypes>;
	/**
	 * Disallow `this` keywords outside of classes or class-like objects
	 * @see https://typescript-eslint.io/rules/no-invalid-this
	 */
	"ts/no-invalid-this"?: Linter.RuleEntry<TsNoInvalidThis>;
	/**
	 * Disallow `void` type outside of generic or return types
	 * @see https://typescript-eslint.io/rules/no-invalid-void-type
	 */
	"ts/no-invalid-void-type"?: Linter.RuleEntry<TsNoInvalidVoidType>;
	/**
	 * Disallow function declarations that contain unsafe references inside loop statements
	 * @see https://typescript-eslint.io/rules/no-loop-func
	 */
	"ts/no-loop-func"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow literal numbers that lose precision
	 * @see https://typescript-eslint.io/rules/no-loss-of-precision
	 * @deprecated
	 */
	"ts/no-loss-of-precision"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow magic numbers
	 * @see https://typescript-eslint.io/rules/no-magic-numbers
	 */
	"ts/no-magic-numbers"?: Linter.RuleEntry<TsNoMagicNumbers>;
	/**
	 * Disallow the `void` operator except when used to discard a value
	 * @see https://typescript-eslint.io/rules/no-meaningless-void-operator
	 */
	"ts/no-meaningless-void-operator"?: Linter.RuleEntry<TsNoMeaninglessVoidOperator>;
	/**
	 * Enforce valid definition of `new` and `constructor`
	 * @see https://typescript-eslint.io/rules/no-misused-new
	 */
	"ts/no-misused-new"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow Promises in places not designed to handle them
	 * @see https://typescript-eslint.io/rules/no-misused-promises
	 */
	"ts/no-misused-promises"?: Linter.RuleEntry<TsNoMisusedPromises>;
	/**
	 * Disallow using the spread operator when it might cause unexpected behavior
	 * @see https://typescript-eslint.io/rules/no-misused-spread
	 */
	"ts/no-misused-spread"?: Linter.RuleEntry<TsNoMisusedSpread>;
	/**
	 * Disallow enums from having both number and string members
	 * @see https://typescript-eslint.io/rules/no-mixed-enums
	 */
	"ts/no-mixed-enums"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow TypeScript namespaces
	 * @see https://typescript-eslint.io/rules/no-namespace
	 */
	"ts/no-namespace"?: Linter.RuleEntry<TsNoNamespace>;
	/**
	 * Disallow non-null assertions in the left operand of a nullish coalescing operator
	 * @see https://typescript-eslint.io/rules/no-non-null-asserted-nullish-coalescing
	 */
	"ts/no-non-null-asserted-nullish-coalescing"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow non-null assertions after an optional chain expression
	 * @see https://typescript-eslint.io/rules/no-non-null-asserted-optional-chain
	 */
	"ts/no-non-null-asserted-optional-chain"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow non-null assertions using the `!` postfix operator
	 * @see https://typescript-eslint.io/rules/no-non-null-assertion
	 */
	"ts/no-non-null-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow variable redeclaration
	 * @see https://typescript-eslint.io/rules/no-redeclare
	 */
	"ts/no-redeclare"?: Linter.RuleEntry<TsNoRedeclare>;
	/**
	 * Disallow members of unions and intersections that do nothing or override type information
	 * @see https://typescript-eslint.io/rules/no-redundant-type-constituents
	 */
	"ts/no-redundant-type-constituents"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow invocation of `require()`
	 * @see https://typescript-eslint.io/rules/no-require-imports
	 */
	"ts/no-require-imports"?: Linter.RuleEntry<TsNoRequireImports>;
	/**
	 * Disallow specified modules when loaded by `import`
	 * @see https://typescript-eslint.io/rules/no-restricted-imports
	 */
	"ts/no-restricted-imports"?: Linter.RuleEntry<TsNoRestrictedImports>;
	/**
	 * Disallow certain types
	 * @see https://typescript-eslint.io/rules/no-restricted-types
	 */
	"ts/no-restricted-types"?: Linter.RuleEntry<TsNoRestrictedTypes>;
	/**
	 * Disallow variable declarations from shadowing variables declared in the outer scope
	 * @see https://typescript-eslint.io/rules/no-shadow
	 */
	"ts/no-shadow"?: Linter.RuleEntry<TsNoShadow>;
	/**
	 * Disallow aliasing `this`
	 * @see https://typescript-eslint.io/rules/no-this-alias
	 */
	"ts/no-this-alias"?: Linter.RuleEntry<TsNoThisAlias>;
	/**
	 * Disallow type aliases
	 * @see https://typescript-eslint.io/rules/no-type-alias
	 * @deprecated
	 */
	"ts/no-type-alias"?: Linter.RuleEntry<TsNoTypeAlias>;
	/**
	 * Disallow unnecessary equality comparisons against boolean literals
	 * @see https://typescript-eslint.io/rules/no-unnecessary-boolean-literal-compare
	 */
	"ts/no-unnecessary-boolean-literal-compare"?: Linter.RuleEntry<TsNoUnnecessaryBooleanLiteralCompare>;
	/**
	 * Disallow conditionals where the type is always truthy or always falsy
	 * @see https://typescript-eslint.io/rules/no-unnecessary-condition
	 */
	"ts/no-unnecessary-condition"?: Linter.RuleEntry<TsNoUnnecessaryCondition>;
	/**
	 * Disallow unnecessary assignment of constructor property parameter
	 * @see https://typescript-eslint.io/rules/no-unnecessary-parameter-property-assignment
	 */
	"ts/no-unnecessary-parameter-property-assignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unnecessary namespace qualifiers
	 * @see https://typescript-eslint.io/rules/no-unnecessary-qualifier
	 */
	"ts/no-unnecessary-qualifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unnecessary template expressions
	 * @see https://typescript-eslint.io/rules/no-unnecessary-template-expression
	 */
	"ts/no-unnecessary-template-expression"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow type arguments that are equal to the default
	 * @see https://typescript-eslint.io/rules/no-unnecessary-type-arguments
	 */
	"ts/no-unnecessary-type-arguments"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow type assertions that do not change the type of an expression
	 * @see https://typescript-eslint.io/rules/no-unnecessary-type-assertion
	 */
	"ts/no-unnecessary-type-assertion"?: Linter.RuleEntry<TsNoUnnecessaryTypeAssertion>;
	/**
	 * Disallow unnecessary constraints on generic types
	 * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
	 */
	"ts/no-unnecessary-type-constraint"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow type parameters that aren't used multiple times
	 * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
	 */
	"ts/no-unnecessary-type-parameters"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow calling a function with a value with type `any`
	 * @see https://typescript-eslint.io/rules/no-unsafe-argument
	 */
	"ts/no-unsafe-argument"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow assigning a value with type `any` to variables and properties
	 * @see https://typescript-eslint.io/rules/no-unsafe-assignment
	 */
	"ts/no-unsafe-assignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow calling a value with type `any`
	 * @see https://typescript-eslint.io/rules/no-unsafe-call
	 */
	"ts/no-unsafe-call"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unsafe declaration merging
	 * @see https://typescript-eslint.io/rules/no-unsafe-declaration-merging
	 */
	"ts/no-unsafe-declaration-merging"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow comparing an enum value with a non-enum value
	 * @see https://typescript-eslint.io/rules/no-unsafe-enum-comparison
	 */
	"ts/no-unsafe-enum-comparison"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow using the unsafe built-in Function type
	 * @see https://typescript-eslint.io/rules/no-unsafe-function-type
	 */
	"ts/no-unsafe-function-type"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow member access on a value with type `any`
	 * @see https://typescript-eslint.io/rules/no-unsafe-member-access
	 */
	"ts/no-unsafe-member-access"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow returning a value with type `any` from a function
	 * @see https://typescript-eslint.io/rules/no-unsafe-return
	 */
	"ts/no-unsafe-return"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow type assertions that narrow a type
	 * @see https://typescript-eslint.io/rules/no-unsafe-type-assertion
	 */
	"ts/no-unsafe-type-assertion"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require unary negation to take a number
	 * @see https://typescript-eslint.io/rules/no-unsafe-unary-minus
	 */
	"ts/no-unsafe-unary-minus"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unused expressions
	 * @see https://typescript-eslint.io/rules/no-unused-expressions
	 */
	"ts/no-unused-expressions"?: Linter.RuleEntry<TsNoUnusedExpressions>;
	/**
	 * Disallow unused variables
	 * @see https://typescript-eslint.io/rules/no-unused-vars
	 */
	"ts/no-unused-vars"?: Linter.RuleEntry<TsNoUnusedVars>;
	/**
	 * Disallow the use of variables before they are defined
	 * @see https://typescript-eslint.io/rules/no-use-before-define
	 */
	"ts/no-use-before-define"?: Linter.RuleEntry<TsNoUseBeforeDefine>;
	/**
	 * Disallow unnecessary constructors
	 * @see https://typescript-eslint.io/rules/no-useless-constructor
	 */
	"ts/no-useless-constructor"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow empty exports that don't change anything in a module file
	 * @see https://typescript-eslint.io/rules/no-useless-empty-export
	 */
	"ts/no-useless-empty-export"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `require` statements except in import statements
	 * @see https://typescript-eslint.io/rules/no-var-requires
	 * @deprecated
	 */
	"ts/no-var-requires"?: Linter.RuleEntry<TsNoVarRequires>;
	/**
	 * Disallow using confusing built-in primitive class wrappers
	 * @see https://typescript-eslint.io/rules/no-wrapper-object-types
	 */
	"ts/no-wrapper-object-types"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce non-null assertions over explicit type assertions
	 * @see https://typescript-eslint.io/rules/non-nullable-type-assertion-style
	 */
	"ts/non-nullable-type-assertion-style"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow throwing non-`Error` values as exceptions
	 * @see https://typescript-eslint.io/rules/only-throw-error
	 */
	"ts/only-throw-error"?: Linter.RuleEntry<TsOnlyThrowError>;
	/**
	 * Require or disallow parameter properties in class constructors
	 * @see https://typescript-eslint.io/rules/parameter-properties
	 */
	"ts/parameter-properties"?: Linter.RuleEntry<TsParameterProperties>;
	/**
	 * Enforce the use of `as const` over literal type
	 * @see https://typescript-eslint.io/rules/prefer-as-const
	 */
	"ts/prefer-as-const"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require destructuring from arrays and/or objects
	 * @see https://typescript-eslint.io/rules/prefer-destructuring
	 */
	"ts/prefer-destructuring"?: Linter.RuleEntry<TsPreferDestructuring>;
	/**
	 * Require each enum member value to be explicitly initialized
	 * @see https://typescript-eslint.io/rules/prefer-enum-initializers
	 */
	"ts/prefer-enum-initializers"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of Array.prototype.find() over Array.prototype.filter() followed by [0] when looking for a single result
	 * @see https://typescript-eslint.io/rules/prefer-find
	 */
	"ts/prefer-find"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of `for-of` loop over the standard `for` loop where possible
	 * @see https://typescript-eslint.io/rules/prefer-for-of
	 */
	"ts/prefer-for-of"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce using function types instead of interfaces with call signatures
	 * @see https://typescript-eslint.io/rules/prefer-function-type
	 */
	"ts/prefer-function-type"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce `includes` method over `indexOf` method
	 * @see https://typescript-eslint.io/rules/prefer-includes
	 */
	"ts/prefer-includes"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require all enum members to be literal values
	 * @see https://typescript-eslint.io/rules/prefer-literal-enum-member
	 */
	"ts/prefer-literal-enum-member"?: Linter.RuleEntry<TsPreferLiteralEnumMember>;
	/**
	 * Require using `namespace` keyword over `module` keyword to declare custom TypeScript modules
	 * @see https://typescript-eslint.io/rules/prefer-namespace-keyword
	 */
	"ts/prefer-namespace-keyword"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce using the nullish coalescing operator instead of logical assignments or chaining
	 * @see https://typescript-eslint.io/rules/prefer-nullish-coalescing
	 */
	"ts/prefer-nullish-coalescing"?: Linter.RuleEntry<TsPreferNullishCoalescing>;
	/**
	 * Enforce using concise optional chain expressions instead of chained logical ands, negated logical ors, or empty objects
	 * @see https://typescript-eslint.io/rules/prefer-optional-chain
	 */
	"ts/prefer-optional-chain"?: Linter.RuleEntry<TsPreferOptionalChain>;
	/**
	 * Require using Error objects as Promise rejection reasons
	 * @see https://typescript-eslint.io/rules/prefer-promise-reject-errors
	 */
	"ts/prefer-promise-reject-errors"?: Linter.RuleEntry<TsPreferPromiseRejectErrors>;
	/**
	 * Require private members to be marked as `readonly` if they're never modified outside of the constructor
	 * @see https://typescript-eslint.io/rules/prefer-readonly
	 */
	"ts/prefer-readonly"?: Linter.RuleEntry<TsPreferReadonly>;
	/**
	 * Require function parameters to be typed as `readonly` to prevent accidental mutation of inputs
	 * @see https://typescript-eslint.io/rules/prefer-readonly-parameter-types
	 */
	"ts/prefer-readonly-parameter-types"?: Linter.RuleEntry<TsPreferReadonlyParameterTypes>;
	/**
	 * Enforce using type parameter when calling `Array#reduce` instead of using a type assertion
	 * @see https://typescript-eslint.io/rules/prefer-reduce-type-parameter
	 */
	"ts/prefer-reduce-type-parameter"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce `RegExp#exec` over `String#match` if no global flag is provided
	 * @see https://typescript-eslint.io/rules/prefer-regexp-exec
	 */
	"ts/prefer-regexp-exec"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce that `this` is used when only `this` type is returned
	 * @see https://typescript-eslint.io/rules/prefer-return-this-type
	 */
	"ts/prefer-return-this-type"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce using `String#startsWith` and `String#endsWith` over other equivalent methods of checking substrings
	 * @see https://typescript-eslint.io/rules/prefer-string-starts-ends-with
	 */
	"ts/prefer-string-starts-ends-with"?: Linter.RuleEntry<TsPreferStringStartsEndsWith>;
	/**
	 * Enforce using `@ts-expect-error` over `@ts-ignore`
	 * @see https://typescript-eslint.io/rules/prefer-ts-expect-error
	 * @deprecated
	 */
	"ts/prefer-ts-expect-error"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require any function or method that returns a Promise to be marked async
	 * @see https://typescript-eslint.io/rules/promise-function-async
	 */
	"ts/promise-function-async"?: Linter.RuleEntry<TsPromiseFunctionAsync>;
	/**
	 * Enforce that `get()` types should be assignable to their equivalent `set()` type
	 * @see https://typescript-eslint.io/rules/related-getter-setter-pairs
	 */
	"ts/related-getter-setter-pairs"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require `Array#sort` and `Array#toSorted` calls to always provide a `compareFunction`
	 * @see https://typescript-eslint.io/rules/require-array-sort-compare
	 */
	"ts/require-array-sort-compare"?: Linter.RuleEntry<TsRequireArraySortCompare>;
	/**
	 * Disallow async functions which do not return promises and have no `await` expression
	 * @see https://typescript-eslint.io/rules/require-await
	 */
	"ts/require-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require both operands of addition to be the same type and be `bigint`, `number`, or `string`
	 * @see https://typescript-eslint.io/rules/restrict-plus-operands
	 */
	"ts/restrict-plus-operands"?: Linter.RuleEntry<TsRestrictPlusOperands>;
	/**
	 * Enforce template literal expressions to be of `string` type
	 * @see https://typescript-eslint.io/rules/restrict-template-expressions
	 */
	"ts/restrict-template-expressions"?: Linter.RuleEntry<TsRestrictTemplateExpressions>;
	/**
	 * Enforce consistent awaiting of returned promises
	 * @see https://typescript-eslint.io/rules/return-await
	 */
	"ts/return-await"?: Linter.RuleEntry<TsReturnAwait>;
	/**
	 * Enforce constituents of a type union/intersection to be sorted alphabetically
	 * @see https://typescript-eslint.io/rules/sort-type-constituents
	 * @deprecated
	 */
	"ts/sort-type-constituents"?: Linter.RuleEntry<TsSortTypeConstituents>;
	/**
	 * Disallow certain types in boolean expressions
	 * @see https://typescript-eslint.io/rules/strict-boolean-expressions
	 */
	"ts/strict-boolean-expressions"?: Linter.RuleEntry<TsStrictBooleanExpressions>;
	/**
	 * Require switch-case statements to be exhaustive
	 * @see https://typescript-eslint.io/rules/switch-exhaustiveness-check
	 */
	"ts/switch-exhaustiveness-check"?: Linter.RuleEntry<TsSwitchExhaustivenessCheck>;
	/**
	 * Disallow certain triple slash directives in favor of ES6-style import declarations
	 * @see https://typescript-eslint.io/rules/triple-slash-reference
	 */
	"ts/triple-slash-reference"?: Linter.RuleEntry<TsTripleSlashReference>;
	/**
	 * Require type annotations in certain places
	 * @see https://typescript-eslint.io/rules/typedef
	 */
	"ts/typedef"?: Linter.RuleEntry<TsTypedef>;
	/**
	 * Enforce unbound methods are called with their expected scope
	 * @see https://typescript-eslint.io/rules/unbound-method
	 */
	"ts/unbound-method"?: Linter.RuleEntry<TsUnboundMethod>;
	/**
	 * Disallow two overloads that could be unified into one with a union or an optional/rest parameter
	 * @see https://typescript-eslint.io/rules/unified-signatures
	 */
	"ts/unified-signatures"?: Linter.RuleEntry<TsUnifiedSignatures>;
	/**
	 * Enforce typing arguments in Promise rejection callbacks as `unknown`
	 * @see https://typescript-eslint.io/rules/use-unknown-in-catch-callback-variable
	 */
	"ts/use-unknown-in-catch-callback-variable"?: Linter.RuleEntry<[
	]>;
	/**
	 * Improve regexes by making them shorter, consistent, and safer.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/better-regex.md
	 */
	"unicorn/better-regex"?: Linter.RuleEntry<UnicornBetterRegex>;
	/**
	 * Enforce a specific parameter name in catch clauses.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/catch-error-name.md
	 */
	"unicorn/catch-error-name"?: Linter.RuleEntry<UnicornCatchErrorName>;
	/**
	 * Enforce consistent assertion style with `node:assert`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-assert.md
	 */
	"unicorn/consistent-assert"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer passing `Date` directly to the constructor when cloning.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-date-clone.md
	 */
	"unicorn/consistent-date-clone"?: Linter.RuleEntry<[
	]>;
	/**
	 * Use destructured variables over properties.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-destructuring.md
	 */
	"unicorn/consistent-destructuring"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer consistent types when spreading a ternary in an array literal.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-empty-array-spread.md
	 */
	"unicorn/consistent-empty-array-spread"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce consistent style for element existence checks with `indexOf()`, `lastIndexOf()`, `findIndex()`, and `findLastIndex()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-existence-index-check.md
	 */
	"unicorn/consistent-existence-index-check"?: Linter.RuleEntry<[
	]>;
	/**
	 * Move function definitions to the highest possible scope.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/consistent-function-scoping.md
	 */
	"unicorn/consistent-function-scoping"?: Linter.RuleEntry<UnicornConsistentFunctionScoping>;
	/**
	 * Enforce correct `Error` subclassing.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/custom-error-definition.md
	 */
	"unicorn/custom-error-definition"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce no spaces between braces.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/empty-brace-spaces.md
	 */
	"unicorn/empty-brace-spaces"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce passing a `message` value when creating a built-in error.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/error-message.md
	 */
	"unicorn/error-message"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require escape sequences to use uppercase values.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/escape-case.md
	 */
	"unicorn/escape-case"?: Linter.RuleEntry<[
	]>;
	/**
	 * Add expiration conditions to TODO comments.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/expiring-todo-comments.md
	 */
	"unicorn/expiring-todo-comments"?: Linter.RuleEntry<UnicornExpiringTodoComments>;
	/**
	 * Enforce explicitly comparing the `length` or `size` property of a value.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/explicit-length-check.md
	 */
	"unicorn/explicit-length-check"?: Linter.RuleEntry<UnicornExplicitLengthCheck>;
	/**
	 * Enforce a case style for filenames.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/filename-case.md
	 */
	"unicorn/filename-case"?: Linter.RuleEntry<UnicornFilenameCase>;
	/**
	 * Enforce specific import styles per module.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/import-style.md
	 */
	"unicorn/import-style"?: Linter.RuleEntry<UnicornImportStyle>;
	/**
	 * Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/new-for-builtins.md
	 */
	"unicorn/new-for-builtins"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce specifying rules to disable in `eslint-disable` comments.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-abusive-eslint-disable.md
	 */
	"unicorn/no-abusive-eslint-disable"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow recursive access to `this` within getters and setters.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-accessor-recursion.md
	 */
	"unicorn/no-accessor-recursion"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow anonymous functions and classes as the default export.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-anonymous-default-export.md
	 */
	"unicorn/no-anonymous-default-export"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prevent passing a function reference directly to iterator methods.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-callback-reference.md
	 */
	"unicorn/no-array-callback-reference"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `for…of` over the `forEach` method.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-for-each.md
	 */
	"unicorn/no-array-for-each"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow using the `this` argument in array methods.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-method-this-argument.md
	 */
	"unicorn/no-array-method-this-argument"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce combining multiple `Array#push()` into one call.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-push-push.md
	 */
	"unicorn/no-array-push-push"?: Linter.RuleEntry<UnicornNoArrayPushPush>;
	/**
	 * Disallow `Array#reduce()` and `Array#reduceRight()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-array-reduce.md
	 */
	"unicorn/no-array-reduce"?: Linter.RuleEntry<UnicornNoArrayReduce>;
	/**
	 * Disallow member access from await expression.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-await-expression-member.md
	 */
	"unicorn/no-await-expression-member"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow using `await` in `Promise` method parameters.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-await-in-promise-methods.md
	 */
	"unicorn/no-await-in-promise-methods"?: Linter.RuleEntry<[
	]>;
	/**
	 * Do not use leading/trailing space between `console.log` parameters.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-console-spaces.md
	 */
	"unicorn/no-console-spaces"?: Linter.RuleEntry<[
	]>;
	/**
	 * Do not use `document.cookie` directly.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-document-cookie.md
	 */
	"unicorn/no-document-cookie"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow empty files.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-empty-file.md
	 */
	"unicorn/no-empty-file"?: Linter.RuleEntry<[
	]>;
	/**
	 * Do not use a `for` loop that can be replaced with a `for-of` loop.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-for-loop.md
	 */
	"unicorn/no-for-loop"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of Unicode escapes instead of hexadecimal escapes.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-hex-escape.md
	 */
	"unicorn/no-hex-escape"?: Linter.RuleEntry<[
	]>;
	/**
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/deprecated-rules.md#no-instanceof-array
	 * @deprecated
	 */
	"unicorn/no-instanceof-array"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `instanceof` with built-in objects
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-instanceof-builtins.md
	 */
	"unicorn/no-instanceof-builtins"?: Linter.RuleEntry<UnicornNoInstanceofBuiltins>;
	/**
	 * Disallow invalid options in `fetch()` and `new Request()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-invalid-fetch-options.md
	 */
	"unicorn/no-invalid-fetch-options"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prevent calling `EventTarget#removeEventListener()` with the result of an expression.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-invalid-remove-event-listener.md
	 */
	"unicorn/no-invalid-remove-event-listener"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow identifiers starting with `new` or `class`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-keyword-prefix.md
	 */
	"unicorn/no-keyword-prefix"?: Linter.RuleEntry<UnicornNoKeywordPrefix>;
	/**
	 * Disallow using `.length` as the `end` argument of `{Array,String,TypedArray}#slice()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-length-as-slice-end.md
	 */
	"unicorn/no-length-as-slice-end"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `if` statements as the only statement in `if` blocks without `else`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-lonely-if.md
	 */
	"unicorn/no-lonely-if"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow a magic number as the `depth` argument in `Array#flat(…).`
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-magic-array-flat-depth.md
	 */
	"unicorn/no-magic-array-flat-depth"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow named usage of default import and export.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-named-default.md
	 */
	"unicorn/no-named-default"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow negated conditions.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-negated-condition.md
	 */
	"unicorn/no-negated-condition"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow negated expression in equality check.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-negation-in-equality-check.md
	 */
	"unicorn/no-negation-in-equality-check"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow nested ternary expressions.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-nested-ternary.md
	 */
	"unicorn/no-nested-ternary"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `new Array()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-new-array.md
	 */
	"unicorn/no-new-array"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-new-buffer.md
	 */
	"unicorn/no-new-buffer"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow the use of the `null` literal.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-null.md
	 */
	"unicorn/no-null"?: Linter.RuleEntry<UnicornNoNull>;
	/**
	 * Disallow the use of objects as default parameters.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-object-as-default-parameter.md
	 */
	"unicorn/no-object-as-default-parameter"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `process.exit()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-process-exit.md
	 */
	"unicorn/no-process-exit"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow passing single-element arrays to `Promise` methods.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-single-promise-in-promise-methods.md
	 */
	"unicorn/no-single-promise-in-promise-methods"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow classes that only have static members.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-static-only-class.md
	 */
	"unicorn/no-static-only-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow `then` property.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-thenable.md
	 */
	"unicorn/no-thenable"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow assigning `this` to a variable.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-this-assignment.md
	 */
	"unicorn/no-this-assignment"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow comparing `undefined` using `typeof`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-typeof-undefined.md
	 */
	"unicorn/no-typeof-undefined"?: Linter.RuleEntry<UnicornNoTypeofUndefined>;
	/**
	 * Disallow awaiting non-promise values.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unnecessary-await.md
	 */
	"unicorn/no-unnecessary-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of built-in methods instead of unnecessary polyfills.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unnecessary-polyfills.md
	 */
	"unicorn/no-unnecessary-polyfills"?: Linter.RuleEntry<UnicornNoUnnecessaryPolyfills>;
	/**
	 * Disallow unreadable array destructuring.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unreadable-array-destructuring.md
	 */
	"unicorn/no-unreadable-array-destructuring"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unreadable IIFEs.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unreadable-iife.md
	 */
	"unicorn/no-unreadable-iife"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unused object properties.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-unused-properties.md
	 */
	"unicorn/no-unused-properties"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow useless fallback when spreading in object literals.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-fallback-in-spread.md
	 */
	"unicorn/no-useless-fallback-in-spread"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow useless array length check.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-length-check.md
	 */
	"unicorn/no-useless-length-check"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-promise-resolve-reject.md
	 */
	"unicorn/no-useless-promise-resolve-reject"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unnecessary spread.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-spread.md
	 */
	"unicorn/no-useless-spread"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow useless case in switch statements.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-switch-case.md
	 */
	"unicorn/no-useless-switch-case"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow useless `undefined`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-useless-undefined.md
	 */
	"unicorn/no-useless-undefined"?: Linter.RuleEntry<UnicornNoUselessUndefined>;
	/**
	 * Disallow number literals with zero fractions or dangling dots.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/no-zero-fractions.md
	 */
	"unicorn/no-zero-fractions"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce proper case for numeric literals.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/number-literal-case.md
	 */
	"unicorn/number-literal-case"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the style of numeric separators by correctly grouping digits.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/numeric-separators-style.md
	 */
	"unicorn/numeric-separators-style"?: Linter.RuleEntry<UnicornNumericSeparatorsStyle>;
	/**
	 * Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-add-event-listener.md
	 */
	"unicorn/prefer-add-event-listener"?: Linter.RuleEntry<UnicornPreferAddEventListener>;
	/**
	 * Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-find.md
	 */
	"unicorn/prefer-array-find"?: Linter.RuleEntry<UnicornPreferArrayFind>;
	/**
	 * Prefer `Array#flat()` over legacy techniques to flatten arrays.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-flat.md
	 */
	"unicorn/prefer-array-flat"?: Linter.RuleEntry<UnicornPreferArrayFlat>;
	/**
	 * Prefer `.flatMap(…)` over `.map(…).flat()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-flat-map.md
	 */
	"unicorn/prefer-array-flat-map"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-index-of.md
	 */
	"unicorn/prefer-array-index-of"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-array-some.md
	 */
	"unicorn/prefer-array-some"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `.at()` method for index access and `String#charAt()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-at.md
	 */
	"unicorn/prefer-at"?: Linter.RuleEntry<UnicornPreferAt>;
	/**
	 * Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-blob-reading-methods.md
	 */
	"unicorn/prefer-blob-reading-methods"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-code-point.md
	 */
	"unicorn/prefer-code-point"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-date-now.md
	 */
	"unicorn/prefer-date-now"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer default parameters over reassignment.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-default-parameters.md
	 */
	"unicorn/prefer-default-parameters"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Node#append()` over `Node#appendChild()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-append.md
	 */
	"unicorn/prefer-dom-node-append"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using `.dataset` on DOM elements over calling attribute methods.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-dataset.md
	 */
	"unicorn/prefer-dom-node-dataset"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `childNode.remove()` over `parentNode.removeChild(childNode)`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-remove.md
	 */
	"unicorn/prefer-dom-node-remove"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `.textContent` over `.innerText`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-dom-node-text-content.md
	 */
	"unicorn/prefer-dom-node-text-content"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `EventTarget` over `EventEmitter`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-event-target.md
	 */
	"unicorn/prefer-event-target"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `export…from` when re-exporting.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-export-from.md
	 */
	"unicorn/prefer-export-from"?: Linter.RuleEntry<UnicornPreferExportFrom>;
	/**
	 * Prefer `globalThis` over `window`, `self`, and `global`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-global-this.md
	 */
	"unicorn/prefer-global-this"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `.includes()` over `.indexOf()`, `.lastIndexOf()`, and `Array#some()` when checking for existence or non-existence.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-includes.md
	 */
	"unicorn/prefer-includes"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer reading a JSON file as a buffer.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-json-parse-buffer.md
	 */
	"unicorn/prefer-json-parse-buffer"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-keyboard-event-key.md
	 */
	"unicorn/prefer-keyboard-event-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using a logical operator over a ternary.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-logical-operator-over-ternary.md
	 */
	"unicorn/prefer-logical-operator-over-ternary"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Math.min()` and `Math.max()` over ternaries for simple comparisons.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-math-min-max.md
	 */
	"unicorn/prefer-math-min-max"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce the use of `Math.trunc` instead of bitwise operators.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-math-trunc.md
	 */
	"unicorn/prefer-math-trunc"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-modern-dom-apis.md
	 */
	"unicorn/prefer-modern-dom-apis"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer modern `Math` APIs over legacy patterns.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-modern-math-apis.md
	 */
	"unicorn/prefer-modern-math-apis"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer JavaScript modules (ESM) over CommonJS.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-module.md
	 */
	"unicorn/prefer-module"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-native-coercion-functions.md
	 */
	"unicorn/prefer-native-coercion-functions"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer negative index over `.length - index` when possible.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-negative-index.md
	 */
	"unicorn/prefer-negative-index"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using the `node:` protocol when importing Node.js builtin modules.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-node-protocol.md
	 */
	"unicorn/prefer-node-protocol"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Number` static properties over global ones.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-number-properties.md
	 */
	"unicorn/prefer-number-properties"?: Linter.RuleEntry<UnicornPreferNumberProperties>;
	/**
	 * Prefer using `Object.fromEntries(…)` to transform a list of key-value pairs into an object.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-object-from-entries.md
	 */
	"unicorn/prefer-object-from-entries"?: Linter.RuleEntry<UnicornPreferObjectFromEntries>;
	/**
	 * Prefer omitting the `catch` binding parameter.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-optional-catch-binding.md
	 */
	"unicorn/prefer-optional-catch-binding"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer borrowing methods from the prototype instead of the instance.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-prototype-methods.md
	 */
	"unicorn/prefer-prototype-methods"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `.querySelector()` over `.getElementById()`, `.querySelectorAll()` over `.getElementsByClassName()` and `.getElementsByTagName()` and `.getElementsByName()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-query-selector.md
	 */
	"unicorn/prefer-query-selector"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Reflect.apply()` over `Function#apply()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-reflect-apply.md
	 */
	"unicorn/prefer-reflect-apply"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-regexp-test.md
	 */
	"unicorn/prefer-regexp-test"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-set-has.md
	 */
	"unicorn/prefer-set-has"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using `Set#size` instead of `Array#length`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-set-size.md
	 */
	"unicorn/prefer-set-size"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer the spread operator over `Array.from(…)`, `Array#concat(…)`, `Array#{slice,toSpliced}()` and `String#split('')`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-spread.md
	 */
	"unicorn/prefer-spread"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using the `String.raw` tag to avoid escaping `\`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-raw.md
	 */
	"unicorn/prefer-string-raw"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `String#replaceAll()` over regex searches with the global flag.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-replace-all.md
	 */
	"unicorn/prefer-string-replace-all"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `String#slice()` over `String#substr()` and `String#substring()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-slice.md
	 */
	"unicorn/prefer-string-slice"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `String#startsWith()` & `String#endsWith()` over `RegExp#test()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-starts-ends-with.md
	 */
	"unicorn/prefer-string-starts-ends-with"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-string-trim-start-end.md
	 */
	"unicorn/prefer-string-trim-start-end"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prefer using `structuredClone` to create a deep clone.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-structured-clone.md
	 */
	"unicorn/prefer-structured-clone"?: Linter.RuleEntry<UnicornPreferStructuredClone>;
	/**
	 * Prefer `switch` over multiple `else-if`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-switch.md
	 */
	"unicorn/prefer-switch"?: Linter.RuleEntry<UnicornPreferSwitch>;
	/**
	 * Prefer ternary expressions over simple `if-else` statements.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-ternary.md
	 */
	"unicorn/prefer-ternary"?: Linter.RuleEntry<UnicornPreferTernary>;
	/**
	 * Prefer top-level await over top-level promises and async function calls.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-top-level-await.md
	 */
	"unicorn/prefer-top-level-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce throwing `TypeError` in type checking conditions.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prefer-type-error.md
	 */
	"unicorn/prefer-type-error"?: Linter.RuleEntry<[
	]>;
	/**
	 * Prevent abbreviations.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/prevent-abbreviations.md
	 */
	"unicorn/prevent-abbreviations"?: Linter.RuleEntry<UnicornPreventAbbreviations>;
	/**
	 * Enforce consistent relative URL style.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/relative-url-style.md
	 */
	"unicorn/relative-url-style"?: Linter.RuleEntry<UnicornRelativeUrlStyle>;
	/**
	 * Enforce using the separator argument with `Array#join()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/require-array-join-separator.md
	 */
	"unicorn/require-array-join-separator"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce using the digits argument with `Number#toFixed()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/require-number-to-fixed-digits-argument.md
	 */
	"unicorn/require-number-to-fixed-digits-argument"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce using the `targetOrigin` argument with `window.postMessage()`.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/require-post-message-target-origin.md
	 */
	"unicorn/require-post-message-target-origin"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce better string content.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/string-content.md
	 */
	"unicorn/string-content"?: Linter.RuleEntry<UnicornStringContent>;
	/**
	 * Enforce consistent brace style for `case` clauses.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/switch-case-braces.md
	 */
	"unicorn/switch-case-braces"?: Linter.RuleEntry<UnicornSwitchCaseBraces>;
	/**
	 * Fix whitespace-insensitive template indentation.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/template-indent.md
	 */
	"unicorn/template-indent"?: Linter.RuleEntry<UnicornTemplateIndent>;
	/**
	 * Enforce consistent case for text encoding identifiers.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/text-encoding-identifier-case.md
	 */
	"unicorn/text-encoding-identifier-case"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require `new` when creating an error.
	 * @see https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v57.0.0/docs/rules/throw-new-error.md
	 */
	"unicorn/throw-new-error"?: Linter.RuleEntry<[
	]>;
	/**
	 * Utilities in UnoCSS blocklist
	 * @see https://unocss.dev/integrations/eslint#rules
	 */
	"unocss/blocklist"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce class compilation
	 * @see https://unocss.dev/integrations/eslint#rules
	 */
	"unocss/enforce-class-compile"?: Linter.RuleEntry<UnocssEnforceClassCompile>;
	/**
	 * Order of UnoCSS utilities in class attribute
	 * @see https://unocss.dev/integrations/eslint#rules
	 */
	"unocss/order"?: Linter.RuleEntry<[
	]>;
	/**
	 * Order of UnoCSS attributes
	 * @see https://unocss.dev/integrations/eslint#rules
	 */
	"unocss/order-attributify"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce linebreaks after opening and before closing array brackets in `<template>`
	 * @see https://eslint.vuejs.org/rules/array-bracket-newline.html
	 */
	"vue/array-bracket-newline"?: Linter.RuleEntry<VueArrayBracketNewline>;
	/**
	 * Enforce consistent spacing inside array brackets in `<template>`
	 * @see https://eslint.vuejs.org/rules/array-bracket-spacing.html
	 */
	"vue/array-bracket-spacing"?: Linter.RuleEntry<VueArrayBracketSpacing>;
	/**
	 * Enforce line breaks after each array element in `<template>`
	 * @see https://eslint.vuejs.org/rules/array-element-newline.html
	 */
	"vue/array-element-newline"?: Linter.RuleEntry<VueArrayElementNewline>;
	/**
	 * Enforce consistent spacing before and after the arrow in arrow functions in `<template>`
	 * @see https://eslint.vuejs.org/rules/arrow-spacing.html
	 */
	"vue/arrow-spacing"?: Linter.RuleEntry<VueArrowSpacing>;
	/**
	 * enforce attribute naming style on custom components in template
	 * @see https://eslint.vuejs.org/rules/attribute-hyphenation.html
	 */
	"vue/attribute-hyphenation"?: Linter.RuleEntry<VueAttributeHyphenation>;
	/**
	 * enforce order of attributes
	 * @see https://eslint.vuejs.org/rules/attributes-order.html
	 */
	"vue/attributes-order"?: Linter.RuleEntry<VueAttributesOrder>;
	/**
	 * disallow use other than available `lang`
	 * @see https://eslint.vuejs.org/rules/block-lang.html
	 */
	"vue/block-lang"?: Linter.RuleEntry<VueBlockLang>;
	/**
	 * enforce order of component top-level elements
	 * @see https://eslint.vuejs.org/rules/block-order.html
	 */
	"vue/block-order"?: Linter.RuleEntry<VueBlockOrder>;
	/**
	 * Disallow or enforce spaces inside of blocks after opening block and before closing block in `<template>`
	 * @see https://eslint.vuejs.org/rules/block-spacing.html
	 */
	"vue/block-spacing"?: Linter.RuleEntry<VueBlockSpacing>;
	/**
	 * enforce line breaks after opening and before closing block-level tags
	 * @see https://eslint.vuejs.org/rules/block-tag-newline.html
	 */
	"vue/block-tag-newline"?: Linter.RuleEntry<VueBlockTagNewline>;
	/**
	 * Enforce consistent brace style for blocks in `<template>`
	 * @see https://eslint.vuejs.org/rules/brace-style.html
	 */
	"vue/brace-style"?: Linter.RuleEntry<VueBraceStyle>;
	/**
	 * Enforce camelcase naming convention in `<template>`
	 * @see https://eslint.vuejs.org/rules/camelcase.html
	 */
	"vue/camelcase"?: Linter.RuleEntry<VueCamelcase>;
	/**
	 * Require or disallow trailing commas in `<template>`
	 * @see https://eslint.vuejs.org/rules/comma-dangle.html
	 */
	"vue/comma-dangle"?: Linter.RuleEntry<VueCommaDangle>;
	/**
	 * Enforce consistent spacing before and after commas in `<template>`
	 * @see https://eslint.vuejs.org/rules/comma-spacing.html
	 */
	"vue/comma-spacing"?: Linter.RuleEntry<VueCommaSpacing>;
	/**
	 * Enforce consistent comma style in `<template>`
	 * @see https://eslint.vuejs.org/rules/comma-style.html
	 */
	"vue/comma-style"?: Linter.RuleEntry<VueCommaStyle>;
	/**
	 * support comment-directives in `<template>`
	 * @see https://eslint.vuejs.org/rules/comment-directive.html
	 */
	"vue/comment-directive"?: Linter.RuleEntry<VueCommentDirective>;
	/**
	 * enforce component API style
	 * @see https://eslint.vuejs.org/rules/component-api-style.html
	 */
	"vue/component-api-style"?: Linter.RuleEntry<VueComponentApiStyle>;
	/**
	 * enforce specific casing for component definition name
	 * @see https://eslint.vuejs.org/rules/component-definition-name-casing.html
	 */
	"vue/component-definition-name-casing"?: Linter.RuleEntry<VueComponentDefinitionNameCasing>;
	/**
	 * enforce specific casing for the component naming style in template
	 * @see https://eslint.vuejs.org/rules/component-name-in-template-casing.html
	 */
	"vue/component-name-in-template-casing"?: Linter.RuleEntry<VueComponentNameInTemplateCasing>;
	/**
	 * enforce the casing of component name in `components` options
	 * @see https://eslint.vuejs.org/rules/component-options-name-casing.html
	 */
	"vue/component-options-name-casing"?: Linter.RuleEntry<VueComponentOptionsNameCasing>;
	/**
	 * enforce specific casing for custom event name
	 * @see https://eslint.vuejs.org/rules/custom-event-name-casing.html
	 */
	"vue/custom-event-name-casing"?: Linter.RuleEntry<VueCustomEventNameCasing>;
	/**
	 * enforce declaration style of `defineEmits`
	 * @see https://eslint.vuejs.org/rules/define-emits-declaration.html
	 */
	"vue/define-emits-declaration"?: Linter.RuleEntry<VueDefineEmitsDeclaration>;
	/**
	 * enforce order of compiler macros (`defineProps`, `defineEmits`, etc.)
	 * @see https://eslint.vuejs.org/rules/define-macros-order.html
	 */
	"vue/define-macros-order"?: Linter.RuleEntry<VueDefineMacrosOrder>;
	/**
	 * enforce declaration style of `defineProps`
	 * @see https://eslint.vuejs.org/rules/define-props-declaration.html
	 */
	"vue/define-props-declaration"?: Linter.RuleEntry<VueDefinePropsDeclaration>;
	/**
	 * Enforce consistent newlines before and after dots in `<template>`
	 * @see https://eslint.vuejs.org/rules/dot-location.html
	 */
	"vue/dot-location"?: Linter.RuleEntry<VueDotLocation>;
	/**
	 * Enforce dot notation whenever possible in `<template>`
	 * @see https://eslint.vuejs.org/rules/dot-notation.html
	 */
	"vue/dot-notation"?: Linter.RuleEntry<VueDotNotation>;
	/**
	 * enforce or forbid the use of the `scoped` and `module` attributes in SFC top level style tags
	 * @see https://eslint.vuejs.org/rules/enforce-style-attribute.html
	 */
	"vue/enforce-style-attribute"?: Linter.RuleEntry<VueEnforceStyleAttribute>;
	/**
	 * Require the use of `===` and `!==` in `<template>`
	 * @see https://eslint.vuejs.org/rules/eqeqeq.html
	 */
	"vue/eqeqeq"?: Linter.RuleEntry<VueEqeqeq>;
	/**
	 * enforce the location of first attribute
	 * @see https://eslint.vuejs.org/rules/first-attribute-linebreak.html
	 */
	"vue/first-attribute-linebreak"?: Linter.RuleEntry<VueFirstAttributeLinebreak>;
	/**
	 * Require or disallow spacing between function identifiers and their invocations in `<template>`
	 * @see https://eslint.vuejs.org/rules/func-call-spacing.html
	 */
	"vue/func-call-spacing"?: Linter.RuleEntry<VueFuncCallSpacing>;
	/**
	 * disallow usage of button without an explicit type attribute
	 * @see https://eslint.vuejs.org/rules/html-button-has-type.html
	 */
	"vue/html-button-has-type"?: Linter.RuleEntry<VueHtmlButtonHasType>;
	/**
	 * require or disallow a line break before tag's closing brackets
	 * @see https://eslint.vuejs.org/rules/html-closing-bracket-newline.html
	 */
	"vue/html-closing-bracket-newline"?: Linter.RuleEntry<VueHtmlClosingBracketNewline>;
	/**
	 * require or disallow a space before tag's closing brackets
	 * @see https://eslint.vuejs.org/rules/html-closing-bracket-spacing.html
	 */
	"vue/html-closing-bracket-spacing"?: Linter.RuleEntry<VueHtmlClosingBracketSpacing>;
	/**
	 * enforce unified line break in HTML comments
	 * @see https://eslint.vuejs.org/rules/html-comment-content-newline.html
	 */
	"vue/html-comment-content-newline"?: Linter.RuleEntry<VueHtmlCommentContentNewline>;
	/**
	 * enforce unified spacing in HTML comments
	 * @see https://eslint.vuejs.org/rules/html-comment-content-spacing.html
	 */
	"vue/html-comment-content-spacing"?: Linter.RuleEntry<VueHtmlCommentContentSpacing>;
	/**
	 * enforce consistent indentation in HTML comments
	 * @see https://eslint.vuejs.org/rules/html-comment-indent.html
	 */
	"vue/html-comment-indent"?: Linter.RuleEntry<VueHtmlCommentIndent>;
	/**
	 * enforce end tag style
	 * @see https://eslint.vuejs.org/rules/html-end-tags.html
	 */
	"vue/html-end-tags"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent indentation in `<template>`
	 * @see https://eslint.vuejs.org/rules/html-indent.html
	 */
	"vue/html-indent"?: Linter.RuleEntry<VueHtmlIndent>;
	/**
	 * enforce quotes style of HTML attributes
	 * @see https://eslint.vuejs.org/rules/html-quotes.html
	 */
	"vue/html-quotes"?: Linter.RuleEntry<VueHtmlQuotes>;
	/**
	 * enforce self-closing style
	 * @see https://eslint.vuejs.org/rules/html-self-closing.html
	 */
	"vue/html-self-closing"?: Linter.RuleEntry<VueHtmlSelfClosing>;
	/**
	 * prevent variables used in JSX to be marked as unused
	 * @see https://eslint.vuejs.org/rules/jsx-uses-vars.html
	 */
	"vue/jsx-uses-vars"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce consistent spacing between keys and values in object literal properties in `<template>`
	 * @see https://eslint.vuejs.org/rules/key-spacing.html
	 */
	"vue/key-spacing"?: Linter.RuleEntry<VueKeySpacing>;
	/**
	 * Enforce consistent spacing before and after keywords in `<template>`
	 * @see https://eslint.vuejs.org/rules/keyword-spacing.html
	 */
	"vue/keyword-spacing"?: Linter.RuleEntry<VueKeywordSpacing>;
	/**
	 * require component name property to match its file name
	 * @see https://eslint.vuejs.org/rules/match-component-file-name.html
	 */
	"vue/match-component-file-name"?: Linter.RuleEntry<VueMatchComponentFileName>;
	/**
	 * require the registered component name to match the imported component name
	 * @see https://eslint.vuejs.org/rules/match-component-import-name.html
	 */
	"vue/match-component-import-name"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce the maximum number of attributes per line
	 * @see https://eslint.vuejs.org/rules/max-attributes-per-line.html
	 */
	"vue/max-attributes-per-line"?: Linter.RuleEntry<VueMaxAttributesPerLine>;
	/**
	 * enforce a maximum line length in `.vue` files
	 * @see https://eslint.vuejs.org/rules/max-len.html
	 */
	"vue/max-len"?: Linter.RuleEntry<VueMaxLen>;
	/**
	 * enforce maximum number of lines in Vue SFC blocks
	 * @see https://eslint.vuejs.org/rules/max-lines-per-block.html
	 */
	"vue/max-lines-per-block"?: Linter.RuleEntry<VueMaxLinesPerBlock>;
	/**
	 * enforce maximum number of props in Vue component
	 * @see https://eslint.vuejs.org/rules/max-props.html
	 */
	"vue/max-props"?: Linter.RuleEntry<VueMaxProps>;
	/**
	 * enforce maximum depth of template
	 * @see https://eslint.vuejs.org/rules/max-template-depth.html
	 */
	"vue/max-template-depth"?: Linter.RuleEntry<VueMaxTemplateDepth>;
	/**
	 * require component names to be always multi-word
	 * @see https://eslint.vuejs.org/rules/multi-word-component-names.html
	 */
	"vue/multi-word-component-names"?: Linter.RuleEntry<VueMultiWordComponentNames>;
	/**
	 * require a line break before and after the contents of a multiline element
	 * @see https://eslint.vuejs.org/rules/multiline-html-element-content-newline.html
	 */
	"vue/multiline-html-element-content-newline"?: Linter.RuleEntry<VueMultilineHtmlElementContentNewline>;
	/**
	 * Enforce newlines between operands of ternary expressions in `<template>`
	 * @see https://eslint.vuejs.org/rules/multiline-ternary.html
	 */
	"vue/multiline-ternary"?: Linter.RuleEntry<VueMultilineTernary>;
	/**
	 * enforce unified spacing in mustache interpolations
	 * @see https://eslint.vuejs.org/rules/mustache-interpolation-spacing.html
	 */
	"vue/mustache-interpolation-spacing"?: Linter.RuleEntry<VueMustacheInterpolationSpacing>;
	/**
	 * enforce new lines between multi-line properties in Vue components
	 * @see https://eslint.vuejs.org/rules/new-line-between-multi-line-property.html
	 */
	"vue/new-line-between-multi-line-property"?: Linter.RuleEntry<VueNewLineBetweenMultiLineProperty>;
	/**
	 * enforce Promise or callback style in `nextTick`
	 * @see https://eslint.vuejs.org/rules/next-tick-style.html
	 */
	"vue/next-tick-style"?: Linter.RuleEntry<VueNextTickStyle>;
	/**
	 * disallow using arrow functions to define watcher
	 * @see https://eslint.vuejs.org/rules/no-arrow-functions-in-watch.html
	 */
	"vue/no-arrow-functions-in-watch"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow asynchronous actions in computed properties
	 * @see https://eslint.vuejs.org/rules/no-async-in-computed-properties.html
	 */
	"vue/no-async-in-computed-properties"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow the use of bare strings in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-bare-strings-in-template.html
	 */
	"vue/no-bare-strings-in-template"?: Linter.RuleEntry<VueNoBareStringsInTemplate>;
	/**
	 * disallow boolean defaults
	 * @see https://eslint.vuejs.org/rules/no-boolean-default.html
	 */
	"vue/no-boolean-default"?: Linter.RuleEntry<VueNoBooleanDefault>;
	/**
	 * disallow element's child contents which would be overwritten by a directive like `v-html` or `v-text`
	 * @see https://eslint.vuejs.org/rules/no-child-content.html
	 */
	"vue/no-child-content"?: Linter.RuleEntry<VueNoChildContent>;
	/**
	 * disallow accessing computed properties in `data`
	 * @see https://eslint.vuejs.org/rules/no-computed-properties-in-data.html
	 */
	"vue/no-computed-properties-in-data"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow the use of `console` in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-console.html
	 */
	"vue/no-console"?: Linter.RuleEntry<VueNoConsole>;
	/**
	 * Disallow constant expressions in conditions in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-constant-condition.html
	 */
	"vue/no-constant-condition"?: Linter.RuleEntry<VueNoConstantCondition>;
	/**
	 * disallow custom modifiers on v-model used on the component
	 * @see https://eslint.vuejs.org/rules/no-custom-modifiers-on-v-model.html
	 */
	"vue/no-custom-modifiers-on-v-model"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated object declaration on data (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-data-object-declaration.html
	 */
	"vue/no-deprecated-data-object-declaration"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `$delete` and `$set` (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-delete-set.html
	 */
	"vue/no-deprecated-delete-set"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `destroyed` and `beforeDestroy` lifecycle hooks (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-destroyed-lifecycle.html
	 */
	"vue/no-deprecated-destroyed-lifecycle"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `$listeners` (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-dollar-listeners-api.html
	 */
	"vue/no-deprecated-dollar-listeners-api"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `$scopedSlots` (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-dollar-scopedslots-api.html
	 */
	"vue/no-deprecated-dollar-scopedslots-api"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated events api (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-events-api.html
	 */
	"vue/no-deprecated-events-api"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated filters syntax (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-filter.html
	 */
	"vue/no-deprecated-filter"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated the `functional` template (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-functional-template.html
	 */
	"vue/no-deprecated-functional-template"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated the `is` attribute on HTML elements (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-html-element-is.html
	 */
	"vue/no-deprecated-html-element-is"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `inline-template` attribute (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-inline-template.html
	 */
	"vue/no-deprecated-inline-template"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow deprecated `model` definition (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-model-definition.html
	 */
	"vue/no-deprecated-model-definition"?: Linter.RuleEntry<VueNoDeprecatedModelDefinition>;
	/**
	 * disallow deprecated `this` access in props default function (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-props-default-this.html
	 */
	"vue/no-deprecated-props-default-this"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `tag` property on `RouterLink` (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-router-link-tag-prop.html
	 */
	"vue/no-deprecated-router-link-tag-prop"?: Linter.RuleEntry<VueNoDeprecatedRouterLinkTagProp>;
	/**
	 * disallow deprecated `scope` attribute (in Vue.js 2.5.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-scope-attribute.html
	 */
	"vue/no-deprecated-scope-attribute"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow deprecated `slot` attribute (in Vue.js 2.6.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-slot-attribute.html
	 */
	"vue/no-deprecated-slot-attribute"?: Linter.RuleEntry<VueNoDeprecatedSlotAttribute>;
	/**
	 * disallow deprecated `slot-scope` attribute (in Vue.js 2.6.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-slot-scope-attribute.html
	 */
	"vue/no-deprecated-slot-scope-attribute"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow use of deprecated `.sync` modifier on `v-bind` directive (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-v-bind-sync.html
	 */
	"vue/no-deprecated-v-bind-sync"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow deprecated `v-is` directive (in Vue.js 3.1.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-v-is.html
	 */
	"vue/no-deprecated-v-is"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `.native` modifiers (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-v-on-native-modifier.html
	 */
	"vue/no-deprecated-v-on-native-modifier"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated number (keycode) modifiers (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-v-on-number-modifiers.html
	 */
	"vue/no-deprecated-v-on-number-modifiers"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using deprecated `Vue.config.keyCodes` (in Vue.js 3.0.0+)
	 * @see https://eslint.vuejs.org/rules/no-deprecated-vue-config-keycodes.html
	 */
	"vue/no-deprecated-vue-config-keycodes"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow duplication of field names
	 * @see https://eslint.vuejs.org/rules/no-dupe-keys.html
	 */
	"vue/no-dupe-keys"?: Linter.RuleEntry<VueNoDupeKeys>;
	/**
	 * disallow duplicate conditions in `v-if` / `v-else-if` chains
	 * @see https://eslint.vuejs.org/rules/no-dupe-v-else-if.html
	 */
	"vue/no-dupe-v-else-if"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce `inheritAttrs` to be set to `false` when using `v-bind="$attrs"`
	 * @see https://eslint.vuejs.org/rules/no-duplicate-attr-inheritance.html
	 */
	"vue/no-duplicate-attr-inheritance"?: Linter.RuleEntry<VueNoDuplicateAttrInheritance>;
	/**
	 * disallow duplication of attributes
	 * @see https://eslint.vuejs.org/rules/no-duplicate-attributes.html
	 */
	"vue/no-duplicate-attributes"?: Linter.RuleEntry<VueNoDuplicateAttributes>;
	/**
	 * disallow the `<template>` `<script>` `<style>` block to be empty
	 * @see https://eslint.vuejs.org/rules/no-empty-component-block.html
	 */
	"vue/no-empty-component-block"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow empty destructuring patterns in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-empty-pattern.html
	 */
	"vue/no-empty-pattern"?: Linter.RuleEntry<VueNoEmptyPattern>;
	/**
	 * disallow `export` in `<script setup>`
	 * @see https://eslint.vuejs.org/rules/no-export-in-script-setup.html
	 */
	"vue/no-export-in-script-setup"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow asynchronously registered `expose`
	 * @see https://eslint.vuejs.org/rules/no-expose-after-await.html
	 */
	"vue/no-expose-after-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow unnecessary parentheses in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-extra-parens.html
	 */
	"vue/no-extra-parens"?: Linter.RuleEntry<VueNoExtraParens>;
	/**
	 * Disallow shorthand type conversions in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-implicit-coercion.html
	 */
	"vue/no-implicit-coercion"?: Linter.RuleEntry<VueNoImplicitCoercion>;
	/**
	 * disallow importing Vue compiler macros
	 * @see https://eslint.vuejs.org/rules/no-import-compiler-macros.html
	 */
	"vue/no-import-compiler-macros"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow irregular whitespace in `.vue` files
	 * @see https://eslint.vuejs.org/rules/no-irregular-whitespace.html
	 */
	"vue/no-irregular-whitespace"?: Linter.RuleEntry<VueNoIrregularWhitespace>;
	/**
	 * disallow asynchronously registered lifecycle hooks
	 * @see https://eslint.vuejs.org/rules/no-lifecycle-after-await.html
	 */
	"vue/no-lifecycle-after-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary `<template>`
	 * @see https://eslint.vuejs.org/rules/no-lone-template.html
	 */
	"vue/no-lone-template"?: Linter.RuleEntry<VueNoLoneTemplate>;
	/**
	 * Disallow literal numbers that lose precision in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-loss-of-precision.html
	 */
	"vue/no-loss-of-precision"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow multiple spaces
	 * @see https://eslint.vuejs.org/rules/no-multi-spaces.html
	 */
	"vue/no-multi-spaces"?: Linter.RuleEntry<VueNoMultiSpaces>;
	/**
	 * disallow passing multiple objects in an array to class
	 * @see https://eslint.vuejs.org/rules/no-multiple-objects-in-class.html
	 */
	"vue/no-multiple-objects-in-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow passing multiple arguments to scoped slots
	 * @see https://eslint.vuejs.org/rules/no-multiple-slot-args.html
	 */
	"vue/no-multiple-slot-args"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow adding multiple root nodes to the template
	 * @see https://eslint.vuejs.org/rules/no-multiple-template-root.html
	 */
	"vue/no-multiple-template-root"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow mutation of component props
	 * @see https://eslint.vuejs.org/rules/no-mutating-props.html
	 */
	"vue/no-mutating-props"?: Linter.RuleEntry<VueNoMutatingProps>;
	/**
	 * disallow parsing errors in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-parsing-error.html
	 */
	"vue/no-parsing-error"?: Linter.RuleEntry<VueNoParsingError>;
	/**
	 * disallow a potential typo in your component property
	 * @see https://eslint.vuejs.org/rules/no-potential-component-option-typo.html
	 */
	"vue/no-potential-component-option-typo"?: Linter.RuleEntry<VueNoPotentialComponentOptionTypo>;
	/**
	 * disallow use of value wrapped by `ref()` (Composition API) as an operand
	 * @see https://eslint.vuejs.org/rules/no-ref-as-operand.html
	 */
	"vue/no-ref-as-operand"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow usages of ref objects that can lead to loss of reactivity
	 * @see https://eslint.vuejs.org/rules/no-ref-object-reactivity-loss.html
	 */
	"vue/no-ref-object-reactivity-loss"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce props with default values to be optional
	 * @see https://eslint.vuejs.org/rules/no-required-prop-with-default.html
	 */
	"vue/no-required-prop-with-default"?: Linter.RuleEntry<VueNoRequiredPropWithDefault>;
	/**
	 * disallow the use of reserved names in component definitions
	 * @see https://eslint.vuejs.org/rules/no-reserved-component-names.html
	 */
	"vue/no-reserved-component-names"?: Linter.RuleEntry<VueNoReservedComponentNames>;
	/**
	 * disallow overwriting reserved keys
	 * @see https://eslint.vuejs.org/rules/no-reserved-keys.html
	 */
	"vue/no-reserved-keys"?: Linter.RuleEntry<VueNoReservedKeys>;
	/**
	 * disallow reserved names in props
	 * @see https://eslint.vuejs.org/rules/no-reserved-props.html
	 */
	"vue/no-reserved-props"?: Linter.RuleEntry<VueNoReservedProps>;
	/**
	 * disallow specific block
	 * @see https://eslint.vuejs.org/rules/no-restricted-block.html
	 */
	"vue/no-restricted-block"?: Linter.RuleEntry<VueNoRestrictedBlock>;
	/**
	 * disallow asynchronously called restricted methods
	 * @see https://eslint.vuejs.org/rules/no-restricted-call-after-await.html
	 */
	"vue/no-restricted-call-after-await"?: Linter.RuleEntry<VueNoRestrictedCallAfterAwait>;
	/**
	 * disallow specific classes in Vue components
	 * @see https://eslint.vuejs.org/rules/no-restricted-class.html
	 */
	"vue/no-restricted-class"?: Linter.RuleEntry<VueNoRestrictedClass>;
	/**
	 * disallow specific component names
	 * @see https://eslint.vuejs.org/rules/no-restricted-component-names.html
	 */
	"vue/no-restricted-component-names"?: Linter.RuleEntry<VueNoRestrictedComponentNames>;
	/**
	 * disallow specific component option
	 * @see https://eslint.vuejs.org/rules/no-restricted-component-options.html
	 */
	"vue/no-restricted-component-options"?: Linter.RuleEntry<VueNoRestrictedComponentOptions>;
	/**
	 * disallow specific custom event
	 * @see https://eslint.vuejs.org/rules/no-restricted-custom-event.html
	 */
	"vue/no-restricted-custom-event"?: Linter.RuleEntry<VueNoRestrictedCustomEvent>;
	/**
	 * disallow specific HTML elements
	 * @see https://eslint.vuejs.org/rules/no-restricted-html-elements.html
	 */
	"vue/no-restricted-html-elements"?: Linter.RuleEntry<VueNoRestrictedHtmlElements>;
	/**
	 * disallow specific props
	 * @see https://eslint.vuejs.org/rules/no-restricted-props.html
	 */
	"vue/no-restricted-props"?: Linter.RuleEntry<VueNoRestrictedProps>;
	/**
	 * disallow specific attribute
	 * @see https://eslint.vuejs.org/rules/no-restricted-static-attribute.html
	 */
	"vue/no-restricted-static-attribute"?: Linter.RuleEntry<VueNoRestrictedStaticAttribute>;
	/**
	 * Disallow specified syntax in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-restricted-syntax.html
	 */
	"vue/no-restricted-syntax"?: Linter.RuleEntry<VueNoRestrictedSyntax>;
	/**
	 * disallow specific argument in `v-bind`
	 * @see https://eslint.vuejs.org/rules/no-restricted-v-bind.html
	 */
	"vue/no-restricted-v-bind"?: Linter.RuleEntry<VueNoRestrictedVBind>;
	/**
	 * disallow specific argument in `v-on`
	 * @see https://eslint.vuejs.org/rules/no-restricted-v-on.html
	 */
	"vue/no-restricted-v-on"?: Linter.RuleEntry<VueNoRestrictedVOn>;
	/**
	 * disallow `v-if` directives on root element
	 * @see https://eslint.vuejs.org/rules/no-root-v-if.html
	 */
	"vue/no-root-v-if"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow usages that lose the reactivity of `props` passed to `setup`
	 * @see https://eslint.vuejs.org/rules/no-setup-props-reactivity-loss.html
	 */
	"vue/no-setup-props-reactivity-loss"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce component's data property to be a function
	 * @see https://eslint.vuejs.org/rules/no-shared-component-data.html
	 */
	"vue/no-shared-component-data"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow side effects in computed properties
	 * @see https://eslint.vuejs.org/rules/no-side-effects-in-computed-properties.html
	 */
	"vue/no-side-effects-in-computed-properties"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow spaces around equal signs in attribute
	 * @see https://eslint.vuejs.org/rules/no-spaces-around-equal-signs-in-attribute.html
	 */
	"vue/no-spaces-around-equal-signs-in-attribute"?: Linter.RuleEntry<[
	]>;
	/**
	 * Disallow sparse arrays in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-sparse-arrays.html
	 */
	"vue/no-sparse-arrays"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow static inline `style` attributes
	 * @see https://eslint.vuejs.org/rules/no-static-inline-styles.html
	 */
	"vue/no-static-inline-styles"?: Linter.RuleEntry<VueNoStaticInlineStyles>;
	/**
	 * disallow `key` attribute on `<template>`
	 * @see https://eslint.vuejs.org/rules/no-template-key.html
	 */
	"vue/no-template-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow variable declarations from shadowing variables declared in the outer scope
	 * @see https://eslint.vuejs.org/rules/no-template-shadow.html
	 */
	"vue/no-template-shadow"?: Linter.RuleEntry<VueNoTemplateShadow>;
	/**
	 * disallow target="_blank" attribute without rel="noopener noreferrer"
	 * @see https://eslint.vuejs.org/rules/no-template-target-blank.html
	 */
	"vue/no-template-target-blank"?: Linter.RuleEntry<VueNoTemplateTargetBlank>;
	/**
	 * disallow mustaches in `<textarea>`
	 * @see https://eslint.vuejs.org/rules/no-textarea-mustache.html
	 */
	"vue/no-textarea-mustache"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow `this` usage in a `beforeRouteEnter` method
	 * @see https://eslint.vuejs.org/rules/no-this-in-before-route-enter.html
	 */
	"vue/no-this-in-before-route-enter"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow use of undefined components in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-undef-components.html
	 */
	"vue/no-undef-components"?: Linter.RuleEntry<VueNoUndefComponents>;
	/**
	 * disallow undefined properties
	 * @see https://eslint.vuejs.org/rules/no-undef-properties.html
	 */
	"vue/no-undef-properties"?: Linter.RuleEntry<VueNoUndefProperties>;
	/**
	 * disallow unsupported Vue.js syntax on the specified version
	 * @see https://eslint.vuejs.org/rules/no-unsupported-features.html
	 */
	"vue/no-unsupported-features"?: Linter.RuleEntry<VueNoUnsupportedFeatures>;
	/**
	 * disallow registering components that are not used inside templates
	 * @see https://eslint.vuejs.org/rules/no-unused-components.html
	 */
	"vue/no-unused-components"?: Linter.RuleEntry<VueNoUnusedComponents>;
	/**
	 * disallow unused emit declarations
	 * @see https://eslint.vuejs.org/rules/no-unused-emit-declarations.html
	 */
	"vue/no-unused-emit-declarations"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unused properties
	 * @see https://eslint.vuejs.org/rules/no-unused-properties.html
	 */
	"vue/no-unused-properties"?: Linter.RuleEntry<VueNoUnusedProperties>;
	/**
	 * disallow unused refs
	 * @see https://eslint.vuejs.org/rules/no-unused-refs.html
	 */
	"vue/no-unused-refs"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unused variable definitions of v-for directives or scope attributes
	 * @see https://eslint.vuejs.org/rules/no-unused-vars.html
	 */
	"vue/no-unused-vars"?: Linter.RuleEntry<VueNoUnusedVars>;
	/**
	 * disallow use computed property like method
	 * @see https://eslint.vuejs.org/rules/no-use-computed-property-like-method.html
	 */
	"vue/no-use-computed-property-like-method"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using `v-else-if`/`v-else` on the same element as `v-for`
	 * @see https://eslint.vuejs.org/rules/no-use-v-else-with-v-for.html
	 */
	"vue/no-use-v-else-with-v-for"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow using `v-if` on the same element as `v-for`
	 * @see https://eslint.vuejs.org/rules/no-use-v-if-with-v-for.html
	 */
	"vue/no-use-v-if-with-v-for"?: Linter.RuleEntry<VueNoUseVIfWithVFor>;
	/**
	 * Disallow unnecessary concatenation of literals or template literals in `<template>`
	 * @see https://eslint.vuejs.org/rules/no-useless-concat.html
	 */
	"vue/no-useless-concat"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary mustache interpolations
	 * @see https://eslint.vuejs.org/rules/no-useless-mustaches.html
	 */
	"vue/no-useless-mustaches"?: Linter.RuleEntry<VueNoUselessMustaches>;
	/**
	 * disallow useless attribute on `<template>`
	 * @see https://eslint.vuejs.org/rules/no-useless-template-attributes.html
	 */
	"vue/no-useless-template-attributes"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow unnecessary `v-bind` directives
	 * @see https://eslint.vuejs.org/rules/no-useless-v-bind.html
	 */
	"vue/no-useless-v-bind"?: Linter.RuleEntry<VueNoUselessVBind>;
	/**
	 * disallow `key` attribute on `<template v-for>`
	 * @see https://eslint.vuejs.org/rules/no-v-for-template-key.html
	 * @deprecated
	 */
	"vue/no-v-for-template-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow key of `<template v-for>` placed on child elements
	 * @see https://eslint.vuejs.org/rules/no-v-for-template-key-on-child.html
	 */
	"vue/no-v-for-template-key-on-child"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow use of v-html to prevent XSS attack
	 * @see https://eslint.vuejs.org/rules/no-v-html.html
	 */
	"vue/no-v-html"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow adding an argument to `v-model` used in custom component
	 * @see https://eslint.vuejs.org/rules/no-v-model-argument.html
	 * @deprecated
	 */
	"vue/no-v-model-argument"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow use of v-text
	 * @see https://eslint.vuejs.org/rules/no-v-text.html
	 */
	"vue/no-v-text"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow v-text / v-html on component
	 * @see https://eslint.vuejs.org/rules/no-v-text-v-html-on-component.html
	 */
	"vue/no-v-text-v-html-on-component"?: Linter.RuleEntry<VueNoVTextVHtmlOnComponent>;
	/**
	 * disallow asynchronously registered `watch`
	 * @see https://eslint.vuejs.org/rules/no-watch-after-await.html
	 */
	"vue/no-watch-after-await"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce consistent line breaks after opening and before closing braces in `<template>`
	 * @see https://eslint.vuejs.org/rules/object-curly-newline.html
	 */
	"vue/object-curly-newline"?: Linter.RuleEntry<VueObjectCurlyNewline>;
	/**
	 * Enforce consistent spacing inside braces in `<template>`
	 * @see https://eslint.vuejs.org/rules/object-curly-spacing.html
	 */
	"vue/object-curly-spacing"?: Linter.RuleEntry<VueObjectCurlySpacing>;
	/**
	 * Enforce placing object properties on separate lines in `<template>`
	 * @see https://eslint.vuejs.org/rules/object-property-newline.html
	 */
	"vue/object-property-newline"?: Linter.RuleEntry<VueObjectPropertyNewline>;
	/**
	 * Require or disallow method and property shorthand syntax for object literals in `<template>`
	 * @see https://eslint.vuejs.org/rules/object-shorthand.html
	 */
	"vue/object-shorthand"?: Linter.RuleEntry<VueObjectShorthand>;
	/**
	 * enforce that each component should be in its own file
	 * @see https://eslint.vuejs.org/rules/one-component-per-file.html
	 */
	"vue/one-component-per-file"?: Linter.RuleEntry<[
	]>;
	/**
	 * Enforce consistent linebreak style for operators in `<template>`
	 * @see https://eslint.vuejs.org/rules/operator-linebreak.html
	 */
	"vue/operator-linebreak"?: Linter.RuleEntry<VueOperatorLinebreak>;
	/**
	 * enforce order of properties in components
	 * @see https://eslint.vuejs.org/rules/order-in-components.html
	 */
	"vue/order-in-components"?: Linter.RuleEntry<VueOrderInComponents>;
	/**
	 * require or disallow padding lines between blocks
	 * @see https://eslint.vuejs.org/rules/padding-line-between-blocks.html
	 */
	"vue/padding-line-between-blocks"?: Linter.RuleEntry<VuePaddingLineBetweenBlocks>;
	/**
	 * require or disallow newlines between sibling tags in template
	 * @see https://eslint.vuejs.org/rules/padding-line-between-tags.html
	 */
	"vue/padding-line-between-tags"?: Linter.RuleEntry<VuePaddingLineBetweenTags>;
	/**
	 * require or disallow padding lines in component definition
	 * @see https://eslint.vuejs.org/rules/padding-lines-in-component-definition.html
	 */
	"vue/padding-lines-in-component-definition"?: Linter.RuleEntry<VuePaddingLinesInComponentDefinition>;
	/**
	 * enforce use of `defineOptions` instead of default export
	 * @see https://eslint.vuejs.org/rules/prefer-define-options.html
	 */
	"vue/prefer-define-options"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce import from 'vue' instead of import from '@vue/*'
	 * @see https://eslint.vuejs.org/rules/prefer-import-from-vue.html
	 */
	"vue/prefer-import-from-vue"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce `Boolean` comes first in component prop types
	 * @see https://eslint.vuejs.org/rules/prefer-prop-type-boolean-first.html
	 */
	"vue/prefer-prop-type-boolean-first"?: Linter.RuleEntry<[
	]>;
	/**
	 * require static class names in template to be in a separate `class` attribute
	 * @see https://eslint.vuejs.org/rules/prefer-separate-static-class.html
	 */
	"vue/prefer-separate-static-class"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require template literals instead of string concatenation in `<template>`
	 * @see https://eslint.vuejs.org/rules/prefer-template.html
	 */
	"vue/prefer-template"?: Linter.RuleEntry<[
	]>;
	/**
	 * require shorthand form attribute when `v-bind` value is `true`
	 * @see https://eslint.vuejs.org/rules/prefer-true-attribute-shorthand.html
	 */
	"vue/prefer-true-attribute-shorthand"?: Linter.RuleEntry<VuePreferTrueAttributeShorthand>;
	/**
	 * require using `useTemplateRef` instead of `ref`/`shallowRef` for template refs
	 * @see https://eslint.vuejs.org/rules/prefer-use-template-ref.html
	 */
	"vue/prefer-use-template-ref"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce specific casing for the Prop name in Vue components
	 * @see https://eslint.vuejs.org/rules/prop-name-casing.html
	 */
	"vue/prop-name-casing"?: Linter.RuleEntry<VuePropNameCasing>;
	/**
	 * Require quotes around object literal property names in `<template>`
	 * @see https://eslint.vuejs.org/rules/quote-props.html
	 */
	"vue/quote-props"?: Linter.RuleEntry<VueQuoteProps>;
	/**
	 * require `v-bind:is` of `<component>` elements
	 * @see https://eslint.vuejs.org/rules/require-component-is.html
	 */
	"vue/require-component-is"?: Linter.RuleEntry<[
	]>;
	/**
	 * require components to be the default export
	 * @see https://eslint.vuejs.org/rules/require-default-export.html
	 */
	"vue/require-default-export"?: Linter.RuleEntry<[
	]>;
	/**
	 * require default value for props
	 * @see https://eslint.vuejs.org/rules/require-default-prop.html
	 */
	"vue/require-default-prop"?: Linter.RuleEntry<[
	]>;
	/**
	 * require the component to be directly exported
	 * @see https://eslint.vuejs.org/rules/require-direct-export.html
	 */
	"vue/require-direct-export"?: Linter.RuleEntry<VueRequireDirectExport>;
	/**
	 * require type definitions in emits
	 * @see https://eslint.vuejs.org/rules/require-emit-validator.html
	 */
	"vue/require-emit-validator"?: Linter.RuleEntry<[
	]>;
	/**
	 * require `emits` option with name triggered by `$emit()`
	 * @see https://eslint.vuejs.org/rules/require-explicit-emits.html
	 */
	"vue/require-explicit-emits"?: Linter.RuleEntry<VueRequireExplicitEmits>;
	/**
	 * require slots to be explicitly defined
	 * @see https://eslint.vuejs.org/rules/require-explicit-slots.html
	 */
	"vue/require-explicit-slots"?: Linter.RuleEntry<[
	]>;
	/**
	 * require declare public properties using `expose`
	 * @see https://eslint.vuejs.org/rules/require-expose.html
	 */
	"vue/require-expose"?: Linter.RuleEntry<[
	]>;
	/**
	 * require a certain macro variable name
	 * @see https://eslint.vuejs.org/rules/require-macro-variable-name.html
	 */
	"vue/require-macro-variable-name"?: Linter.RuleEntry<VueRequireMacroVariableName>;
	/**
	 * require a name property in Vue components
	 * @see https://eslint.vuejs.org/rules/require-name-property.html
	 */
	"vue/require-name-property"?: Linter.RuleEntry<[
	]>;
	/**
	 * require props to have a comment
	 * @see https://eslint.vuejs.org/rules/require-prop-comment.html
	 */
	"vue/require-prop-comment"?: Linter.RuleEntry<VueRequirePropComment>;
	/**
	 * require prop type to be a constructor
	 * @see https://eslint.vuejs.org/rules/require-prop-type-constructor.html
	 */
	"vue/require-prop-type-constructor"?: Linter.RuleEntry<[
	]>;
	/**
	 * require type definitions in props
	 * @see https://eslint.vuejs.org/rules/require-prop-types.html
	 */
	"vue/require-prop-types"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce render function to always return value
	 * @see https://eslint.vuejs.org/rules/require-render-return.html
	 */
	"vue/require-render-return"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce properties of `$slots` to be used as a function
	 * @see https://eslint.vuejs.org/rules/require-slots-as-functions.html
	 */
	"vue/require-slots-as-functions"?: Linter.RuleEntry<[
	]>;
	/**
	 * require control the display of the content inside `<transition>`
	 * @see https://eslint.vuejs.org/rules/require-toggle-inside-transition.html
	 */
	"vue/require-toggle-inside-transition"?: Linter.RuleEntry<VueRequireToggleInsideTransition>;
	/**
	 * enforce adding type declarations to object props
	 * @see https://eslint.vuejs.org/rules/require-typed-object-prop.html
	 */
	"vue/require-typed-object-prop"?: Linter.RuleEntry<[
	]>;
	/**
	 * require `ref` and `shallowRef` functions to be strongly typed
	 * @see https://eslint.vuejs.org/rules/require-typed-ref.html
	 */
	"vue/require-typed-ref"?: Linter.RuleEntry<[
	]>;
	/**
	 * require `v-bind:key` with `v-for` directives
	 * @see https://eslint.vuejs.org/rules/require-v-for-key.html
	 */
	"vue/require-v-for-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce props default values to be valid
	 * @see https://eslint.vuejs.org/rules/require-valid-default-prop.html
	 */
	"vue/require-valid-default-prop"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce using only specific component names
	 * @see https://eslint.vuejs.org/rules/restricted-component-names.html
	 */
	"vue/restricted-component-names"?: Linter.RuleEntry<VueRestrictedComponentNames>;
	/**
	 * enforce that a return statement is present in computed property
	 * @see https://eslint.vuejs.org/rules/return-in-computed-property.html
	 */
	"vue/return-in-computed-property"?: Linter.RuleEntry<VueReturnInComputedProperty>;
	/**
	 * enforce that a return statement is present in emits validator
	 * @see https://eslint.vuejs.org/rules/return-in-emits-validator.html
	 */
	"vue/return-in-emits-validator"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce consistent indentation in `<script>`
	 * @see https://eslint.vuejs.org/rules/script-indent.html
	 */
	"vue/script-indent"?: Linter.RuleEntry<VueScriptIndent>;
	/**
	 * require a line break before and after the contents of a singleline element
	 * @see https://eslint.vuejs.org/rules/singleline-html-element-content-newline.html
	 */
	"vue/singleline-html-element-content-newline"?: Linter.RuleEntry<VueSinglelineHtmlElementContentNewline>;
	/**
	 * enforce specific casing for slot names
	 * @see https://eslint.vuejs.org/rules/slot-name-casing.html
	 */
	"vue/slot-name-casing"?: Linter.RuleEntry<VueSlotNameCasing>;
	/**
	 * enforce sort-keys in a manner that is compatible with order-in-components
	 * @see https://eslint.vuejs.org/rules/sort-keys.html
	 */
	"vue/sort-keys"?: Linter.RuleEntry<VueSortKeys>;
	/**
	 * Enforce consistent spacing inside parentheses in `<template>`
	 * @see https://eslint.vuejs.org/rules/space-in-parens.html
	 */
	"vue/space-in-parens"?: Linter.RuleEntry<VueSpaceInParens>;
	/**
	 * Require spacing around infix operators in `<template>`
	 * @see https://eslint.vuejs.org/rules/space-infix-ops.html
	 */
	"vue/space-infix-ops"?: Linter.RuleEntry<VueSpaceInfixOps>;
	/**
	 * Enforce consistent spacing before or after unary operators in `<template>`
	 * @see https://eslint.vuejs.org/rules/space-unary-ops.html
	 */
	"vue/space-unary-ops"?: Linter.RuleEntry<VueSpaceUnaryOps>;
	/**
	 * enforce static class names order
	 * @see https://eslint.vuejs.org/rules/static-class-names-order.html
	 */
	"vue/static-class-names-order"?: Linter.RuleEntry<[
	]>;
	/**
	 * Require or disallow spacing around embedded expressions of template strings in `<template>`
	 * @see https://eslint.vuejs.org/rules/template-curly-spacing.html
	 */
	"vue/template-curly-spacing"?: Linter.RuleEntry<VueTemplateCurlySpacing>;
	/**
	 * disallow usage of `this` in template
	 * @see https://eslint.vuejs.org/rules/this-in-template.html
	 */
	"vue/this-in-template"?: Linter.RuleEntry<VueThisInTemplate>;
	/**
	 * enforce usage of `exact` modifier on `v-on`
	 * @see https://eslint.vuejs.org/rules/use-v-on-exact.html
	 */
	"vue/use-v-on-exact"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce `v-bind` directive style
	 * @see https://eslint.vuejs.org/rules/v-bind-style.html
	 */
	"vue/v-bind-style"?: Linter.RuleEntry<VueVBindStyle>;
	/**
	 * enforce `v-for` directive's delimiter style
	 * @see https://eslint.vuejs.org/rules/v-for-delimiter-style.html
	 */
	"vue/v-for-delimiter-style"?: Linter.RuleEntry<VueVForDelimiterStyle>;
	/**
	 * require key attribute for conditionally rendered repeated components
	 * @see https://eslint.vuejs.org/rules/v-if-else-key.html
	 */
	"vue/v-if-else-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce v-on event naming style on custom components in template
	 * @see https://eslint.vuejs.org/rules/v-on-event-hyphenation.html
	 */
	"vue/v-on-event-hyphenation"?: Linter.RuleEntry<VueVOnEventHyphenation>;
	/**
	 * enforce writing style for handlers in `v-on` directives
	 * @see https://eslint.vuejs.org/rules/v-on-handler-style.html
	 */
	"vue/v-on-handler-style"?: Linter.RuleEntry<VueVOnHandlerStyle>;
	/**
	 * enforce `v-on` directive style
	 * @see https://eslint.vuejs.org/rules/v-on-style.html
	 */
	"vue/v-on-style"?: Linter.RuleEntry<VueVOnStyle>;
	/**
	 * enforce `v-slot` directive style
	 * @see https://eslint.vuejs.org/rules/v-slot-style.html
	 */
	"vue/v-slot-style"?: Linter.RuleEntry<VueVSlotStyle>;
	/**
	 * require valid attribute names
	 * @see https://eslint.vuejs.org/rules/valid-attribute-name.html
	 */
	"vue/valid-attribute-name"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `defineEmits` compiler macro
	 * @see https://eslint.vuejs.org/rules/valid-define-emits.html
	 */
	"vue/valid-define-emits"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `defineOptions` compiler macro
	 * @see https://eslint.vuejs.org/rules/valid-define-options.html
	 */
	"vue/valid-define-options"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `defineProps` compiler macro
	 * @see https://eslint.vuejs.org/rules/valid-define-props.html
	 */
	"vue/valid-define-props"?: Linter.RuleEntry<[
	]>;
	/**
	 * require valid keys in model option
	 * @see https://eslint.vuejs.org/rules/valid-model-definition.html
	 * @deprecated
	 */
	"vue/valid-model-definition"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `nextTick` function calls
	 * @see https://eslint.vuejs.org/rules/valid-next-tick.html
	 */
	"vue/valid-next-tick"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid template root
	 * @see https://eslint.vuejs.org/rules/valid-template-root.html
	 */
	"vue/valid-template-root"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-bind` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-bind.html
	 */
	"vue/valid-v-bind"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `.sync` modifier on `v-bind` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-bind-sync.html
	 * @deprecated
	 */
	"vue/valid-v-bind-sync"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-cloak` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-cloak.html
	 */
	"vue/valid-v-cloak"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-else` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-else.html
	 */
	"vue/valid-v-else"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-else-if` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-else-if.html
	 */
	"vue/valid-v-else-if"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-for` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-for.html
	 */
	"vue/valid-v-for"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-html` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-html.html
	 */
	"vue/valid-v-html"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-if` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-if.html
	 */
	"vue/valid-v-if"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-is` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-is.html
	 */
	"vue/valid-v-is"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-memo` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-memo.html
	 */
	"vue/valid-v-memo"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-model` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-model.html
	 */
	"vue/valid-v-model"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-on` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-on.html
	 */
	"vue/valid-v-on"?: Linter.RuleEntry<VueValidVOn>;
	/**
	 * enforce valid `v-once` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-once.html
	 */
	"vue/valid-v-once"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-pre` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-pre.html
	 */
	"vue/valid-v-pre"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-show` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-show.html
	 */
	"vue/valid-v-show"?: Linter.RuleEntry<[
	]>;
	/**
	 * enforce valid `v-slot` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-slot.html
	 */
	"vue/valid-v-slot"?: Linter.RuleEntry<VueValidVSlot>;
	/**
	 * enforce valid `v-text` directives
	 * @see https://eslint.vuejs.org/rules/valid-v-text.html
	 */
	"vue/valid-v-text"?: Linter.RuleEntry<[
	]>;
	/**
	 * require or disallow block style mappings.
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping.html
	 */
	"yaml/block-mapping"?: Linter.RuleEntry<YamlBlockMapping>;
	/**
	 * enforce consistent line breaks after `:` indicator
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-colon-indicator-newline.html
	 */
	"yaml/block-mapping-colon-indicator-newline"?: Linter.RuleEntry<YamlBlockMappingColonIndicatorNewline>;
	/**
	 * enforce consistent line breaks after `?` indicator
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-mapping-question-indicator-newline.html
	 */
	"yaml/block-mapping-question-indicator-newline"?: Linter.RuleEntry<YamlBlockMappingQuestionIndicatorNewline>;
	/**
	 * require or disallow block style sequences.
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence.html
	 */
	"yaml/block-sequence"?: Linter.RuleEntry<YamlBlockSequence>;
	/**
	 * enforce consistent line breaks after `-` indicator
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/block-sequence-hyphen-indicator-newline.html
	 */
	"yaml/block-sequence-hyphen-indicator-newline"?: Linter.RuleEntry<YamlBlockSequenceHyphenIndicatorNewline>;
	/**
	 * enforce YAML file extension
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/file-extension.html
	 */
	"yaml/file-extension"?: Linter.RuleEntry<YamlFileExtension>;
	/**
	 * enforce consistent line breaks inside braces
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-newline.html
	 */
	"yaml/flow-mapping-curly-newline"?: Linter.RuleEntry<YamlFlowMappingCurlyNewline>;
	/**
	 * enforce consistent spacing inside braces
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-mapping-curly-spacing.html
	 */
	"yaml/flow-mapping-curly-spacing"?: Linter.RuleEntry<YamlFlowMappingCurlySpacing>;
	/**
	 * enforce linebreaks after opening and before closing flow sequence brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-newline.html
	 */
	"yaml/flow-sequence-bracket-newline"?: Linter.RuleEntry<YamlFlowSequenceBracketNewline>;
	/**
	 * enforce consistent spacing inside flow sequence brackets
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/flow-sequence-bracket-spacing.html
	 */
	"yaml/flow-sequence-bracket-spacing"?: Linter.RuleEntry<YamlFlowSequenceBracketSpacing>;
	/**
	 * enforce consistent indentation
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/indent.html
	 */
	"yaml/indent"?: Linter.RuleEntry<YamlIndent>;
	/**
	 * enforce naming convention to key names
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-name-casing.html
	 */
	"yaml/key-name-casing"?: Linter.RuleEntry<YamlKeyNameCasing>;
	/**
	 * enforce consistent spacing between keys and values in mapping pairs
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/key-spacing.html
	 */
	"yaml/key-spacing"?: Linter.RuleEntry<YamlKeySpacing>;
	/**
	 * disallow empty document
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-document.html
	 */
	"yaml/no-empty-document"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow empty mapping keys
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-key.html
	 */
	"yaml/no-empty-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow empty mapping values
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-mapping-value.html
	 */
	"yaml/no-empty-mapping-value"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow empty sequence entries
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-empty-sequence-entry.html
	 */
	"yaml/no-empty-sequence-entry"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow irregular whitespace
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-irregular-whitespace.html
	 */
	"yaml/no-irregular-whitespace"?: Linter.RuleEntry<YamlNoIrregularWhitespace>;
	/**
	 * disallow multiple empty lines
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-multiple-empty-lines.html
	 */
	"yaml/no-multiple-empty-lines"?: Linter.RuleEntry<YamlNoMultipleEmptyLines>;
	/**
	 * disallow tabs for indentation.
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-tab-indent.html
	 */
	"yaml/no-tab-indent"?: Linter.RuleEntry<[
	]>;
	/**
	 * disallow trailing zeros for floats
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/no-trailing-zeros.html
	 */
	"yaml/no-trailing-zeros"?: Linter.RuleEntry<[
	]>;
	/**
	 * require or disallow plain style scalar.
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/plain-scalar.html
	 */
	"yaml/plain-scalar"?: Linter.RuleEntry<YamlPlainScalar>;
	/**
	 * enforce the consistent use of either double, or single quotes
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/quotes.html
	 */
	"yaml/quotes"?: Linter.RuleEntry<YamlQuotes>;
	/**
	 * disallow mapping keys other than strings
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/require-string-key.html
	 */
	"yaml/require-string-key"?: Linter.RuleEntry<[
	]>;
	/**
	 * require mapping keys to be sorted
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-keys.html
	 */
	"yaml/sort-keys"?: Linter.RuleEntry<YamlSortKeys>;
	/**
	 * require sequence values to be sorted
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/sort-sequence-values.html
	 */
	"yaml/sort-sequence-values"?: Linter.RuleEntry<YamlSortSequenceValues>;
	/**
	 * enforce consistent spacing after the `#` in a comment
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/spaced-comment.html
	 */
	"yaml/spaced-comment"?: Linter.RuleEntry<YamlSpacedComment>;
	/**
	 * disallow parsing errors in Vue custom blocks
	 * @see https://ota-meshi.github.io/eslint-plugin-yml/rules/vue-custom-block/no-parsing-error.html
	 */
	"yaml/vue-custom-block/no-parsing-error"?: Linter.RuleEntry<[
	]>;
}
type CommentsDisableEnablePair = [
] | [
	{
		allowWholeFile?: boolean;
	}
];
type CommentsNoRestrictedDisable = string[];
type CommentsNoUse = [
] | [
	{
		allow?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[];
	}
];
type CommentsRequireDescription = [
] | [
	{
		ignore?: ("eslint" | "eslint-disable" | "eslint-disable-line" | "eslint-disable-next-line" | "eslint-enable" | "eslint-env" | "exported" | "global" | "globals")[];
	}
];
type FormatDprint = [
] | [
	{
		language?: string;
		languageOptions?: {
			[k: string]: unknown | undefined;
		};
		[k: string]: unknown | undefined;
	}
];
type FormatPrettier = [
] | [
	{
		parser?: string;
		[k: string]: unknown | undefined;
	}
];
type FunctionalFunctionalParameters = [
] | [
	{
		ignoreIdentifierPattern?: (string | string[]);
		ignorePrefixSelector?: (string | string[]);
		allowRestParameter?: boolean;
		allowArgumentsKeyword?: boolean;
		enforceParameterCount?: (false | ("atLeastOne" | "exactlyOne") | {
			count?: ("atLeastOne" | "exactlyOne");
			ignoreGettersAndSetters?: boolean;
			ignoreLambdaExpression?: boolean;
			ignoreIIFE?: boolean;
		});
		overrides?: {
			specifiers?: (({
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "file";
				path?: string;
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "lib";
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "package";
				package?: string;
			}) | ({
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "file";
				path?: string;
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "lib";
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "package";
				package?: string;
			})[]);
			options?: {
				ignoreIdentifierPattern?: (string | string[]);
				ignorePrefixSelector?: (string | string[]);
				allowRestParameter?: boolean;
				allowArgumentsKeyword?: boolean;
				enforceParameterCount?: (false | ("atLeastOne" | "exactlyOne") | {
					count?: ("atLeastOne" | "exactlyOne");
					ignoreGettersAndSetters?: boolean;
					ignoreLambdaExpression?: boolean;
					ignoreIIFE?: boolean;
				});
			};
			inherit?: boolean;
			disable?: boolean;
		}[];
	}
];
type FunctionalImmutableData = [
] | [
	{
		ignoreIdentifierPattern?: (string | string[]);
		ignoreAccessorPattern?: (string | string[]);
		ignoreClasses?: (boolean | "fieldsOnly");
		ignoreMapsAndSets?: boolean;
		ignoreImmediateMutation?: boolean;
		ignoreNonConstDeclarations?: (boolean | {
			treatParametersAsConst?: boolean;
		});
		overrides?: {
			specifiers?: (({
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "file";
				path?: string;
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "lib";
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "package";
				package?: string;
			}) | ({
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "file";
				path?: string;
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "lib";
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "package";
				package?: string;
			})[]);
			options?: {
				ignoreIdentifierPattern?: (string | string[]);
				ignoreAccessorPattern?: (string | string[]);
				ignoreClasses?: (boolean | "fieldsOnly");
				ignoreMapsAndSets?: boolean;
				ignoreImmediateMutation?: boolean;
				ignoreNonConstDeclarations?: (boolean | {
					treatParametersAsConst?: boolean;
				});
			};
			inherit?: boolean;
			disable?: boolean;
		}[];
	}
];
type FunctionalNoClassInheritance = [
] | [
	{
		ignoreIdentifierPattern?: (string | string[]);
		ignoreCodePattern?: (string | string[]);
	}
];
type FunctionalNoClasses = [
] | [
	{
		ignoreIdentifierPattern?: (string | string[]);
		ignoreCodePattern?: (string | string[]);
	}
];
type FunctionalNoConditionalStatements = [
] | [
	{
		ignoreCodePattern?: (string | string[]);
		allowReturningBranches?: (boolean | "ifExhaustive");
	}
];
type FunctionalNoExpressionStatements = [
] | [
	{
		ignoreCodePattern?: (string | string[]);
		ignoreVoid?: boolean;
		ignoreSelfReturning?: boolean;
	}
];
type FunctionalNoLet = [
] | [
	{
		ignoreIdentifierPattern?: (string | string[]);
		allowInForLoopInit?: boolean;
		allowInFunctions?: boolean;
	}
];
type FunctionalNoMixedTypes = [
] | [
	{
		checkInterfaces?: boolean;
		checkTypeLiterals?: boolean;
	}
];
type FunctionalNoReturnVoid = [
] | [
	{
		allowNull?: boolean;
		allowUndefined?: boolean;
		ignoreInferredTypes?: boolean;
	}
];
type FunctionalNoThrowStatements = [
] | [
	{
		allowToRejectPromises?: boolean;
	}
];
type FunctionalNoTryStatements = [
] | [
	{
		allowCatch?: boolean;
		allowFinally?: boolean;
	}
];
type FunctionalPreferImmutableTypes = [
] | [
	{
		ignoreClasses?: (boolean | "fieldsOnly");
		enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
		ignoreInferredTypes?: boolean;
		ignoreNamePattern?: (string | string[]);
		ignoreTypePattern?: (string | string[]);
		parameters?: ({
			ignoreClasses?: (boolean | "fieldsOnly");
			enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
			ignoreInferredTypes?: boolean;
			ignoreNamePattern?: (string | string[]);
			ignoreTypePattern?: (string | string[]);
		} | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)));
		returnTypes?: ({
			ignoreClasses?: (boolean | "fieldsOnly");
			enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
			ignoreInferredTypes?: boolean;
			ignoreNamePattern?: (string | string[]);
			ignoreTypePattern?: (string | string[]);
		} | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)));
		variables?: ({
			ignoreClasses?: (boolean | "fieldsOnly");
			enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
			ignoreInferredTypes?: boolean;
			ignoreNamePattern?: (string | string[]);
			ignoreTypePattern?: (string | string[]);
			ignoreInFunctions?: boolean;
		} | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)));
		fixer?: {
			ReadonlyShallow?: ({
				pattern?: string;
				replace?: string;
			} | {
				pattern?: string;
				replace?: string;
			}[]);
			ReadonlyDeep?: ({
				pattern?: string;
				replace?: string;
			} | {
				pattern?: string;
				replace?: string;
			}[]);
			Immutable?: ({
				pattern?: string;
				replace?: string;
			} | {
				pattern?: string;
				replace?: string;
			}[]);
		};
		suggestions?: {
			ReadonlyShallow?: {
				pattern?: string;
				replace?: string;
				message?: string;
			}[][];
			ReadonlyDeep?: {
				pattern?: string;
				replace?: string;
				message?: string;
			}[][];
			Immutable?: {
				pattern?: string;
				replace?: string;
				message?: string;
			}[][];
		};
		overrides?: {
			specifiers?: (({
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "file";
				path?: string;
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "lib";
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "package";
				package?: string;
			}) | ({
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "file";
				path?: string;
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "lib";
			} | {
				name?: (string | string[]);
				pattern?: (string | string[]);
				ignoreName?: (string | string[]);
				ignorePattern?: (string | string[]);
				from?: "package";
				package?: string;
			})[]);
			options?: {
				ignoreClasses?: (boolean | "fieldsOnly");
				enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
				ignoreInferredTypes?: boolean;
				ignoreNamePattern?: (string | string[]);
				ignoreTypePattern?: (string | string[]);
				parameters?: ({
					ignoreClasses?: (boolean | "fieldsOnly");
					enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
					ignoreInferredTypes?: boolean;
					ignoreNamePattern?: (string | string[]);
					ignoreTypePattern?: (string | string[]);
				} | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)));
				returnTypes?: ({
					ignoreClasses?: (boolean | "fieldsOnly");
					enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
					ignoreInferredTypes?: boolean;
					ignoreNamePattern?: (string | string[]);
					ignoreTypePattern?: (string | string[]);
				} | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)));
				variables?: ({
					ignoreClasses?: (boolean | "fieldsOnly");
					enforcement?: (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false));
					ignoreInferredTypes?: boolean;
					ignoreNamePattern?: (string | string[]);
					ignoreTypePattern?: (string | string[]);
					ignoreInFunctions?: boolean;
				} | (("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false) | ("ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 3 | 4 | 5 | null | "Calculating" | "None" | false)));
				fixer?: {
					ReadonlyShallow?: ({
						pattern?: string;
						replace?: string;
					} | {
						pattern?: string;
						replace?: string;
					}[]);
					ReadonlyDeep?: ({
						pattern?: string;
						replace?: string;
					} | {
						pattern?: string;
						replace?: string;
					}[]);
					Immutable?: ({
						pattern?: string;
						replace?: string;
					} | {
						pattern?: string;
						replace?: string;
					}[]);
				};
				suggestions?: {
					ReadonlyShallow?: {
						pattern?: string;
						replace?: string;
						message?: string;
					}[][];
					ReadonlyDeep?: {
						pattern?: string;
						replace?: string;
						message?: string;
					}[][];
					Immutable?: {
						pattern?: string;
						replace?: string;
						message?: string;
					}[][];
				};
			};
			inherit?: boolean;
			disable?: boolean;
		}[];
	}
];
type FunctionalPreferPropertySignatures = [
] | [
	{
		ignoreIfReadonlyWrapped?: boolean;
	}
];
type FunctionalPreferReadonlyType = [
] | [
	{
		allowLocalMutation?: boolean;
		ignorePattern?: (string | string[]);
		ignoreClass?: (boolean | "fieldsOnly");
		ignoreInterface?: boolean;
		allowMutableReturnType?: boolean;
		checkImplicit?: boolean;
		ignoreCollections?: boolean;
	}
];
type FunctionalPreferTacit = [
] | [
	{
		checkMemberExpressions?: boolean;
	}
];
type FunctionalReadonlyType = [
] | [
	("generic" | "keyword")
];
type FunctionalTypeDeclarationImmutability = [
] | [
	{
		ignoreIdentifierPattern?: (string | string[]);
		rules?: {
			identifiers: (string | string[]);
			immutability: (("Mutable" | "ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 2 | 3 | 4 | 5 | null | "Calculating") | ("Mutable" | "ReadonlyShallow" | "ReadonlyDeep" | "Immutable" | null | 2 | 3 | 4 | 5 | null | "Calculating"));
			comparator?: (("Exactly" | "AtLeast" | "More" | -2 | "Less" | -1 | "AtMost" | 0 | 1 | 2) | ("Exactly" | "AtLeast" | "More" | -2 | "Less" | -1 | "AtMost" | 0 | 1 | 2));
			fixer?: (false | {
				pattern?: string;
				replace?: string;
			} | {
				pattern?: string;
				replace?: string;
			}[]);
			suggestions?: (false | {
				pattern?: string;
				replace?: string;
			}[]);
		}[];
		ignoreInterfaces?: boolean;
	}
];
type ImportConsistentTypeSpecifierStyle = [
] | [
	("prefer-inline" | "prefer-top-level")
];
type ImportDynamicImportChunkname = [
] | [
	{
		importFunctions?: string[];
		allowEmpty?: boolean;
		webpackChunknameFormat?: string;
		[k: string]: unknown | undefined;
	}
];
type ImportExtensions = ([
] | [
	("always" | "ignorePackages" | "never")
] | [
] | [
	("always" | "ignorePackages" | "never")
] | [
	("always" | "ignorePackages" | "never"),
	{
		pattern?: {
			[k: string]: ("always" | "ignorePackages" | "never");
		};
		ignorePackages?: boolean;
		checkTypeImports?: boolean;
		[k: string]: unknown | undefined;
	}
] | [
] | [
	{
		pattern?: {
			[k: string]: ("always" | "ignorePackages" | "never");
		};
		ignorePackages?: boolean;
		checkTypeImports?: boolean;
		[k: string]: unknown | undefined;
	}
] | [
] | [
	("always" | "ignorePackages" | "never")
] | [
	("always" | "ignorePackages" | "never"),
	{
		[k: string]: ("always" | "ignorePackages" | "never");
	}
] | [
] | [
	{
		[k: string]: ("always" | "ignorePackages" | "never");
	}
]);
type ImportFirst = [
] | [
	("absolute-first" | "disable-absolute-first")
];
type ImportImportsFirst = [
] | [
	("absolute-first" | "disable-absolute-first")
];
type ImportMaxDependencies = [
] | [
	{
		max?: number;
		ignoreTypeImports?: boolean;
	}
];
type ImportNamed = [
] | [
	{
		commonjs?: boolean;
	}
];
type ImportNamespace = [
] | [
	{
		allowComputed?: boolean;
	}
];
type ImportNewlineAfterImport = [
] | [
	{
		count?: number;
		exactCount?: boolean;
		considerComments?: boolean;
	}
];
type ImportNoAbsolutePath = [
] | [
	{
		commonjs?: boolean;
		amd?: boolean;
		esmodule?: boolean;
		ignore?: [
			string,
			...(string)[]
		];
	}
];
type ImportNoAnonymousDefaultExport = [
] | [
	{
		allowArray?: boolean;
		allowArrowFunction?: boolean;
		allowCallExpression?: boolean;
		allowAnonymousClass?: boolean;
		allowAnonymousFunction?: boolean;
		allowLiteral?: boolean;
		allowObject?: boolean;
		allowNew?: boolean;
	}
];
type ImportNoCommonjs = ([
] | [
	"allow-primitive-modules"
] | [
] | [
	{
		allowPrimitiveModules?: boolean;
		allowRequire?: boolean;
		allowConditionalRequire?: boolean;
	}
]);
type ImportNoCycle = [
] | [
	{
		commonjs?: boolean;
		amd?: boolean;
		esmodule?: boolean;
		ignore?: [
			string,
			...(string)[]
		];
		maxDepth?: (number | "\u221E");
		ignoreExternal?: boolean;
		allowUnsafeDynamicCyclicDependency?: boolean;
	}
];
type ImportNoDuplicates = [
] | [
	{
		considerQueryString?: boolean;
		"prefer-inline"?: boolean;
	}
];
type ImportNoDynamicRequire = [
] | [
	{
		esmodule?: boolean;
	}
];
type ImportNoExtraneousDependencies = [
] | [
	{
		devDependencies?: (boolean | unknown[]);
		optionalDependencies?: (boolean | unknown[]);
		peerDependencies?: (boolean | unknown[]);
		bundledDependencies?: (boolean | unknown[]);
		packageDir?: (string | unknown[]);
		includeInternal?: boolean;
		includeTypes?: boolean;
		whitelist?: unknown[];
	}
];
type ImportNoImportModuleExports = [
] | [
	{
		exceptions?: unknown[];
	}
];
type ImportNoInternalModules = [
] | [
	({
		allow?: string[];
	} | {
		forbid?: string[];
	})
];
type ImportNoNamespace = [
] | [
	{
		ignore?: string[];
		[k: string]: unknown | undefined;
	}
];
type ImportNoNodejsModules = [
] | [
	{
		allow?: string[];
	}
];
type ImportNoRelativePackages = [
] | [
	{
		commonjs?: boolean;
		amd?: boolean;
		esmodule?: boolean;
		ignore?: [
			string,
			...(string)[]
		];
	}
];
type ImportNoRelativeParentImports = [
] | [
	{
		commonjs?: boolean;
		amd?: boolean;
		esmodule?: boolean;
		ignore?: [
			string,
			...(string)[]
		];
	}
];
type ImportNoRenameDefault = [
] | [
	{
		commonjs?: boolean;
		preventRenamingBindings?: boolean;
	}
];
type ImportNoRestrictedPaths = [
] | [
	{
		zones?: [
			{
				target?: (string | [
					string,
					...(string)[]
				]);
				from?: (string | [
					string,
					...(string)[]
				]);
				except?: string[];
				message?: string;
			},
			...({
				target?: (string | [
					string,
					...(string)[]
				]);
				from?: (string | [
					string,
					...(string)[]
				]);
				except?: string[];
				message?: string;
			})[]
		];
		basePath?: string;
	}
];
type ImportNoUnassignedImport = [
] | [
	{
		devDependencies?: (boolean | unknown[]);
		optionalDependencies?: (boolean | unknown[]);
		peerDependencies?: (boolean | unknown[]);
		allow?: string[];
	}
];
type ImportNoUnresolved = [
] | [
	{
		commonjs?: boolean;
		amd?: boolean;
		esmodule?: boolean;
		ignore?: [
			string,
			...(string)[]
		];
		caseSensitive?: boolean;
		caseSensitiveStrict?: boolean;
	}
];
type ImportNoUnusedModules = [
] | [
	({
		unusedExports: true;
		src?: [
			unknown,
			...(unknown)[]
		];
		[k: string]: unknown | undefined;
	} | {
		missingExports: true;
		[k: string]: unknown | undefined;
	})
];
type ImportNoUselessPathSegments = [
] | [
	{
		commonjs?: boolean;
		noUselessIndex?: boolean;
	}
];
type ImportOrder = [
] | [
	{
		groups?: unknown[];
		pathGroupsExcludedImportTypes?: unknown[];
		distinctGroup?: boolean;
		pathGroups?: {
			pattern: string;
			patternOptions?: {
				[k: string]: unknown | undefined;
			};
			group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type");
			position?: ("after" | "before");
		}[];
		"newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
		alphabetize?: {
			caseInsensitive?: boolean;
			order?: ("ignore" | "asc" | "desc");
			orderImportKind?: ("ignore" | "asc" | "desc");
		};
		warnOnUnassignedImports?: boolean;
	}
];
type ImportPreferDefaultExport = [
] | [
	{
		target?: ("single" | "any");
	}
];
type JsdocCheckExamples = [
] | [
	{
		allowInlineConfig?: boolean;
		baseConfig?: {
			[k: string]: unknown | undefined;
		};
		captionRequired?: boolean;
		checkDefaults?: boolean;
		checkEslintrc?: boolean;
		checkParams?: boolean;
		checkProperties?: boolean;
		configFile?: string;
		exampleCodeRegex?: string;
		matchingFileName?: string;
		matchingFileNameDefaults?: string;
		matchingFileNameParams?: string;
		matchingFileNameProperties?: string;
		noDefaultExampleRules?: boolean;
		paddedIndent?: number;
		rejectExampleCodeRegex?: string;
		reportUnusedDisableDirectives?: boolean;
	}
];
type JsdocCheckIndentation = [
] | [
	{
		excludeTags?: string[];
	}
];
type JsdocCheckLineAlignment = [
] | [
	("always" | "never" | "any")
] | [
	("always" | "never" | "any"),
	{
		customSpacings?: {
			postDelimiter?: number;
			postHyphen?: number;
			postName?: number;
			postTag?: number;
			postType?: number;
		};
		preserveMainDescriptionPostDelimiter?: boolean;
		tags?: string[];
		wrapIndent?: string;
		disableWrapIndent?: boolean;
	}
];
type JsdocCheckParamNames = [
] | [
	{
		allowExtraTrailingParamDocs?: boolean;
		checkDestructured?: boolean;
		checkRestProperty?: boolean;
		checkTypesPattern?: string;
		disableExtraPropertyReporting?: boolean;
		disableMissingParamChecks?: boolean;
		enableFixer?: boolean;
		useDefaultObjectProperties?: boolean;
	}
];
type JsdocCheckPropertyNames = [
] | [
	{
		enableFixer?: boolean;
	}
];
type JsdocCheckTagNames = [
] | [
	{
		definedTags?: string[];
		enableFixer?: boolean;
		jsxTags?: boolean;
		typed?: boolean;
	}
];
type JsdocCheckTypes = [
] | [
	{
		exemptTagContexts?: {
			tag?: string;
			types?: (boolean | string[]);
		}[];
		noDefaults?: boolean;
		unifyParentAndChildTypeChecks?: boolean;
	}
];
type JsdocCheckValues = [
] | [
	{
		allowedAuthors?: string[];
		allowedLicenses?: (string[] | boolean);
		licensePattern?: string;
		numericOnlyVariation?: boolean;
	}
];
type JsdocConvertToJsdocComments = [
] | [
	{
		allowedPrefixes?: string[];
		contexts?: (string | {
			context?: string;
			inlineCommentBlock?: boolean;
		})[];
		contextsAfter?: (string | {
			context?: string;
			inlineCommentBlock?: boolean;
		})[];
		contextsBeforeAndAfter?: (string | {
			context?: string;
			inlineCommentBlock?: boolean;
		})[];
		enableFixer?: boolean;
		enforceJsdocLineStyle?: ("multi" | "single");
		lineOrBlockStyle?: ("block" | "line" | "both");
	}
];
type JsdocEmptyTags = [
] | [
	{
		tags?: string[];
	}
];
type JsdocImplementsOnClasses = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
	}
];
type JsdocInformativeDocs = [
] | [
	{
		aliases?: {
			[k: string]: string[];
		};
		excludedTags?: string[];
		uselessWords?: string[];
	}
];
type JsdocLinesBeforeBlock = [
] | [
	{
		checkBlockStarts?: boolean;
		excludedTags?: string[];
		ignoreSameLine?: boolean;
		lines?: number;
	}
];
type JsdocMatchDescription = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		mainDescription?: (string | boolean | {
			match?: (string | boolean);
			message?: string;
		});
		matchDescription?: string;
		message?: string;
		nonemptyTags?: boolean;
		tags?: {
			[k: string]: (string | true | {
				match?: (string | true);
				message?: string;
			});
		};
	}
];
type JsdocMatchName = [
] | [
	{
		match: {
			allowName?: string;
			comment?: string;
			context?: string;
			disallowName?: string;
			message?: string;
			tags?: string[];
			[k: string]: unknown | undefined;
		}[];
	}
];
type JsdocMultilineBlocks = [
] | [
	{
		allowMultipleTags?: boolean;
		minimumLengthForMultiline?: number;
		multilineTags?: ("*" | string[]);
		noFinalLineText?: boolean;
		noMultilineBlocks?: boolean;
		noSingleLineBlocks?: boolean;
		noZeroLineText?: boolean;
		singleLineTags?: string[];
	}
];
type JsdocNoBadBlocks = [
] | [
	{
		ignore?: string[];
		preventAllMultiAsteriskBlocks?: boolean;
	}
];
type JsdocNoBlankBlocks = [
] | [
	{
		enableFixer?: boolean;
	}
];
type JsdocNoDefaults = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		noOptionalParamNames?: boolean;
	}
];
type JsdocNoMissingSyntax = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
			message?: string;
			minimum?: number;
		})[];
	}
];
type JsdocNoMultiAsterisks = [
] | [
	{
		allowWhitespace?: boolean;
		preventAtEnd?: boolean;
		preventAtMiddleLines?: boolean;
	}
];
type JsdocNoRestrictedSyntax = [
] | [
	{
		contexts: (string | {
			comment?: string;
			context?: string;
			message?: string;
		})[];
	}
];
type JsdocNoTypes = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
	}
];
type JsdocNoUndefinedTypes = [
] | [
	{
		definedTypes?: string[];
		disableReporting?: boolean;
		markVariablesAsUsed?: boolean;
	}
];
type JsdocRequireAsteriskPrefix = [
] | [
	("always" | "never" | "any")
] | [
	("always" | "never" | "any"),
	{
		tags?: {
			always?: string[];
			any?: string[];
			never?: string[];
			[k: string]: unknown | undefined;
		};
	}
];
type JsdocRequireDescription = [
] | [
	{
		checkConstructors?: boolean;
		checkGetters?: boolean;
		checkSetters?: boolean;
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		descriptionStyle?: ("body" | "tag" | "any");
		exemptedBy?: string[];
	}
];
type JsdocRequireDescriptionCompleteSentence = [
] | [
	{
		abbreviations?: string[];
		newlineBeforeCapsAssumesBadSentenceEnd?: boolean;
		tags?: string[];
	}
];
type JsdocRequireExample = [
] | [
	{
		checkConstructors?: boolean;
		checkGetters?: boolean;
		checkSetters?: boolean;
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		enableFixer?: boolean;
		exemptedBy?: string[];
		exemptNoArguments?: boolean;
	}
];
type JsdocRequireFileOverview = [
] | [
	{
		tags?: {
			[k: string]: {
				initialCommentsOnly?: boolean;
				mustExist?: boolean;
				preventDuplicates?: boolean;
			};
		};
	}
];
type JsdocRequireHyphenBeforeParamDescription = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		tags?: ({
			[k: string]: ("always" | "never");
		} | "any");
	}
];
type JsdocRequireJsdoc = [
] | [
	{
		checkConstructors?: boolean;
		checkGetters?: (boolean | "no-setter");
		checkSetters?: (boolean | "no-getter");
		contexts?: (string | {
			context?: string;
			inlineCommentBlock?: boolean;
			minLineCount?: number;
		})[];
		enableFixer?: boolean;
		exemptEmptyConstructors?: boolean;
		exemptEmptyFunctions?: boolean;
		fixerMessage?: string;
		minLineCount?: number;
		publicOnly?: (boolean | {
			ancestorsOnly?: boolean;
			cjs?: boolean;
			esm?: boolean;
			window?: boolean;
		});
		require?: {
			ArrowFunctionExpression?: boolean;
			ClassDeclaration?: boolean;
			ClassExpression?: boolean;
			FunctionDeclaration?: boolean;
			FunctionExpression?: boolean;
			MethodDefinition?: boolean;
		};
	}
];
type JsdocRequireParam = [
] | [
	{
		autoIncrementBase?: number;
		checkConstructors?: boolean;
		checkDestructured?: boolean;
		checkDestructuredRoots?: boolean;
		checkGetters?: boolean;
		checkRestProperty?: boolean;
		checkSetters?: boolean;
		checkTypesPattern?: string;
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		enableFixer?: boolean;
		enableRestElementFixer?: boolean;
		enableRootFixer?: boolean;
		exemptedBy?: string[];
		ignoreWhenAllParamsMissing?: boolean;
		unnamedRootBase?: string[];
		useDefaultObjectProperties?: boolean;
	}
];
type JsdocRequireParamDescription = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		defaultDestructuredRootDescription?: string;
		setDefaultDestructuredRootDescription?: boolean;
	}
];
type JsdocRequireParamName = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
	}
];
type JsdocRequireParamType = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		defaultDestructuredRootType?: string;
		setDefaultDestructuredRootType?: boolean;
	}
];
type JsdocRequireReturns = [
] | [
	{
		checkConstructors?: boolean;
		checkGetters?: boolean;
		contexts?: (string | {
			comment?: string;
			context?: string;
			forceRequireReturn?: boolean;
		})[];
		enableFixer?: boolean;
		exemptedBy?: string[];
		forceRequireReturn?: boolean;
		forceReturnsWithAsync?: boolean;
		publicOnly?: (boolean | {
			ancestorsOnly?: boolean;
			cjs?: boolean;
			esm?: boolean;
			window?: boolean;
		});
	}
];
type JsdocRequireReturnsCheck = [
] | [
	{
		exemptAsync?: boolean;
		exemptGenerators?: boolean;
		reportMissingReturnForUndefinedTypes?: boolean;
	}
];
type JsdocRequireReturnsDescription = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
	}
];
type JsdocRequireReturnsType = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
	}
];
type JsdocRequireTemplate = [
] | [
	{
		requireSeparateTemplates?: boolean;
	}
];
type JsdocRequireThrows = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		exemptedBy?: string[];
	}
];
type JsdocRequireYields = [
] | [
	{
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		exemptedBy?: string[];
		forceRequireNext?: boolean;
		forceRequireYields?: boolean;
		next?: boolean;
		nextWithGeneratorTag?: boolean;
		withGeneratorTag?: boolean;
	}
];
type JsdocRequireYieldsCheck = [
] | [
	{
		checkGeneratorsOnly?: boolean;
		contexts?: (string | {
			comment?: string;
			context?: string;
		})[];
		exemptedBy?: string[];
		next?: boolean;
	}
];
type JsdocSortTags = [
] | [
	{
		alphabetizeExtras?: boolean;
		linesBetween?: number;
		reportIntraTagGroupSpacing?: boolean;
		reportTagGroupSpacing?: boolean;
		tagSequence?: {
			tags?: string[];
			[k: string]: unknown | undefined;
		}[];
	}
];
type JsdocTagLines = [
] | [
	("always" | "any" | "never")
] | [
	("always" | "any" | "never"),
	{
		applyToEndTag?: boolean;
		count?: number;
		endLines?: (number | null);
		startLines?: (number | null);
		tags?: {
			[k: string]: {
				count?: number;
				lines?: ("always" | "never" | "any");
			};
		};
	}
];
type JsdocTextEscaping = [
] | [
	{
		escapeHTML?: boolean;
		escapeMarkdown?: boolean;
	}
];
type JsdocValidTypes = [
] | [
	{
		allowEmptyNamepaths?: boolean;
	}
];
type JsoncArrayBracketNewline = [
] | [
	(("always" | "never" | "consistent") | {
		multiline?: boolean;
		minItems?: (number | null);
	})
];
type JsoncArrayBracketSpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		singleValue?: boolean;
		objectsInArrays?: boolean;
		arraysInArrays?: boolean;
	}
];
type JsoncArrayElementNewline = [
] | [
	(_JsoncArrayElementNewlineBasicConfig | {
		ArrayExpression?: _JsoncArrayElementNewlineBasicConfig;
		JSONArrayExpression?: _JsoncArrayElementNewlineBasicConfig;
		ArrayPattern?: _JsoncArrayElementNewlineBasicConfig;
	})
];
type _JsoncArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
	multiline?: boolean;
	minItems?: (number | null);
});
type JsoncCommaDangle = [
] | [
	(_JsoncCommaDangleValue | {
		arrays?: _JsoncCommaDangleValueWithIgnore;
		objects?: _JsoncCommaDangleValueWithIgnore;
		imports?: _JsoncCommaDangleValueWithIgnore;
		exports?: _JsoncCommaDangleValueWithIgnore;
		functions?: _JsoncCommaDangleValueWithIgnore;
	})
];
type _JsoncCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _JsoncCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline");
type JsoncCommaStyle = [
] | [
	("first" | "last")
] | [
	("first" | "last"),
	{
		exceptions?: {
			[k: string]: boolean | undefined;
		};
	}
];
type JsoncIndent = [
] | [
	("tab" | number)
] | [
	("tab" | number),
	{
		SwitchCase?: number;
		VariableDeclarator?: ((number | ("first" | "off")) | {
			var?: (number | ("first" | "off"));
			let?: (number | ("first" | "off"));
			const?: (number | ("first" | "off"));
		});
		outerIIFEBody?: (number | "off");
		MemberExpression?: (number | "off");
		FunctionDeclaration?: {
			parameters?: (number | ("first" | "off"));
			body?: number;
		};
		FunctionExpression?: {
			parameters?: (number | ("first" | "off"));
			body?: number;
		};
		StaticBlock?: {
			body?: number;
		};
		CallExpression?: {
			arguments?: (number | ("first" | "off"));
		};
		ArrayExpression?: (number | ("first" | "off"));
		ObjectExpression?: (number | ("first" | "off"));
		ImportDeclaration?: (number | ("first" | "off"));
		flatTernaryExpressions?: boolean;
		offsetTernaryExpressions?: boolean;
		ignoredNodes?: string[];
		ignoreComments?: boolean;
	}
];
type JsoncKeyNameCasing = [
] | [
	{
		camelCase?: boolean;
		PascalCase?: boolean;
		SCREAMING_SNAKE_CASE?: boolean;
		"kebab-case"?: boolean;
		snake_case?: boolean;
		ignores?: string[];
	}
];
type JsoncKeySpacing = [
] | [
	({
		align?: (("colon" | "value") | {
			mode?: ("strict" | "minimum");
			on?: ("colon" | "value");
			beforeColon?: boolean;
			afterColon?: boolean;
		});
		mode?: ("strict" | "minimum");
		beforeColon?: boolean;
		afterColon?: boolean;
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			align?: (("colon" | "value") | {
				mode?: ("strict" | "minimum");
				on?: ("colon" | "value");
				beforeColon?: boolean;
				afterColon?: boolean;
			});
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		align?: {
			mode?: ("strict" | "minimum");
			on?: ("colon" | "value");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	})
];
type JsoncNoIrregularWhitespace = [
] | [
	{
		skipComments?: boolean;
		skipStrings?: boolean;
		skipTemplates?: boolean;
		skipRegExps?: boolean;
		skipJSXText?: boolean;
	}
];
type JsoncObjectCurlyNewline = [
] | [
	((("always" | "never") | {
		multiline?: boolean;
		minProperties?: number;
		consistent?: boolean;
	}) | {
		ObjectExpression?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ObjectPattern?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ImportDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ExportDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
	})
];
type JsoncObjectCurlySpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		arraysInObjects?: boolean;
		objectsInObjects?: boolean;
	}
];
type JsoncObjectPropertyNewline = [
] | [
	{
		allowAllPropertiesOnSameLine?: boolean;
		allowMultiplePropertiesPerLine?: boolean;
	}
];
type JsoncQuoteProps = ([
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed")
] | [
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed")
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed"),
	{
		keywords?: boolean;
		unnecessary?: boolean;
		numbers?: boolean;
	}
]);
type JsoncQuotes = [
] | [
	("single" | "double" | "backtick")
] | [
	("single" | "double" | "backtick"),
	("avoid-escape" | {
		avoidEscape?: boolean;
		allowTemplateLiterals?: boolean;
	})
];
type JsoncSortArrayValues = [
	{
		pathPattern: string;
		order: ((string | {
			valuePattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minValues?: number;
	},
	...({
		pathPattern: string;
		order: ((string | {
			valuePattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minValues?: number;
	})[]
];
type JsoncSortKeys = ([
	{
		pathPattern: string;
		hasProperties?: string[];
		order: ((string | {
			keyPattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minKeys?: number;
		allowLineSeparatedGroups?: boolean;
	},
	...({
		pathPattern: string;
		hasProperties?: string[];
		order: ((string | {
			keyPattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minKeys?: number;
		allowLineSeparatedGroups?: boolean;
	})[]
] | [
] | [
	("asc" | "desc")
] | [
	("asc" | "desc"),
	{
		caseSensitive?: boolean;
		natural?: boolean;
		minKeys?: number;
		allowLineSeparatedGroups?: boolean;
	}
]);
type JsoncSpaceUnaryOps = [
] | [
	{
		words?: boolean;
		nonwords?: boolean;
		overrides?: {
			[k: string]: boolean | undefined;
		};
	}
];
type JsxA11YAccessibleEmoji = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAltText = [
] | [
	{
		elements?: string[];
		img?: string[];
		object?: string[];
		area?: string[];
		"input[type=\"image\"]"?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAnchorAmbiguousText = [
] | [
	{
		words?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAnchorHasContent = [
] | [
	{
		components?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAnchorIsValid = [
] | [
	{
		components?: string[];
		specialLink?: string[];
		aspects?: [
			("noHref" | "invalidHref" | "preferButton"),
			...(("noHref" | "invalidHref" | "preferButton"))[]
		];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAriaActivedescendantHasTabindex = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAriaProps = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAriaProptypes = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAriaRole = [
] | [
	{
		allowedInvalidRoles?: string[];
		ignoreNonDOM?: boolean;
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAriaUnsupportedElements = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YAutocompleteValid = [
] | [
	{
		inputComponents?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YClickEventsHaveKeyEvents = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YControlHasAssociatedLabel = [
] | [
	{
		labelAttributes?: string[];
		controlComponents?: string[];
		ignoreElements?: string[];
		ignoreRoles?: string[];
		depth?: number;
		[k: string]: unknown | undefined;
	}
];
type JsxA11YHeadingHasContent = [
] | [
	{
		components?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YHtmlHasLang = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YIframeHasTitle = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YImgRedundantAlt = [
] | [
	{
		components?: string[];
		words?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YInteractiveSupportsFocus = [
] | [
	{
		tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YLabelHasAssociatedControl = [
] | [
	{
		labelComponents?: string[];
		labelAttributes?: string[];
		controlComponents?: string[];
		assert?: ("htmlFor" | "nesting" | "both" | "either");
		depth?: number;
		[k: string]: unknown | undefined;
	}
];
type JsxA11YLabelHasFor = [
] | [
	{
		components?: string[];
		required?: (("nesting" | "id") | {
			some: ("nesting" | "id")[];
			[k: string]: unknown | undefined;
		} | {
			every: ("nesting" | "id")[];
			[k: string]: unknown | undefined;
		});
		allowChildren?: boolean;
		[k: string]: unknown | undefined;
	}
];
type JsxA11YLang = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YMediaHasCaption = [
] | [
	{
		audio?: string[];
		video?: string[];
		track?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YMouseEventsHaveKeyEvents = [
] | [
	{
		hoverInHandlers?: string[];
		hoverOutHandlers?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoAccessKey = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoAriaHiddenOnFocusable = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoAutofocus = [
] | [
	{
		ignoreNonDOM?: boolean;
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoDistractingElements = [
] | [
	{
		elements?: ("marquee" | "blink")[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoInteractiveElementToNoninteractiveRole = [
] | [
	{
		[k: string]: string[] | undefined;
	}
];
type JsxA11YNoNoninteractiveElementInteractions = [
] | [
	{
		handlers?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoNoninteractiveElementToInteractiveRole = [
] | [
	{
		[k: string]: string[] | undefined;
	}
];
type JsxA11YNoNoninteractiveTabindex = [
] | [
	{
		roles?: string[];
		tags?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoOnchange = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YNoRedundantRoles = [
] | [
	{
		[k: string]: string[] | undefined;
	}
];
type JsxA11YNoStaticElementInteractions = [
] | [
	{
		handlers?: string[];
		[k: string]: unknown | undefined;
	}
];
type JsxA11YPreferTagOverRole = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YRoleHasRequiredAriaProps = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YRoleSupportsAriaProps = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YScope = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type JsxA11YTabindexNoPositive = [
] | [
	{
		[k: string]: unknown | undefined;
	}
];
type NodeCallbackReturn = [
] | [
	string[]
];
type NodeExportsStyle = [
] | [
	("module.exports" | "exports")
] | [
	("module.exports" | "exports"),
	{
		allowBatchAssign?: boolean;
	}
];
type NodeFileExtensionInImport = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		[k: string]: ("always" | "never") | undefined;
	}
];
type NodeHandleCallbackErr = [
] | [
	string
];
type NodeHashbang = [
] | [
	{
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		ignoreUnpublished?: boolean;
		additionalExecutables?: string[];
		executableMap?: {
			[k: string]: string;
		};
	}
];
type NodeNoDeprecatedApi = [
] | [
	{
		version?: string;
		ignoreModuleItems?: ("_linklist" | "_stream_wrap" | "async_hooks.currentId" | "async_hooks.triggerId" | "buffer.Buffer()" | "new buffer.Buffer()" | "buffer.SlowBuffer" | "constants" | "crypto._toBuf" | "crypto.Credentials" | "crypto.DEFAULT_ENCODING" | "crypto.createCipher" | "crypto.createCredentials" | "crypto.createDecipher" | "crypto.fips" | "crypto.prng" | "crypto.pseudoRandomBytes" | "crypto.rng" | "domain" | "events.EventEmitter.listenerCount" | "events.listenerCount" | "freelist" | "fs.SyncWriteStream" | "fs.exists" | "fs.lchmod" | "fs.lchmodSync" | "http.createClient" | "module.Module.createRequireFromPath" | "module.Module.requireRepl" | "module.Module._debug" | "module.createRequireFromPath" | "module.requireRepl" | "module._debug" | "net._setSimultaneousAccepts" | "os.getNetworkInterfaces" | "os.tmpDir" | "path._makeLong" | "process.EventEmitter" | "process.assert" | "process.binding" | "process.env.NODE_REPL_HISTORY_FILE" | "process.report.triggerReport" | "punycode" | "readline.codePointAt" | "readline.getStringWidth" | "readline.isFullWidthCodePoint" | "readline.stripVTControlCharacters" | "repl.REPLServer" | "repl.Recoverable" | "repl.REPL_MODE_MAGIC" | "safe-buffer.Buffer()" | "new safe-buffer.Buffer()" | "safe-buffer.SlowBuffer" | "sys" | "timers.enroll" | "timers.unenroll" | "tls.CleartextStream" | "tls.CryptoStream" | "tls.SecurePair" | "tls.convertNPNProtocols" | "tls.createSecurePair" | "tls.parseCertString" | "tty.setRawMode" | "url.parse" | "url.resolve" | "util.debug" | "util.error" | "util.isArray" | "util.isBoolean" | "util.isBuffer" | "util.isDate" | "util.isError" | "util.isFunction" | "util.isNull" | "util.isNullOrUndefined" | "util.isNumber" | "util.isObject" | "util.isPrimitive" | "util.isRegExp" | "util.isString" | "util.isSymbol" | "util.isUndefined" | "util.log" | "util.print" | "util.pump" | "util.puts" | "util._extend" | "vm.runInDebugContext" | "zlib.BrotliCompress()" | "zlib.BrotliDecompress()" | "zlib.Deflate()" | "zlib.DeflateRaw()" | "zlib.Gunzip()" | "zlib.Gzip()" | "zlib.Inflate()" | "zlib.InflateRaw()" | "zlib.Unzip()")[];
		ignoreGlobalItems?: ("Buffer()" | "new Buffer()" | "COUNTER_NET_SERVER_CONNECTION" | "COUNTER_NET_SERVER_CONNECTION_CLOSE" | "COUNTER_HTTP_SERVER_REQUEST" | "COUNTER_HTTP_SERVER_RESPONSE" | "COUNTER_HTTP_CLIENT_REQUEST" | "COUNTER_HTTP_CLIENT_RESPONSE" | "GLOBAL" | "Intl.v8BreakIterator" | "require.extensions" | "root" | "process.EventEmitter" | "process.assert" | "process.binding" | "process.env.NODE_REPL_HISTORY_FILE" | "process.report.triggerReport")[];
		ignoreIndirectDependencies?: boolean;
	}
];
type NodeNoExtraneousImport = [
] | [
	{
		allowModules?: string[];
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		resolvePaths?: string[];
		resolverConfig?: {
			[k: string]: unknown | undefined;
		};
	}
];
type NodeNoExtraneousRequire = [
] | [
	{
		allowModules?: string[];
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		resolvePaths?: string[];
		resolverConfig?: {
			[k: string]: unknown | undefined;
		};
		tryExtensions?: string[];
	}
];
type NodeNoHideCoreModules = [
] | [
	{
		allow?: ("assert" | "buffer" | "child_process" | "cluster" | "console" | "constants" | "crypto" | "dgram" | "dns" | "events" | "fs" | "http" | "https" | "module" | "net" | "os" | "path" | "querystring" | "readline" | "repl" | "stream" | "string_decoder" | "timers" | "tls" | "tty" | "url" | "util" | "vm" | "zlib")[];
		ignoreDirectDependencies?: boolean;
		ignoreIndirectDependencies?: boolean;
	}
];
type NodeNoMissingImport = [
] | [
	{
		allowModules?: string[];
		resolvePaths?: string[];
		resolverConfig?: {
			[k: string]: unknown | undefined;
		};
		tryExtensions?: string[];
		ignoreTypeImport?: boolean;
		tsconfigPath?: string;
		typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"));
	}
];
type NodeNoMissingRequire = [
] | [
	{
		allowModules?: string[];
		tryExtensions?: string[];
		resolvePaths?: string[];
		resolverConfig?: {
			[k: string]: unknown | undefined;
		};
		typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"));
		tsconfigPath?: string;
	}
];
type NodeNoMixedRequires = [
] | [
	(boolean | {
		grouping?: boolean;
		allowCall?: boolean;
	})
];
type NodeNoProcessEnv = [
] | [
	{
		allowedVariables?: string[];
	}
];
type NodeNoRestrictedImport = [
] | [
	(string | {
		name: (string | string[]);
		message?: string;
	})[]
];
type NodeNoRestrictedRequire = [
] | [
	(string | {
		name: (string | string[]);
		message?: string;
	})[]
];
type NodeNoSync = [
] | [
	{
		allowAtRootLevel?: boolean;
		ignores?: string[];
	}
];
type NodeNoUnpublishedBin = [
] | [
	{
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		[k: string]: unknown | undefined;
	}
];
type NodeNoUnpublishedImport = [
] | [
	{
		allowModules?: string[];
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		resolvePaths?: string[];
		resolverConfig?: {
			[k: string]: unknown | undefined;
		};
		ignoreTypeImport?: boolean;
		ignorePrivate?: boolean;
	}
];
type NodeNoUnpublishedRequire = [
] | [
	{
		allowModules?: string[];
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		resolvePaths?: string[];
		resolverConfig?: {
			[k: string]: unknown | undefined;
		};
		tryExtensions?: string[];
		ignorePrivate?: boolean;
	}
];
type NodeNoUnsupportedFeaturesEsBuiltins = [
] | [
	{
		version?: string;
		ignores?: ("AggregateError" | "Array" | "Array.from" | "Array.isArray" | "Array.length" | "Array.of" | "Array.toLocaleString" | "ArrayBuffer" | "ArrayBuffer.isView" | "Atomics" | "Atomics.add" | "Atomics.and" | "Atomics.compareExchange" | "Atomics.exchange" | "Atomics.isLockFree" | "Atomics.load" | "Atomics.notify" | "Atomics.or" | "Atomics.store" | "Atomics.sub" | "Atomics.wait" | "Atomics.waitAsync" | "Atomics.xor" | "BigInt" | "BigInt.asIntN" | "BigInt.asUintN" | "BigInt64Array" | "BigInt64Array.BYTES_PER_ELEMENT" | "BigInt64Array.from" | "BigInt64Array.name" | "BigInt64Array.of" | "BigUint64Array" | "BigUint64Array.BYTES_PER_ELEMENT" | "BigUint64Array.from" | "BigUint64Array.name" | "BigUint64Array.of" | "Boolean" | "DataView" | "Date" | "Date.UTC" | "Date.now" | "Date.parse" | "Date.toLocaleDateString" | "Date.toLocaleString" | "Date.toLocaleTimeString" | "Error" | "Error.cause" | "EvalError" | "FinalizationRegistry" | "Float32Array" | "Float32Array.BYTES_PER_ELEMENT" | "Float32Array.from" | "Float32Array.name" | "Float32Array.of" | "Float64Array" | "Float64Array.BYTES_PER_ELEMENT" | "Float64Array.from" | "Float64Array.name" | "Float64Array.of" | "Function" | "Function.length" | "Function.name" | "Infinity" | "Int16Array" | "Int16Array.BYTES_PER_ELEMENT" | "Int16Array.from" | "Int16Array.name" | "Int16Array.of" | "Int32Array" | "Int32Array.BYTES_PER_ELEMENT" | "Int32Array.from" | "Int32Array.name" | "Int32Array.of" | "Int8Array" | "Int8Array.BYTES_PER_ELEMENT" | "Int8Array.from" | "Int8Array.name" | "Int8Array.of" | "Intl" | "Intl.Collator" | "Intl.DateTimeFormat" | "Intl.DisplayNames" | "Intl.ListFormat" | "Intl.Locale" | "Intl.NumberFormat" | "Intl.PluralRules" | "Intl.RelativeTimeFormat" | "Intl.Segmenter" | "Intl.Segments" | "Intl.getCanonicalLocales" | "Intl.supportedValuesOf" | "JSON" | "JSON.parse" | "JSON.stringify" | "Map" | "Map.groupBy" | "Math" | "Math.E" | "Math.LN10" | "Math.LN2" | "Math.LOG10E" | "Math.LOG2E" | "Math.PI" | "Math.SQRT1_2" | "Math.SQRT2" | "Math.abs" | "Math.acos" | "Math.acosh" | "Math.asin" | "Math.asinh" | "Math.atan" | "Math.atan2" | "Math.atanh" | "Math.cbrt" | "Math.ceil" | "Math.clz32" | "Math.cos" | "Math.cosh" | "Math.exp" | "Math.expm1" | "Math.floor" | "Math.fround" | "Math.hypot" | "Math.imul" | "Math.log" | "Math.log10" | "Math.log1p" | "Math.log2" | "Math.max" | "Math.min" | "Math.pow" | "Math.random" | "Math.round" | "Math.sign" | "Math.sin" | "Math.sinh" | "Math.sqrt" | "Math.tan" | "Math.tanh" | "Math.trunc" | "NaN" | "Number.EPSILON" | "Number.MAX_SAFE_INTEGER" | "Number.MAX_VALUE" | "Number.MIN_SAFE_INTEGER" | "Number.MIN_VALUE" | "Number.NEGATIVE_INFINITY" | "Number.NaN" | "Number.POSITIVE_INFINITY" | "Number.isFinite" | "Number.isInteger" | "Number.isNaN" | "Number.isSafeInteger" | "Number.parseFloat" | "Number.parseInt" | "Number.toLocaleString" | "Object.assign" | "Object.create" | "Object.defineGetter" | "Object.defineProperties" | "Object.defineProperty" | "Object.defineSetter" | "Object.entries" | "Object.freeze" | "Object.fromEntries" | "Object.getOwnPropertyDescriptor" | "Object.getOwnPropertyDescriptors" | "Object.getOwnPropertyNames" | "Object.getOwnPropertySymbols" | "Object.getPrototypeOf" | "Object.groupBy" | "Object.hasOwn" | "Object.is" | "Object.isExtensible" | "Object.isFrozen" | "Object.isSealed" | "Object.keys" | "Object.lookupGetter" | "Object.lookupSetter" | "Object.preventExtensions" | "Object.proto" | "Object.seal" | "Object.setPrototypeOf" | "Object.values" | "Promise" | "Promise.all" | "Promise.allSettled" | "Promise.any" | "Promise.race" | "Promise.reject" | "Promise.resolve" | "Proxy" | "Proxy.revocable" | "RangeError" | "ReferenceError" | "Reflect" | "Reflect.apply" | "Reflect.construct" | "Reflect.defineProperty" | "Reflect.deleteProperty" | "Reflect.get" | "Reflect.getOwnPropertyDescriptor" | "Reflect.getPrototypeOf" | "Reflect.has" | "Reflect.isExtensible" | "Reflect.ownKeys" | "Reflect.preventExtensions" | "Reflect.set" | "Reflect.setPrototypeOf" | "RegExp" | "RegExp.dotAll" | "RegExp.hasIndices" | "RegExp.input" | "RegExp.lastIndex" | "RegExp.lastMatch" | "RegExp.lastParen" | "RegExp.leftContext" | "RegExp.n" | "RegExp.rightContext" | "Set" | "SharedArrayBuffer" | "String" | "String.fromCharCode" | "String.fromCodePoint" | "String.length" | "String.localeCompare" | "String.raw" | "String.toLocaleLowerCase" | "String.toLocaleUpperCase" | "Symbol" | "Symbol.asyncIterator" | "Symbol.for" | "Symbol.hasInstance" | "Symbol.isConcatSpreadable" | "Symbol.iterator" | "Symbol.keyFor" | "Symbol.match" | "Symbol.matchAll" | "Symbol.replace" | "Symbol.search" | "Symbol.species" | "Symbol.split" | "Symbol.toPrimitive" | "Symbol.toStringTag" | "Symbol.unscopables" | "SyntaxError" | "TypeError" | "URIError" | "Uint16Array" | "Uint16Array.BYTES_PER_ELEMENT" | "Uint16Array.from" | "Uint16Array.name" | "Uint16Array.of" | "Uint32Array" | "Uint32Array.BYTES_PER_ELEMENT" | "Uint32Array.from" | "Uint32Array.name" | "Uint32Array.of" | "Uint8Array" | "Uint8Array.BYTES_PER_ELEMENT" | "Uint8Array.from" | "Uint8Array.name" | "Uint8Array.of" | "Uint8ClampedArray" | "Uint8ClampedArray.BYTES_PER_ELEMENT" | "Uint8ClampedArray.from" | "Uint8ClampedArray.name" | "Uint8ClampedArray.of" | "WeakMap" | "WeakRef" | "WeakSet" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "eval" | "globalThis" | "isFinite" | "isNaN" | "parseFloat" | "parseInt" | "unescape")[];
	}
];
type NodeNoUnsupportedFeaturesEsSyntax = [
] | [
	{
		version?: string;
		ignores?: ("no-accessor-properties" | "accessor-properties" | "accessorProperties" | "no-arbitrary-module-namespace-names" | "arbitrary-module-namespace-names" | "arbitraryModuleNamespaceNames" | "no-array-from" | "array-from" | "arrayFrom" | "no-array-isarray" | "array-isarray" | "arrayIsarray" | "no-array-of" | "array-of" | "arrayOf" | "no-array-prototype-copywithin" | "array-prototype-copywithin" | "arrayPrototypeCopywithin" | "no-array-prototype-entries" | "array-prototype-entries" | "arrayPrototypeEntries" | "no-array-prototype-every" | "array-prototype-every" | "arrayPrototypeEvery" | "no-array-prototype-fill" | "array-prototype-fill" | "arrayPrototypeFill" | "no-array-prototype-filter" | "array-prototype-filter" | "arrayPrototypeFilter" | "no-array-prototype-find" | "array-prototype-find" | "arrayPrototypeFind" | "no-array-prototype-findindex" | "array-prototype-findindex" | "arrayPrototypeFindindex" | "no-array-prototype-findlast-findlastindex" | "array-prototype-findlast-findlastindex" | "arrayPrototypeFindlastFindlastindex" | "no-array-prototype-flat" | "array-prototype-flat" | "arrayPrototypeFlat" | "no-array-prototype-foreach" | "array-prototype-foreach" | "arrayPrototypeForeach" | "no-array-prototype-includes" | "array-prototype-includes" | "arrayPrototypeIncludes" | "no-array-prototype-indexof" | "array-prototype-indexof" | "arrayPrototypeIndexof" | "no-array-prototype-keys" | "array-prototype-keys" | "arrayPrototypeKeys" | "no-array-prototype-lastindexof" | "array-prototype-lastindexof" | "arrayPrototypeLastindexof" | "no-array-prototype-map" | "array-prototype-map" | "arrayPrototypeMap" | "no-array-prototype-reduce" | "array-prototype-reduce" | "arrayPrototypeReduce" | "no-array-prototype-reduceright" | "array-prototype-reduceright" | "arrayPrototypeReduceright" | "no-array-prototype-some" | "array-prototype-some" | "arrayPrototypeSome" | "no-array-prototype-toreversed" | "array-prototype-toreversed" | "arrayPrototypeToreversed" | "no-array-prototype-tosorted" | "array-prototype-tosorted" | "arrayPrototypeTosorted" | "no-array-prototype-tospliced" | "array-prototype-tospliced" | "arrayPrototypeTospliced" | "no-array-prototype-values" | "array-prototype-values" | "arrayPrototypeValues" | "no-array-prototype-with" | "array-prototype-with" | "arrayPrototypeWith" | "no-array-string-prototype-at" | "array-string-prototype-at" | "arrayStringPrototypeAt" | "no-arrow-functions" | "arrow-functions" | "arrowFunctions" | "no-async-functions" | "async-functions" | "asyncFunctions" | "no-async-iteration" | "async-iteration" | "asyncIteration" | "no-atomics-waitasync" | "atomics-waitasync" | "atomicsWaitasync" | "no-atomics" | "atomics" | "no-bigint" | "bigint" | "no-binary-numeric-literals" | "binary-numeric-literals" | "binaryNumericLiterals" | "no-block-scoped-functions" | "block-scoped-functions" | "blockScopedFunctions" | "no-block-scoped-variables" | "block-scoped-variables" | "blockScopedVariables" | "no-class-fields" | "class-fields" | "classFields" | "no-class-static-block" | "class-static-block" | "classStaticBlock" | "no-classes" | "classes" | "no-computed-properties" | "computed-properties" | "computedProperties" | "no-date-now" | "date-now" | "dateNow" | "no-date-prototype-getyear-setyear" | "date-prototype-getyear-setyear" | "datePrototypeGetyearSetyear" | "no-date-prototype-togmtstring" | "date-prototype-togmtstring" | "datePrototypeTogmtstring" | "no-default-parameters" | "default-parameters" | "defaultParameters" | "no-destructuring" | "destructuring" | "no-dynamic-import" | "dynamic-import" | "dynamicImport" | "no-error-cause" | "error-cause" | "errorCause" | "no-escape-unescape" | "escape-unescape" | "escapeUnescape" | "no-exponential-operators" | "exponential-operators" | "exponentialOperators" | "no-export-ns-from" | "export-ns-from" | "exportNsFrom" | "no-for-of-loops" | "for-of-loops" | "forOfLoops" | "no-function-declarations-in-if-statement-clauses-without-block" | "function-declarations-in-if-statement-clauses-without-block" | "functionDeclarationsInIfStatementClausesWithoutBlock" | "no-function-prototype-bind" | "function-prototype-bind" | "functionPrototypeBind" | "no-generators" | "generators" | "no-global-this" | "global-this" | "globalThis" | "no-hashbang" | "hashbang" | "no-import-meta" | "import-meta" | "importMeta" | "no-initializers-in-for-in" | "initializers-in-for-in" | "initializersInForIn" | "no-intl-datetimeformat-prototype-formatrange" | "intl-datetimeformat-prototype-formatrange" | "intlDatetimeformatPrototypeFormatrange" | "no-intl-datetimeformat-prototype-formattoparts" | "intl-datetimeformat-prototype-formattoparts" | "intlDatetimeformatPrototypeFormattoparts" | "no-intl-displaynames" | "intl-displaynames" | "intlDisplaynames" | "no-intl-getcanonicallocales" | "intl-getcanonicallocales" | "intlGetcanonicallocales" | "no-intl-listformat" | "intl-listformat" | "intlListformat" | "no-intl-locale" | "intl-locale" | "intlLocale" | "no-intl-numberformat-prototype-formatrange" | "intl-numberformat-prototype-formatrange" | "intlNumberformatPrototypeFormatrange" | "no-intl-numberformat-prototype-formatrangetoparts" | "intl-numberformat-prototype-formatrangetoparts" | "intlNumberformatPrototypeFormatrangetoparts" | "no-intl-numberformat-prototype-formattoparts" | "intl-numberformat-prototype-formattoparts" | "intlNumberformatPrototypeFormattoparts" | "no-intl-pluralrules-prototype-selectrange" | "intl-pluralrules-prototype-selectrange" | "intlPluralrulesPrototypeSelectrange" | "no-intl-pluralrules" | "intl-pluralrules" | "intlPluralrules" | "no-intl-relativetimeformat" | "intl-relativetimeformat" | "intlRelativetimeformat" | "no-intl-segmenter" | "intl-segmenter" | "intlSegmenter" | "no-intl-supportedvaluesof" | "intl-supportedvaluesof" | "intlSupportedvaluesof" | "no-json-superset" | "json-superset" | "jsonSuperset" | "no-json" | "json" | "no-keyword-properties" | "keyword-properties" | "keywordProperties" | "no-labelled-function-declarations" | "labelled-function-declarations" | "labelledFunctionDeclarations" | "no-legacy-object-prototype-accessor-methods" | "legacy-object-prototype-accessor-methods" | "legacyObjectPrototypeAccessorMethods" | "no-logical-assignment-operators" | "logical-assignment-operators" | "logicalAssignmentOperators" | "no-malformed-template-literals" | "malformed-template-literals" | "malformedTemplateLiterals" | "no-map" | "map" | "no-math-acosh" | "math-acosh" | "mathAcosh" | "no-math-asinh" | "math-asinh" | "mathAsinh" | "no-math-atanh" | "math-atanh" | "mathAtanh" | "no-math-cbrt" | "math-cbrt" | "mathCbrt" | "no-math-clz32" | "math-clz32" | "mathClz32" | "no-math-cosh" | "math-cosh" | "mathCosh" | "no-math-expm1" | "math-expm1" | "mathExpm1" | "no-math-fround" | "math-fround" | "mathFround" | "no-math-hypot" | "math-hypot" | "mathHypot" | "no-math-imul" | "math-imul" | "mathImul" | "no-math-log10" | "math-log10" | "mathLog10" | "no-math-log1p" | "math-log1p" | "mathLog1p" | "no-math-log2" | "math-log2" | "mathLog2" | "no-math-sign" | "math-sign" | "mathSign" | "no-math-sinh" | "math-sinh" | "mathSinh" | "no-math-tanh" | "math-tanh" | "mathTanh" | "no-math-trunc" | "math-trunc" | "mathTrunc" | "no-modules" | "modules" | "no-new-target" | "new-target" | "newTarget" | "new.target" | "no-nullish-coalescing-operators" | "nullish-coalescing-operators" | "nullishCoalescingOperators" | "no-number-epsilon" | "number-epsilon" | "numberEpsilon" | "no-number-isfinite" | "number-isfinite" | "numberIsfinite" | "no-number-isinteger" | "number-isinteger" | "numberIsinteger" | "no-number-isnan" | "number-isnan" | "numberIsnan" | "no-number-issafeinteger" | "number-issafeinteger" | "numberIssafeinteger" | "no-number-maxsafeinteger" | "number-maxsafeinteger" | "numberMaxsafeinteger" | "no-number-minsafeinteger" | "number-minsafeinteger" | "numberMinsafeinteger" | "no-number-parsefloat" | "number-parsefloat" | "numberParsefloat" | "no-number-parseint" | "number-parseint" | "numberParseint" | "no-numeric-separators" | "numeric-separators" | "numericSeparators" | "no-object-assign" | "object-assign" | "objectAssign" | "no-object-create" | "object-create" | "objectCreate" | "no-object-defineproperties" | "object-defineproperties" | "objectDefineproperties" | "no-object-defineproperty" | "object-defineproperty" | "objectDefineproperty" | "no-object-entries" | "object-entries" | "objectEntries" | "no-object-freeze" | "object-freeze" | "objectFreeze" | "no-object-fromentries" | "object-fromentries" | "objectFromentries" | "no-object-getownpropertydescriptor" | "object-getownpropertydescriptor" | "objectGetownpropertydescriptor" | "no-object-getownpropertydescriptors" | "object-getownpropertydescriptors" | "objectGetownpropertydescriptors" | "no-object-getownpropertynames" | "object-getownpropertynames" | "objectGetownpropertynames" | "no-object-getownpropertysymbols" | "object-getownpropertysymbols" | "objectGetownpropertysymbols" | "no-object-getprototypeof" | "object-getprototypeof" | "objectGetprototypeof" | "no-object-hasown" | "object-hasown" | "objectHasown" | "no-object-is" | "object-is" | "objectIs" | "no-object-isextensible" | "object-isextensible" | "objectIsextensible" | "no-object-isfrozen" | "object-isfrozen" | "objectIsfrozen" | "no-object-issealed" | "object-issealed" | "objectIssealed" | "no-object-keys" | "object-keys" | "objectKeys" | "no-object-map-groupby" | "object-map-groupby" | "objectMapGroupby" | "no-object-preventextensions" | "object-preventextensions" | "objectPreventextensions" | "no-object-seal" | "object-seal" | "objectSeal" | "no-object-setprototypeof" | "object-setprototypeof" | "objectSetprototypeof" | "no-object-super-properties" | "object-super-properties" | "objectSuperProperties" | "no-object-values" | "object-values" | "objectValues" | "no-octal-numeric-literals" | "octal-numeric-literals" | "octalNumericLiterals" | "no-optional-catch-binding" | "optional-catch-binding" | "optionalCatchBinding" | "no-optional-chaining" | "optional-chaining" | "optionalChaining" | "no-private-in" | "private-in" | "privateIn" | "no-promise-all-settled" | "promise-all-settled" | "promiseAllSettled" | "no-promise-any" | "promise-any" | "promiseAny" | "no-promise-prototype-finally" | "promise-prototype-finally" | "promisePrototypeFinally" | "no-promise-withresolvers" | "promise-withresolvers" | "promiseWithresolvers" | "no-promise" | "promise" | "no-property-shorthands" | "property-shorthands" | "propertyShorthands" | "no-proxy" | "proxy" | "no-reflect" | "reflect" | "no-regexp-d-flag" | "regexp-d-flag" | "regexpDFlag" | "no-regexp-lookbehind-assertions" | "regexp-lookbehind-assertions" | "regexpLookbehindAssertions" | "regexpLookbehind" | "no-regexp-named-capture-groups" | "regexp-named-capture-groups" | "regexpNamedCaptureGroups" | "no-regexp-prototype-compile" | "regexp-prototype-compile" | "regexpPrototypeCompile" | "no-regexp-prototype-flags" | "regexp-prototype-flags" | "regexpPrototypeFlags" | "no-regexp-s-flag" | "regexp-s-flag" | "regexpSFlag" | "regexpS" | "no-regexp-u-flag" | "regexp-u-flag" | "regexpUFlag" | "regexpU" | "no-regexp-unicode-property-escapes-2019" | "regexp-unicode-property-escapes-2019" | "regexpUnicodePropertyEscapes2019" | "no-regexp-unicode-property-escapes-2020" | "regexp-unicode-property-escapes-2020" | "regexpUnicodePropertyEscapes2020" | "no-regexp-unicode-property-escapes-2021" | "regexp-unicode-property-escapes-2021" | "regexpUnicodePropertyEscapes2021" | "no-regexp-unicode-property-escapes-2022" | "regexp-unicode-property-escapes-2022" | "regexpUnicodePropertyEscapes2022" | "no-regexp-unicode-property-escapes-2023" | "regexp-unicode-property-escapes-2023" | "regexpUnicodePropertyEscapes2023" | "no-regexp-unicode-property-escapes" | "regexp-unicode-property-escapes" | "regexpUnicodePropertyEscapes" | "regexpUnicodeProperties" | "no-regexp-v-flag" | "regexp-v-flag" | "regexpVFlag" | "no-regexp-y-flag" | "regexp-y-flag" | "regexpYFlag" | "regexpY" | "no-resizable-and-growable-arraybuffers" | "resizable-and-growable-arraybuffers" | "resizableAndGrowableArraybuffers" | "no-rest-parameters" | "rest-parameters" | "restParameters" | "no-rest-spread-properties" | "rest-spread-properties" | "restSpreadProperties" | "no-set" | "set" | "no-shadow-catch-param" | "shadow-catch-param" | "shadowCatchParam" | "no-shared-array-buffer" | "shared-array-buffer" | "sharedArrayBuffer" | "no-spread-elements" | "spread-elements" | "spreadElements" | "no-string-create-html-methods" | "string-create-html-methods" | "stringCreateHtmlMethods" | "no-string-fromcodepoint" | "string-fromcodepoint" | "stringFromcodepoint" | "no-string-prototype-codepointat" | "string-prototype-codepointat" | "stringPrototypeCodepointat" | "no-string-prototype-endswith" | "string-prototype-endswith" | "stringPrototypeEndswith" | "no-string-prototype-includes" | "string-prototype-includes" | "stringPrototypeIncludes" | "no-string-prototype-iswellformed-towellformed" | "string-prototype-iswellformed-towellformed" | "stringPrototypeIswellformedTowellformed" | "no-string-prototype-matchall" | "string-prototype-matchall" | "stringPrototypeMatchall" | "no-string-prototype-normalize" | "string-prototype-normalize" | "stringPrototypeNormalize" | "no-string-prototype-padstart-padend" | "string-prototype-padstart-padend" | "stringPrototypePadstartPadend" | "no-string-prototype-repeat" | "string-prototype-repeat" | "stringPrototypeRepeat" | "no-string-prototype-replaceall" | "string-prototype-replaceall" | "stringPrototypeReplaceall" | "no-string-prototype-startswith" | "string-prototype-startswith" | "stringPrototypeStartswith" | "no-string-prototype-substr" | "string-prototype-substr" | "stringPrototypeSubstr" | "no-string-prototype-trim" | "string-prototype-trim" | "stringPrototypeTrim" | "no-string-prototype-trimleft-trimright" | "string-prototype-trimleft-trimright" | "stringPrototypeTrimleftTrimright" | "no-string-prototype-trimstart-trimend" | "string-prototype-trimstart-trimend" | "stringPrototypeTrimstartTrimend" | "no-string-raw" | "string-raw" | "stringRaw" | "no-subclassing-builtins" | "subclassing-builtins" | "subclassingBuiltins" | "no-symbol-prototype-description" | "symbol-prototype-description" | "symbolPrototypeDescription" | "no-symbol" | "symbol" | "no-template-literals" | "template-literals" | "templateLiterals" | "no-top-level-await" | "top-level-await" | "topLevelAwait" | "no-trailing-commas" | "trailing-commas" | "trailingCommas" | "no-trailing-function-commas" | "trailing-function-commas" | "trailingFunctionCommas" | "trailingCommasInFunctions" | "no-typed-arrays" | "typed-arrays" | "typedArrays" | "no-unicode-codepoint-escapes" | "unicode-codepoint-escapes" | "unicodeCodepointEscapes" | "unicodeCodePointEscapes" | "no-weak-map" | "weak-map" | "weakMap" | "no-weak-set" | "weak-set" | "weakSet" | "no-weakrefs" | "weakrefs")[];
	}
];
type NodeNoUnsupportedFeaturesNodeBuiltins = [
] | [
	{
		version?: string;
		allowExperimental?: boolean;
		ignores?: ("__filename" | "__dirname" | "require" | "require.cache" | "require.extensions" | "require.main" | "require.resolve" | "require.resolve.paths" | "module" | "module.children" | "module.exports" | "module.filename" | "module.id" | "module.isPreloading" | "module.loaded" | "module.parent" | "module.path" | "module.paths" | "module.require" | "exports" | "AbortController" | "AbortSignal" | "AbortSignal.abort" | "AbortSignal.timeout" | "AbortSignal.any" | "DOMException" | "FormData" | "Headers" | "MessageEvent" | "Navigator" | "Request" | "Response" | "WebAssembly" | "WebSocket" | "fetch" | "global" | "queueMicrotask" | "navigator" | "navigator.hardwareConcurrency" | "navigator.language" | "navigator.languages" | "navigator.platform" | "navigator.userAgent" | "structuredClone" | "localStorage" | "sessionStorage" | "Storage" | "Blob" | "new Buffer()" | "Buffer" | "Buffer.alloc" | "Buffer.allocUnsafe" | "Buffer.allocUnsafeSlow" | "Buffer.byteLength" | "Buffer.compare" | "Buffer.concat" | "Buffer.copyBytesFrom" | "Buffer.from" | "Buffer.isBuffer" | "Buffer.isEncoding" | "File" | "atob" | "btoa" | "console" | "console.profile" | "console.profileEnd" | "console.timeStamp" | "console.Console" | "console.assert" | "console.clear" | "console.count" | "console.countReset" | "console.debug" | "console.dir" | "console.dirxml" | "console.error" | "console.group" | "console.groupCollapsed" | "console.groupEnd" | "console.info" | "console.log" | "console.table" | "console.time" | "console.timeEnd" | "console.timeLog" | "console.trace" | "console.warn" | "crypto" | "crypto.subtle" | "crypto.subtle.decrypt" | "crypto.subtle.deriveBits" | "crypto.subtle.deriveKey" | "crypto.subtle.digest" | "crypto.subtle.encrypt" | "crypto.subtle.exportKey" | "crypto.subtle.generateKey" | "crypto.subtle.importKey" | "crypto.subtle.sign" | "crypto.subtle.unwrapKey" | "crypto.subtle.verify" | "crypto.subtle.wrapKey" | "crypto.getRandomValues" | "crypto.randomUUID" | "Crypto" | "CryptoKey" | "SubtleCrypto" | "CloseEvent" | "CustomEvent" | "Event" | "EventSource" | "EventTarget" | "PerformanceEntry" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformanceResourceTiming" | "performance" | "performance.clearMarks" | "performance.clearMeasures" | "performance.clearResourceTimings" | "performance.eventLoopUtilization" | "performance.getEntries" | "performance.getEntriesByName" | "performance.getEntriesByType" | "performance.mark" | "performance.markResourceTiming" | "performance.measure" | "performance.nodeTiming" | "performance.nodeTiming.bootstrapComplete" | "performance.nodeTiming.environment" | "performance.nodeTiming.idleTime" | "performance.nodeTiming.loopExit" | "performance.nodeTiming.loopStart" | "performance.nodeTiming.nodeStart" | "performance.nodeTiming.uvMetricsInfo" | "performance.nodeTiming.v8Start" | "performance.now" | "performance.onresourcetimingbufferfull" | "performance.setResourceTimingBufferSize" | "performance.timeOrigin" | "performance.timerify" | "performance.toJSON" | "process" | "process.allowedNodeEnvironmentFlags" | "process.availableMemory" | "process.arch" | "process.argv" | "process.argv0" | "process.channel" | "process.config" | "process.connected" | "process.debugPort" | "process.env" | "process.execArgv" | "process.execPath" | "process.exitCode" | "process.features.cached_builtins" | "process.features.debug" | "process.features.inspector" | "process.features.ipv6" | "process.features.require_module" | "process.features.tls" | "process.features.tls_alpn" | "process.features.tls_ocsp" | "process.features.tls_sni" | "process.features.typescript" | "process.features.uv" | "process.finalization.register" | "process.finalization.registerBeforeExit" | "process.finalization.unregister" | "process.getBuiltinModule" | "process.mainModule" | "process.noDeprecation" | "process.permission" | "process.pid" | "process.platform" | "process.ppid" | "process.release" | "process.report" | "process.report.excludeEnv" | "process.sourceMapsEnabled" | "process.stdin" | "process.stdin.isRaw" | "process.stdin.isTTY" | "process.stdin.setRawMode" | "process.stdout" | "process.stdout.clearLine" | "process.stdout.clearScreenDown" | "process.stdout.columns" | "process.stdout.cursorTo" | "process.stdout.getColorDepth" | "process.stdout.getWindowSize" | "process.stdout.hasColors" | "process.stdout.isTTY" | "process.stdout.moveCursor" | "process.stdout.rows" | "process.stderr" | "process.stderr.clearLine" | "process.stderr.clearScreenDown" | "process.stderr.columns" | "process.stderr.cursorTo" | "process.stderr.getColorDepth" | "process.stderr.getWindowSize" | "process.stderr.hasColors" | "process.stderr.isTTY" | "process.stderr.moveCursor" | "process.stderr.rows" | "process.throwDeprecation" | "process.title" | "process.traceDeprecation" | "process.version" | "process.versions" | "process.abort" | "process.chdir" | "process.constrainedMemory" | "process.cpuUsage" | "process.cwd" | "process.disconnect" | "process.dlopen" | "process.emitWarning" | "process.exit" | "process.getActiveResourcesInfo" | "process.getegid" | "process.geteuid" | "process.getgid" | "process.getgroups" | "process.getuid" | "process.hasUncaughtExceptionCaptureCallback" | "process.hrtime" | "process.hrtime.bigint" | "process.initgroups" | "process.kill" | "process.loadEnvFile" | "process.memoryUsage" | "process.rss" | "process.nextTick" | "process.resourceUsage" | "process.send" | "process.setegid" | "process.seteuid" | "process.setgid" | "process.setgroups" | "process.setuid" | "process.setSourceMapsEnabled" | "process.setUncaughtExceptionCaptureCallback" | "process.umask" | "process.uptime" | "ReadableStream" | "ReadableStream.from" | "ReadableStreamDefaultReader" | "ReadableStreamBYOBReader" | "ReadableStreamDefaultController" | "ReadableByteStreamController" | "ReadableStreamBYOBRequest" | "WritableStream" | "WritableStreamDefaultWriter" | "WritableStreamDefaultController" | "TransformStream" | "TransformStreamDefaultController" | "ByteLengthQueuingStrategy" | "CountQueuingStrategy" | "TextEncoderStream" | "TextDecoderStream" | "CompressionStream" | "DecompressionStream" | "setInterval" | "clearInterval" | "setTimeout" | "clearTimeout" | "setImmediate" | "clearImmediate" | "URL" | "URL.canParse" | "URL.createObjectURL" | "URL.revokeObjectURL" | "URLSearchParams" | "TextDecoder" | "TextEncoder" | "BroadcastChannel" | "MessageChannel" | "MessagePort" | "assert" | "assert.assert" | "assert.deepEqual" | "assert.deepStrictEqual" | "assert.doesNotMatch" | "assert.doesNotReject" | "assert.doesNotThrow" | "assert.equal" | "assert.fail" | "assert.ifError" | "assert.match" | "assert.notDeepEqual" | "assert.notDeepStrictEqual" | "assert.notEqual" | "assert.notStrictEqual" | "assert.ok" | "assert.rejects" | "assert.strictEqual" | "assert.throws" | "assert.CallTracker" | "assert.strict" | "assert.strict.assert" | "assert.strict.deepEqual" | "assert.strict.deepStrictEqual" | "assert.strict.doesNotMatch" | "assert.strict.doesNotReject" | "assert.strict.doesNotThrow" | "assert.strict.equal" | "assert.strict.fail" | "assert.strict.ifError" | "assert.strict.match" | "assert.strict.notDeepEqual" | "assert.strict.notDeepStrictEqual" | "assert.strict.notEqual" | "assert.strict.notStrictEqual" | "assert.strict.ok" | "assert.strict.rejects" | "assert.strict.strictEqual" | "assert.strict.throws" | "assert.strict.CallTracker" | "assert/strict" | "assert/strict.assert" | "assert/strict.deepEqual" | "assert/strict.deepStrictEqual" | "assert/strict.doesNotMatch" | "assert/strict.doesNotReject" | "assert/strict.doesNotThrow" | "assert/strict.equal" | "assert/strict.fail" | "assert/strict.ifError" | "assert/strict.match" | "assert/strict.notDeepEqual" | "assert/strict.notDeepStrictEqual" | "assert/strict.notEqual" | "assert/strict.notStrictEqual" | "assert/strict.ok" | "assert/strict.rejects" | "assert/strict.strictEqual" | "assert/strict.throws" | "assert/strict.CallTracker" | "async_hooks" | "async_hooks.createHook" | "async_hooks.executionAsyncResource" | "async_hooks.executionAsyncId" | "async_hooks.triggerAsyncId" | "async_hooks.AsyncLocalStorage" | "async_hooks.AsyncLocalStorage.bind" | "async_hooks.AsyncLocalStorage.snapshot" | "async_hooks.AsyncResource" | "async_hooks.AsyncResource.bind" | "buffer" | "buffer.constants" | "buffer.INSPECT_MAX_BYTES" | "buffer.kMaxLength" | "buffer.kStringMaxLength" | "buffer.atob" | "buffer.btoa" | "buffer.isAscii" | "buffer.isUtf8" | "buffer.resolveObjectURL" | "buffer.transcode" | "buffer.SlowBuffer" | "buffer.Blob" | "new buffer.Buffer()" | "buffer.Buffer" | "buffer.Buffer.alloc" | "buffer.Buffer.allocUnsafe" | "buffer.Buffer.allocUnsafeSlow" | "buffer.Buffer.byteLength" | "buffer.Buffer.compare" | "buffer.Buffer.concat" | "buffer.Buffer.copyBytesFrom" | "buffer.Buffer.from" | "buffer.Buffer.isBuffer" | "buffer.Buffer.isEncoding" | "buffer.File" | "child_process" | "child_process.exec" | "child_process.execFile" | "child_process.fork" | "child_process.spawn" | "child_process.execFileSync" | "child_process.execSync" | "child_process.spawnSync" | "child_process.ChildProcess" | "cluster" | "cluster.isMaster" | "cluster.isPrimary" | "cluster.isWorker" | "cluster.schedulingPolicy" | "cluster.settings" | "cluster.worker" | "cluster.workers" | "cluster.disconnect" | "cluster.fork" | "cluster.setupMaster" | "cluster.setupPrimary" | "cluster.Worker" | "crypto.constants" | "crypto.fips" | "crypto.webcrypto" | "crypto.webcrypto.subtle" | "crypto.webcrypto.subtle.decrypt" | "crypto.webcrypto.subtle.deriveBits" | "crypto.webcrypto.subtle.deriveKey" | "crypto.webcrypto.subtle.digest" | "crypto.webcrypto.subtle.encrypt" | "crypto.webcrypto.subtle.exportKey" | "crypto.webcrypto.subtle.generateKey" | "crypto.webcrypto.subtle.importKey" | "crypto.webcrypto.subtle.sign" | "crypto.webcrypto.subtle.unwrapKey" | "crypto.webcrypto.subtle.verify" | "crypto.webcrypto.subtle.wrapKey" | "crypto.webcrypto.getRandomValues" | "crypto.webcrypto.randomUUID" | "crypto.checkPrime" | "crypto.checkPrimeSync" | "crypto.createCipher" | "crypto.createCipheriv" | "crypto.createDecipher" | "crypto.createDecipheriv" | "crypto.createDiffieHellman" | "crypto.createDiffieHellmanGroup" | "crypto.createECDH" | "crypto.createHash" | "crypto.createHmac" | "crypto.createPrivateKey" | "crypto.createPublicKey" | "crypto.createSecretKey" | "crypto.createSign" | "crypto.createVerify" | "crypto.diffieHellman" | "crypto.generateKey" | "crypto.generateKeyPair" | "crypto.generateKeyPairSync" | "crypto.generateKeySync" | "crypto.generatePrime" | "crypto.generatePrimeSync" | "crypto.getCipherInfo" | "crypto.getCiphers" | "crypto.getCurves" | "crypto.getDiffieHellman" | "crypto.getFips" | "crypto.getHashes" | "crypto.hash" | "crypto.hkdf" | "crypto.hkdfSync" | "crypto.pbkdf2" | "crypto.pbkdf2Sync" | "crypto.privateDecrypt" | "crypto.privateEncrypt" | "crypto.publicDecrypt" | "crypto.publicEncrypt" | "crypto.randomBytes" | "crypto.randomFillSync" | "crypto.randomFill" | "crypto.randomInt" | "crypto.scrypt" | "crypto.scryptSync" | "crypto.secureHeapUsed" | "crypto.setEngine" | "crypto.setFips" | "crypto.sign" | "crypto.timingSafeEqual" | "crypto.verify" | "crypto.Certificate" | "crypto.Certificate.exportChallenge" | "crypto.Certificate.exportPublicKey" | "crypto.Certificate.verifySpkac" | "crypto.Cipher" | "crypto.Decipher" | "crypto.DiffieHellman" | "crypto.DiffieHellmanGroup" | "crypto.ECDH" | "crypto.ECDH.convertKey" | "crypto.Hash()" | "new crypto.Hash()" | "crypto.Hash" | "crypto.Hmac()" | "new crypto.Hmac()" | "crypto.Hmac" | "crypto.KeyObject" | "crypto.KeyObject.from" | "crypto.Sign" | "crypto.Verify" | "crypto.X509Certificate" | "dgram" | "dgram.createSocket" | "dgram.Socket" | "diagnostics_channel" | "diagnostics_channel.hasSubscribers" | "diagnostics_channel.channel" | "diagnostics_channel.subscribe" | "diagnostics_channel.unsubscribe" | "diagnostics_channel.tracingChannel" | "diagnostics_channel.Channel" | "diagnostics_channel.TracingChannel" | "dns" | "dns.Resolver" | "dns.getServers" | "dns.lookup" | "dns.lookupService" | "dns.resolve" | "dns.resolve4" | "dns.resolve6" | "dns.resolveAny" | "dns.resolveCname" | "dns.resolveCaa" | "dns.resolveMx" | "dns.resolveNaptr" | "dns.resolveNs" | "dns.resolvePtr" | "dns.resolveSoa" | "dns.resolveSrv" | "dns.resolveTxt" | "dns.reverse" | "dns.setDefaultResultOrder" | "dns.getDefaultResultOrder" | "dns.setServers" | "dns.promises" | "dns.promises.Resolver" | "dns.promises.cancel" | "dns.promises.getServers" | "dns.promises.lookup" | "dns.promises.lookupService" | "dns.promises.resolve" | "dns.promises.resolve4" | "dns.promises.resolve6" | "dns.promises.resolveAny" | "dns.promises.resolveCaa" | "dns.promises.resolveCname" | "dns.promises.resolveMx" | "dns.promises.resolveNaptr" | "dns.promises.resolveNs" | "dns.promises.resolvePtr" | "dns.promises.resolveSoa" | "dns.promises.resolveSrv" | "dns.promises.resolveTxt" | "dns.promises.reverse" | "dns.promises.setDefaultResultOrder" | "dns.promises.getDefaultResultOrder" | "dns.promises.setServers" | "dns/promises" | "dns/promises.Resolver" | "dns/promises.cancel" | "dns/promises.getServers" | "dns/promises.lookup" | "dns/promises.lookupService" | "dns/promises.resolve" | "dns/promises.resolve4" | "dns/promises.resolve6" | "dns/promises.resolveAny" | "dns/promises.resolveCaa" | "dns/promises.resolveCname" | "dns/promises.resolveMx" | "dns/promises.resolveNaptr" | "dns/promises.resolveNs" | "dns/promises.resolvePtr" | "dns/promises.resolveSoa" | "dns/promises.resolveSrv" | "dns/promises.resolveTxt" | "dns/promises.reverse" | "dns/promises.setDefaultResultOrder" | "dns/promises.getDefaultResultOrder" | "dns/promises.setServers" | "domain" | "domain.create" | "domain.Domain" | "events" | "events.Event" | "events.EventTarget" | "events.CustomEvent" | "events.NodeEventTarget" | "events.EventEmitter" | "events.EventEmitter.defaultMaxListeners" | "events.EventEmitter.errorMonitor" | "events.EventEmitter.captureRejections" | "events.EventEmitter.captureRejectionSymbol" | "events.EventEmitter.getEventListeners" | "events.EventEmitter.getMaxListeners" | "events.EventEmitter.once" | "events.EventEmitter.listenerCount" | "events.EventEmitter.on" | "events.EventEmitter.setMaxListeners" | "events.EventEmitter.addAbortListener" | "events.EventEmitterAsyncResource" | "events.EventEmitterAsyncResource.defaultMaxListeners" | "events.EventEmitterAsyncResource.errorMonitor" | "events.EventEmitterAsyncResource.captureRejections" | "events.EventEmitterAsyncResource.captureRejectionSymbol" | "events.EventEmitterAsyncResource.getEventListeners" | "events.EventEmitterAsyncResource.getMaxListeners" | "events.EventEmitterAsyncResource.once" | "events.EventEmitterAsyncResource.listenerCount" | "events.EventEmitterAsyncResource.on" | "events.EventEmitterAsyncResource.setMaxListeners" | "events.EventEmitterAsyncResource.addAbortListener" | "events.defaultMaxListeners" | "events.errorMonitor" | "events.captureRejections" | "events.captureRejectionSymbol" | "events.getEventListeners" | "events.getMaxListeners" | "events.once" | "events.listenerCount" | "events.on" | "events.setMaxListeners" | "events.addAbortListener" | "fs" | "fs.promises" | "fs.promises.FileHandle" | "fs.promises.access" | "fs.promises.appendFile" | "fs.promises.chmod" | "fs.promises.chown" | "fs.promises.constants" | "fs.promises.copyFile" | "fs.promises.cp" | "fs.promises.glob" | "fs.promises.lchmod" | "fs.promises.lchown" | "fs.promises.link" | "fs.promises.lstat" | "fs.promises.lutimes" | "fs.promises.mkdir" | "fs.promises.mkdtemp" | "fs.promises.open" | "fs.promises.opendir" | "fs.promises.readFile" | "fs.promises.readdir" | "fs.promises.readlink" | "fs.promises.realpath" | "fs.promises.rename" | "fs.promises.rm" | "fs.promises.rmdir" | "fs.promises.stat" | "fs.promises.statfs" | "fs.promises.symlink" | "fs.promises.truncate" | "fs.promises.unlink" | "fs.promises.utimes" | "fs.promises.watch" | "fs.promises.writeFile" | "fs.access" | "fs.appendFile" | "fs.chmod" | "fs.chown" | "fs.close" | "fs.copyFile" | "fs.cp" | "fs.createReadStream" | "fs.createWriteStream" | "fs.exists" | "fs.fchmod" | "fs.fchown" | "fs.fdatasync" | "fs.fstat" | "fs.fsync" | "fs.ftruncate" | "fs.futimes" | "fs.glob" | "fs.lchmod" | "fs.lchown" | "fs.link" | "fs.lstat" | "fs.lutimes" | "fs.mkdir" | "fs.mkdtemp" | "fs.native" | "fs.open" | "fs.openAsBlob" | "fs.opendir" | "fs.read" | "fs.readdir" | "fs.readFile" | "fs.readlink" | "fs.readv" | "fs.realpath" | "fs.realpath.native" | "fs.rename" | "fs.rm" | "fs.rmdir" | "fs.stat" | "fs.statfs" | "fs.symlink" | "fs.truncate" | "fs.unlink" | "fs.unwatchFile" | "fs.utimes" | "fs.watch" | "fs.watchFile" | "fs.write" | "fs.writeFile" | "fs.writev" | "fs.accessSync" | "fs.appendFileSync" | "fs.chmodSync" | "fs.chownSync" | "fs.closeSync" | "fs.copyFileSync" | "fs.cpSync" | "fs.existsSync" | "fs.fchmodSync" | "fs.fchownSync" | "fs.fdatasyncSync" | "fs.fstatSync" | "fs.fsyncSync" | "fs.ftruncateSync" | "fs.futimesSync" | "fs.globSync" | "fs.lchmodSync" | "fs.lchownSync" | "fs.linkSync" | "fs.lstatSync" | "fs.lutimesSync" | "fs.mkdirSync" | "fs.mkdtempSync" | "fs.opendirSync" | "fs.openSync" | "fs.readdirSync" | "fs.readFileSync" | "fs.readlinkSync" | "fs.readSync" | "fs.readvSync" | "fs.realpathSync" | "fs.realpathSync.native" | "fs.renameSync" | "fs.rmdirSync" | "fs.rmSync" | "fs.statfsSync" | "fs.statSync" | "fs.symlinkSync" | "fs.truncateSync" | "fs.unlinkSync" | "fs.utimesSync" | "fs.writeFileSync" | "fs.writeSync" | "fs.writevSync" | "fs.constants" | "fs.Dir" | "fs.Dirent" | "fs.FSWatcher" | "fs.StatWatcher" | "fs.ReadStream" | "fs.Stats()" | "new fs.Stats()" | "fs.Stats" | "fs.StatFs" | "fs.WriteStream" | "fs.common_objects" | "fs/promises" | "fs/promises.FileHandle" | "fs/promises.access" | "fs/promises.appendFile" | "fs/promises.chmod" | "fs/promises.chown" | "fs/promises.constants" | "fs/promises.copyFile" | "fs/promises.cp" | "fs/promises.glob" | "fs/promises.lchmod" | "fs/promises.lchown" | "fs/promises.link" | "fs/promises.lstat" | "fs/promises.lutimes" | "fs/promises.mkdir" | "fs/promises.mkdtemp" | "fs/promises.open" | "fs/promises.opendir" | "fs/promises.readFile" | "fs/promises.readdir" | "fs/promises.readlink" | "fs/promises.realpath" | "fs/promises.rename" | "fs/promises.rm" | "fs/promises.rmdir" | "fs/promises.stat" | "fs/promises.statfs" | "fs/promises.symlink" | "fs/promises.truncate" | "fs/promises.unlink" | "fs/promises.utimes" | "fs/promises.watch" | "fs/promises.writeFile" | "http2" | "http2.constants" | "http2.sensitiveHeaders" | "http2.createServer" | "http2.createSecureServer" | "http2.connect" | "http2.getDefaultSettings" | "http2.getPackedSettings" | "http2.getUnpackedSettings" | "http2.performServerHandshake" | "http2.Http2Session" | "http2.ServerHttp2Session" | "http2.ClientHttp2Session" | "http2.Http2Stream" | "http2.ClientHttp2Stream" | "http2.ServerHttp2Stream" | "http2.Http2Server" | "http2.Http2SecureServer" | "http2.Http2ServerRequest" | "http2.Http2ServerResponse" | "http" | "http.globalAgent" | "http.createServer" | "http.get" | "http.request" | "http.Agent" | "http.Server" | "inspector" | "inspector.Session" | "inspector.Network.loadingFailed" | "inspector.Network.loadingFinished" | "inspector.Network.requestWillBeSent" | "inspector.Network.responseReceived" | "inspector.console" | "inspector.close" | "inspector.open" | "inspector.url" | "inspector.waitForDebugger" | "inspector/promises" | "inspector/promises.Session" | "inspector/promises.Network.loadingFailed" | "inspector/promises.Network.loadingFinished" | "inspector/promises.Network.requestWillBeSent" | "inspector/promises.Network.responseReceived" | "inspector/promises.console" | "inspector/promises.close" | "inspector/promises.open" | "inspector/promises.url" | "inspector/promises.waitForDebugger" | "module.builtinModules" | "module.constants.compileCacheStatus" | "module.createRequire" | "module.createRequireFromPath" | "module.enableCompileCache" | "module.findPackageJSON" | "module.flushCompileCache" | "module.getCompileCacheDir" | "module.isBuiltin" | "module.register" | "module.stripTypeScriptTypes" | "module.syncBuiltinESMExports" | "module.findSourceMap" | "module.SourceMap" | "module.Module.builtinModules" | "module.Module.createRequire" | "module.Module.createRequireFromPath" | "module.Module.enableCompileCache" | "module.Module.findPackageJSON" | "module.Module.flushCompileCache" | "module.Module.getCompileCacheDir" | "module.Module.isBuiltin" | "module.Module.register" | "module.Module.stripTypeScriptTypes" | "module.Module.syncBuiltinESMExports" | "module.Module.findSourceMap" | "module.Module.SourceMap" | "net" | "net.connect" | "net.createConnection" | "net.createServer" | "net.getDefaultAutoSelectFamily" | "net.setDefaultAutoSelectFamily" | "net.getDefaultAutoSelectFamilyAttemptTimeout" | "net.setDefaultAutoSelectFamilyAttemptTimeout" | "net.isIP" | "net.isIPv4" | "net.isIPv6" | "net.BlockList" | "net.SocketAddress" | "net.Server" | "net.Socket" | "os" | "os.EOL" | "os.constants" | "os.constants.priority" | "os.devNull" | "os.availableParallelism" | "os.arch" | "os.cpus" | "os.endianness" | "os.freemem" | "os.getPriority" | "os.homedir" | "os.hostname" | "os.loadavg" | "os.machine" | "os.networkInterfaces" | "os.platform" | "os.release" | "os.setPriority" | "os.tmpdir" | "os.totalmem" | "os.type" | "os.uptime" | "os.userInfo" | "os.version" | "path" | "path.posix" | "path.posix.delimiter" | "path.posix.sep" | "path.posix.basename" | "path.posix.dirname" | "path.posix.extname" | "path.posix.format" | "path.posix.matchesGlob" | "path.posix.isAbsolute" | "path.posix.join" | "path.posix.normalize" | "path.posix.parse" | "path.posix.relative" | "path.posix.resolve" | "path.posix.toNamespacedPath" | "path.win32" | "path.win32.delimiter" | "path.win32.sep" | "path.win32.basename" | "path.win32.dirname" | "path.win32.extname" | "path.win32.format" | "path.win32.matchesGlob" | "path.win32.isAbsolute" | "path.win32.join" | "path.win32.normalize" | "path.win32.parse" | "path.win32.relative" | "path.win32.resolve" | "path.win32.toNamespacedPath" | "path.delimiter" | "path.sep" | "path.basename" | "path.dirname" | "path.extname" | "path.format" | "path.matchesGlob" | "path.isAbsolute" | "path.join" | "path.normalize" | "path.parse" | "path.relative" | "path.resolve" | "path.toNamespacedPath" | "path/posix" | "path/posix.delimiter" | "path/posix.sep" | "path/posix.basename" | "path/posix.dirname" | "path/posix.extname" | "path/posix.format" | "path/posix.matchesGlob" | "path/posix.isAbsolute" | "path/posix.join" | "path/posix.normalize" | "path/posix.parse" | "path/posix.relative" | "path/posix.resolve" | "path/posix.toNamespacedPath" | "path/win32" | "path/win32.delimiter" | "path/win32.sep" | "path/win32.basename" | "path/win32.dirname" | "path/win32.extname" | "path/win32.format" | "path/win32.matchesGlob" | "path/win32.isAbsolute" | "path/win32.join" | "path/win32.normalize" | "path/win32.parse" | "path/win32.relative" | "path/win32.resolve" | "path/win32.toNamespacedPath" | "perf_hooks" | "perf_hooks.performance" | "perf_hooks.performance.clearMarks" | "perf_hooks.performance.clearMeasures" | "perf_hooks.performance.clearResourceTimings" | "perf_hooks.performance.eventLoopUtilization" | "perf_hooks.performance.getEntries" | "perf_hooks.performance.getEntriesByName" | "perf_hooks.performance.getEntriesByType" | "perf_hooks.performance.mark" | "perf_hooks.performance.markResourceTiming" | "perf_hooks.performance.measure" | "perf_hooks.performance.nodeTiming" | "perf_hooks.performance.nodeTiming.bootstrapComplete" | "perf_hooks.performance.nodeTiming.environment" | "perf_hooks.performance.nodeTiming.idleTime" | "perf_hooks.performance.nodeTiming.loopExit" | "perf_hooks.performance.nodeTiming.loopStart" | "perf_hooks.performance.nodeTiming.nodeStart" | "perf_hooks.performance.nodeTiming.uvMetricsInfo" | "perf_hooks.performance.nodeTiming.v8Start" | "perf_hooks.performance.now" | "perf_hooks.performance.onresourcetimingbufferfull" | "perf_hooks.performance.setResourceTimingBufferSize" | "perf_hooks.performance.timeOrigin" | "perf_hooks.performance.timerify" | "perf_hooks.performance.toJSON" | "perf_hooks.createHistogram" | "perf_hooks.monitorEventLoopDelay" | "perf_hooks.PerformanceEntry" | "perf_hooks.PerformanceMark" | "perf_hooks.PerformanceMeasure" | "perf_hooks.PerformanceNodeEntry" | "perf_hooks.PerformanceNodeTiming" | "perf_hooks.PerformanceResourceTiming" | "perf_hooks.PerformanceObserver" | "perf_hooks.PerformanceObserverEntryList" | "perf_hooks.Histogram" | "perf_hooks.IntervalHistogram" | "perf_hooks.RecordableHistogram" | "punycode" | "punycode.ucs2" | "punycode.version" | "punycode.decode" | "punycode.encode" | "punycode.toASCII" | "punycode.toUnicode" | "querystring" | "querystring.decode" | "querystring.encode" | "querystring.escape" | "querystring.parse" | "querystring.stringify" | "querystring.unescape" | "readline" | "readline.promises" | "readline.promises.createInterface" | "readline.promises.Interface" | "readline.promises.Readline" | "readline.clearLine" | "readline.clearScreenDown" | "readline.createInterface" | "readline.cursorTo" | "readline.moveCursor" | "readline.Interface" | "readline.emitKeypressEvents" | "readline.InterfaceConstructor" | "readline/promises" | "readline/promises.createInterface" | "readline/promises.Interface" | "readline/promises.Readline" | "repl" | "repl.start" | "repl.writer" | "repl.REPLServer()" | "repl.REPLServer" | "repl.REPL_MODE_MAGIC" | "repl.REPL_MODE_SLOPPY" | "repl.REPL_MODE_STRICT" | "repl.Recoverable()" | "repl.Recoverable" | "repl.builtinModules" | "sea" | "sea.isSea" | "sea.getAsset" | "sea.getAssetAsBlob" | "sea.getRawAsset" | "sea.sea.isSea" | "sea.sea.getAsset" | "sea.sea.getAssetAsBlob" | "sea.sea.getRawAsset" | "stream" | "stream.promises" | "stream.promises.pipeline" | "stream.promises.finished" | "stream.finished" | "stream.pipeline" | "stream.compose" | "stream.duplexPair" | "stream.Readable" | "stream.Readable.from" | "stream.Readable.isDisturbed" | "stream.Readable.fromWeb" | "stream.Readable.toWeb" | "stream.Writable" | "stream.Writable.fromWeb" | "stream.Writable.toWeb" | "stream.Duplex" | "stream.Duplex.from" | "stream.Duplex.fromWeb" | "stream.Duplex.toWeb" | "stream.Transform" | "stream.isErrored" | "stream.isReadable" | "stream.addAbortSignal" | "stream.getDefaultHighWaterMark" | "stream.setDefaultHighWaterMark" | "stream/promises.pipeline" | "stream/promises.finished" | "stream/web" | "stream/web.ReadableStream" | "stream/web.ReadableStream.from" | "stream/web.ReadableStreamDefaultReader" | "stream/web.ReadableStreamBYOBReader" | "stream/web.ReadableStreamDefaultController" | "stream/web.ReadableByteStreamController" | "stream/web.ReadableStreamBYOBRequest" | "stream/web.WritableStream" | "stream/web.WritableStreamDefaultWriter" | "stream/web.WritableStreamDefaultController" | "stream/web.TransformStream" | "stream/web.TransformStreamDefaultController" | "stream/web.ByteLengthQueuingStrategy" | "stream/web.CountQueuingStrategy" | "stream/web.TextEncoderStream" | "stream/web.TextDecoderStream" | "stream/web.CompressionStream" | "stream/web.DecompressionStream" | "stream/consumers" | "stream/consumers.arrayBuffer" | "stream/consumers.blob" | "stream/consumers.buffer" | "stream/consumers.json" | "stream/consumers.text" | "string_decoder" | "string_decoder.StringDecoder" | "test" | "test.after" | "test.afterEach" | "test.before" | "test.beforeEach" | "test.describe" | "test.describe.only" | "test.describe.skip" | "test.describe.todo" | "test.it" | "test.it.only" | "test.it.skip" | "test.it.todo" | "test.mock" | "test.mock.fn" | "test.mock.getter" | "test.mock.method" | "test.mock.module" | "test.mock.reset" | "test.mock.restoreAll" | "test.mock.setter" | "test.mock.timers" | "test.mock.timers.enable" | "test.mock.timers.reset" | "test.mock.timers.tick" | "test.only" | "test.run" | "test.snapshot" | "test.snapshot.setDefaultSnapshotSerializers" | "test.snapshot.setResolveSnapshotPath" | "test.skip" | "test.suite" | "test.test" | "test.test.only" | "test.test.skip" | "test.test.todo" | "test.todo" | "timers" | "timers.Immediate" | "timers.Timeout" | "timers.setImmediate" | "timers.clearImmediate" | "timers.setInterval" | "timers.clearInterval" | "timers.setTimeout" | "timers.clearTimeout" | "timers.promises" | "timers.promises.setTimeout" | "timers.promises.setImmediate" | "timers.promises.setInterval" | "timers.promises.scheduler.wait" | "timers.promises.scheduler.yield" | "timers/promises" | "timers/promises.setTimeout" | "timers/promises.setImmediate" | "timers/promises.setInterval" | "timers/promises.scheduler.wait" | "timers/promises.scheduler.yield" | "tls" | "tls.rootCertificates" | "tls.DEFAULT_ECDH_CURVE" | "tls.DEFAULT_MAX_VERSION" | "tls.DEFAULT_MIN_VERSION" | "tls.DEFAULT_CIPHERS" | "tls.checkServerIdentity" | "tls.connect" | "tls.createSecureContext" | "tls.createSecurePair" | "tls.createServer" | "tls.getCiphers" | "tls.SecureContext" | "tls.CryptoStream" | "tls.SecurePair" | "tls.Server" | "tls.TLSSocket" | "trace_events" | "trace_events.createTracing" | "trace_events.getEnabledCategories" | "tty" | "tty.isatty" | "tty.ReadStream" | "tty.WriteStream" | "url" | "url.domainToASCII" | "url.domainToUnicode" | "url.fileURLToPath" | "url.format" | "url.pathToFileURL" | "url.urlToHttpOptions" | "url.URL" | "url.URL.canParse" | "url.URL.createObjectURL" | "url.URL.revokeObjectURL" | "url.URLSearchParams" | "url.Url" | "util.promisify" | "util.promisify.custom" | "util.callbackify" | "util.debuglog" | "util.debug" | "util.deprecate" | "util.format" | "util.formatWithOptions" | "util.getCallSite" | "util.getCallSites" | "util.getSystemErrorName" | "util.getSystemErrorMap" | "util.getSystemErrorMessage" | "util.inherits" | "util.inspect" | "util.inspect.custom" | "util.inspect.defaultOptions" | "util.inspect.replDefaults" | "util.isDeepStrictEqual" | "util.parseArgs" | "util.parseEnv" | "util.stripVTControlCharacters" | "util.styleText" | "util.toUSVString" | "util.transferableAbortController" | "util.transferableAbortSignal" | "util.aborted" | "util.MIMEType" | "util.MIMEParams" | "util.TextDecoder" | "util.TextEncoder" | "util.types" | "util.types.isExternal" | "util.types.isDate" | "util.types.isArgumentsObject" | "util.types.isBigIntObject" | "util.types.isBooleanObject" | "util.types.isNumberObject" | "util.types.isStringObject" | "util.types.isSymbolObject" | "util.types.isNativeError" | "util.types.isRegExp" | "util.types.isAsyncFunction" | "util.types.isGeneratorFunction" | "util.types.isGeneratorObject" | "util.types.isPromise" | "util.types.isMap" | "util.types.isSet" | "util.types.isMapIterator" | "util.types.isSetIterator" | "util.types.isWeakMap" | "util.types.isWeakSet" | "util.types.isArrayBuffer" | "util.types.isDataView" | "util.types.isSharedArrayBuffer" | "util.types.isProxy" | "util.types.isModuleNamespaceObject" | "util.types.isAnyArrayBuffer" | "util.types.isBoxedPrimitive" | "util.types.isArrayBufferView" | "util.types.isTypedArray" | "util.types.isUint8Array" | "util.types.isUint8ClampedArray" | "util.types.isUint16Array" | "util.types.isUint32Array" | "util.types.isInt8Array" | "util.types.isInt16Array" | "util.types.isInt32Array" | "util.types.isFloat32Array" | "util.types.isFloat64Array" | "util.types.isBigInt64Array" | "util.types.isBigUint64Array" | "util.types.isKeyObject" | "util.types.isCryptoKey" | "util.types.isWebAssemblyCompiledModule" | "util._extend" | "util.isArray" | "util.isBoolean" | "util.isBuffer" | "util.isDate" | "util.isError" | "util.isFunction" | "util.isNull" | "util.isNullOrUndefined" | "util.isNumber" | "util.isObject" | "util.isPrimitive" | "util.isRegExp" | "util.isString" | "util.isSymbol" | "util.isUndefined" | "util.log" | "util" | "util/types" | "util/types.isExternal" | "util/types.isDate" | "util/types.isArgumentsObject" | "util/types.isBigIntObject" | "util/types.isBooleanObject" | "util/types.isNumberObject" | "util/types.isStringObject" | "util/types.isSymbolObject" | "util/types.isNativeError" | "util/types.isRegExp" | "util/types.isAsyncFunction" | "util/types.isGeneratorFunction" | "util/types.isGeneratorObject" | "util/types.isPromise" | "util/types.isMap" | "util/types.isSet" | "util/types.isMapIterator" | "util/types.isSetIterator" | "util/types.isWeakMap" | "util/types.isWeakSet" | "util/types.isArrayBuffer" | "util/types.isDataView" | "util/types.isSharedArrayBuffer" | "util/types.isProxy" | "util/types.isModuleNamespaceObject" | "util/types.isAnyArrayBuffer" | "util/types.isBoxedPrimitive" | "util/types.isArrayBufferView" | "util/types.isTypedArray" | "util/types.isUint8Array" | "util/types.isUint8ClampedArray" | "util/types.isUint16Array" | "util/types.isUint32Array" | "util/types.isInt8Array" | "util/types.isInt16Array" | "util/types.isInt32Array" | "util/types.isFloat32Array" | "util/types.isFloat64Array" | "util/types.isBigInt64Array" | "util/types.isBigUint64Array" | "util/types.isKeyObject" | "util/types.isCryptoKey" | "util/types.isWebAssemblyCompiledModule" | "v8" | "v8.serialize" | "v8.deserialize" | "v8.Serializer" | "v8.Deserializer" | "v8.DefaultSerializer" | "v8.DefaultDeserializer" | "v8.promiseHooks" | "v8.promiseHooks.onInit" | "v8.promiseHooks.onSettled" | "v8.promiseHooks.onBefore" | "v8.promiseHooks.onAfter" | "v8.promiseHooks.createHook" | "v8.startupSnapshot" | "v8.startupSnapshot.addSerializeCallback" | "v8.startupSnapshot.addDeserializeCallback" | "v8.startupSnapshot.setDeserializeMainFunction" | "v8.startupSnapshot.isBuildingSnapshot" | "v8.cachedDataVersionTag" | "v8.getHeapCodeStatistics" | "v8.getHeapSnapshot" | "v8.getHeapSpaceStatistics" | "v8.getHeapStatistics" | "v8.queryObjects" | "v8.setFlagsFromString" | "v8.stopCoverage" | "v8.takeCoverage" | "v8.writeHeapSnapshot" | "v8.setHeapSnapshotNearHeapLimit" | "v8.GCProfiler" | "vm.constants" | "vm.compileFunction" | "vm.createContext" | "vm.isContext" | "vm.measureMemory" | "vm.runInContext" | "vm.runInNewContext" | "vm.runInThisContext" | "vm.Script" | "vm.Module" | "vm.SourceTextModule" | "vm.SyntheticModule" | "vm" | "wasi.WASI" | "wasi" | "worker_threads" | "worker_threads.isMainThread" | "worker_threads.parentPort" | "worker_threads.resourceLimits" | "worker_threads.SHARE_ENV" | "worker_threads.threadId" | "worker_threads.workerData" | "worker_threads.getEnvironmentData" | "worker_threads.markAsUncloneable" | "worker_threads.markAsUntransferable" | "worker_threads.isMarkedAsUntransferable" | "worker_threads.moveMessagePortToContext" | "worker_threads.postMessageToThread" | "worker_threads.receiveMessageOnPort" | "worker_threads.setEnvironmentData" | "worker_threads.BroadcastChannel" | "worker_threads.MessageChannel" | "worker_threads.MessagePort" | "worker_threads.Worker" | "zlib.constants" | "zlib.crc32" | "zlib.createBrotliCompress" | "zlib.createBrotliDecompress" | "zlib.createDeflate" | "zlib.createDeflateRaw" | "zlib.createGunzip" | "zlib.createGzip" | "zlib.createInflate" | "zlib.createInflateRaw" | "zlib.createUnzip" | "zlib.brotliCompress" | "zlib.brotliCompressSync" | "zlib.brotliDecompress" | "zlib.brotliDecompressSync" | "zlib.deflate" | "zlib.deflateSync" | "zlib.deflateRaw" | "zlib.deflateRawSync" | "zlib.gunzip" | "zlib.gunzipSync" | "zlib.gzip" | "zlib.gzipSync" | "zlib.inflate" | "zlib.inflateSync" | "zlib.inflateRaw" | "zlib.inflateRawSync" | "zlib.unzip" | "zlib.unzipSync" | "zlib.BrotliCompress()" | "zlib.BrotliCompress" | "zlib.BrotliDecompress()" | "zlib.BrotliDecompress" | "zlib.Deflate()" | "zlib.Deflate" | "zlib.DeflateRaw()" | "zlib.DeflateRaw" | "zlib.Gunzip()" | "zlib.Gunzip" | "zlib.Gzip()" | "zlib.Gzip" | "zlib.Inflate()" | "zlib.Inflate" | "zlib.InflateRaw()" | "zlib.InflateRaw" | "zlib.Unzip()" | "zlib.Unzip" | "zlib")[];
	}
];
type NodePreferGlobalBuffer = [
] | [
	("always" | "never")
];
type NodePreferGlobalConsole = [
] | [
	("always" | "never")
];
type NodePreferGlobalProcess = [
] | [
	("always" | "never")
];
type NodePreferGlobalTextDecoder = [
] | [
	("always" | "never")
];
type NodePreferGlobalTextEncoder = [
] | [
	("always" | "never")
];
type NodePreferGlobalUrl = [
] | [
	("always" | "never")
];
type NodePreferGlobalUrlSearchParams = [
] | [
	("always" | "never")
];
type NodePreferNodeProtocol = [
] | [
	{
		version?: string;
	}
];
type NodeShebang = [
] | [
	{
		convertPath?: ({
			[k: string]: [
				string,
				string
			];
		} | [
			{
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			},
			...({
				include: [
					string,
					...(string)[]
				];
				exclude?: string[];
				replace: [
					string,
					string
				];
			})[]
		]);
		ignoreUnpublished?: boolean;
		additionalExecutables?: string[];
		executableMap?: {
			[k: string]: string;
		};
	}
];
type PromiseAlwaysReturn = [
] | [
	{
		ignoreLastCallback?: boolean;
		ignoreAssignmentVariable?: string[];
	}
];
type PromiseCatchOrReturn = [
] | [
	{
		allowFinally?: boolean;
		allowThen?: boolean;
		allowThenStrict?: boolean;
		terminationMethod?: (string | string[]);
	}
];
type PromiseNoCallbackInPromise = [
] | [
	{
		exceptions?: string[];
		timeoutsErr?: boolean;
	}
];
type PromiseNoReturnWrap = [
] | [
	{
		allowReject?: boolean;
	}
];
type PromiseParamNames = [
] | [
	{
		resolvePattern?: string;
		rejectPattern?: string;
	}
];
type PromisePreferAwaitToThen = [
] | [
	{
		strict?: boolean;
		[k: string]: unknown | undefined;
	}
];
type PromiseSpecOnly = [
] | [
	{
		allowedMethods?: string[];
	}
];
type PromiseValidParams = [
] | [
	{
		exclude?: string[];
	}
];
type ReactDomNoUnknownProperty = [
] | [
	{
		ignore?: string[];
		requireDataLowercase?: boolean;
	}
];
type ReactHooksExhaustiveDeps = [
] | [
	{
		additionalHooks?: string;
		enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
	}
];
type ReactNamingConventionComponentName = [
] | [
	(("PascalCase" | "CONSTANT_CASE") | {
		allowAllCaps?: boolean;
		allowLeadingUnderscore?: boolean;
		allowNamespace?: boolean;
		excepts?: string[];
		rule?: ("PascalCase" | "CONSTANT_CASE");
	})
];
type ReactNamingConventionFilename = [
] | [
	(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
		excepts?: string[];
		extensions?: string[];
		rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case");
	})
];
type ReactNamingConventionFilenameExtension = [
] | [
	(("always" | "as-needed") | {
		allow?: ("always" | "as-needed");
		extensions?: string[];
		ignoreFilesWithoutCode?: boolean;
	})
];
type ReactRefreshOnlyExportComponents = [
] | [
	{
		allowExportNames?: string[];
		allowConstantExport?: boolean;
		customHOCs?: string[];
		checkJS?: boolean;
	}
];
type ReactNoUselessFragment = [
] | [
	{
		allowExpressions?: boolean;
	}
];
type RegexpHexadecimalEscape = [
] | [
	("always" | "never")
];
type RegexpLetterCase = [
] | [
	{
		caseInsensitive?: ("lowercase" | "uppercase" | "ignore");
		unicodeEscape?: ("lowercase" | "uppercase" | "ignore");
		hexadecimalEscape?: ("lowercase" | "uppercase" | "ignore");
		controlEscape?: ("lowercase" | "uppercase" | "ignore");
	}
];
type RegexpMatchAny = [
] | [
	{
		allows?: [
			("[\\s\\S]" | "[\\S\\s]" | "[^]" | "dotAll"),
			...(("[\\s\\S]" | "[\\S\\s]" | "[^]" | "dotAll"))[]
		];
	}
];
type RegexpNoDupeDisjunctions = [
] | [
	{
		report?: ("all" | "trivial" | "interesting");
		reportExponentialBacktracking?: ("none" | "certain" | "potential");
		reportUnreachable?: ("certain" | "potential");
	}
];
type RegexpNoLazyEnds = [
] | [
	{
		ignorePartial?: boolean;
	}
];
type RegexpNoLegacyFeatures = [
] | [
	{
		staticProperties?: ("input" | "$_" | "lastMatch" | "$&" | "lastParen" | "$+" | "leftContext" | "$`" | "rightContext" | "$'" | "$1" | "$2" | "$3" | "$4" | "$5" | "$6" | "$7" | "$8" | "$9")[];
		prototypeMethods?: ("compile")[];
	}
];
type RegexpNoMisleadingCapturingGroup = [
] | [
	{
		reportBacktrackingEnds?: boolean;
	}
];
type RegexpNoMisleadingUnicodeCharacter = [
] | [
	{
		fixable?: boolean;
	}
];
type RegexpNoMissingGFlag = [
] | [
	{
		strictTypes?: boolean;
	}
];
type RegexpNoObscureRange = [
] | [
	{
		allowed?: (("all" | "alphanumeric") | [
			("all" | "alphanumeric")
		] | [
			("alphanumeric" | string),
			...(("alphanumeric" | string))[]
		]);
	}
];
type RegexpNoSuperLinearBacktracking = [
] | [
	{
		report?: ("certain" | "potential");
	}
];
type RegexpNoSuperLinearMove = [
] | [
	{
		report?: ("certain" | "potential");
		ignoreSticky?: boolean;
		ignorePartial?: boolean;
	}
];
type RegexpNoUnusedCapturingGroup = [
] | [
	{
		fixable?: boolean;
		allowNamed?: boolean;
	}
];
type RegexpNoUselessCharacterClass = [
] | [
	{
		ignores?: string[];
	}
];
type RegexpNoUselessFlag = [
] | [
	{
		ignore?: ("i" | "m" | "s" | "g" | "y")[];
		strictTypes?: boolean;
	}
];
type RegexpNoUselessNonCapturingGroup = [
] | [
	{
		allowTop?: (boolean | ("always" | "never" | "partial"));
	}
];
type RegexpOptimalQuantifierConcatenation = [
] | [
	{
		capturingGroups?: ("ignore" | "report");
	}
];
type RegexpOptimizeRegex = [
] | [
	{
		whitelist?: ("charSurrogatePairToSingleUnicode" | "charCodeToSimpleChar" | "charCaseInsensitiveLowerCaseTransform" | "charClassRemoveDuplicates" | "quantifiersMerge" | "quantifierRangeToSymbol" | "charClassClassrangesToChars" | "charClassToMeta" | "charClassToSingleChar" | "charEscapeUnescape" | "charClassClassrangesMerge" | "disjunctionRemoveDuplicates" | "groupSingleCharsToCharClass" | "removeEmptyGroup" | "ungroup" | "combineRepeatingPatterns")[];
		blacklist?: ("charSurrogatePairToSingleUnicode" | "charCodeToSimpleChar" | "charCaseInsensitiveLowerCaseTransform" | "charClassRemoveDuplicates" | "quantifiersMerge" | "quantifierRangeToSymbol" | "charClassClassrangesToChars" | "charClassToMeta" | "charClassToSingleChar" | "charEscapeUnescape" | "charClassClassrangesMerge" | "disjunctionRemoveDuplicates" | "groupSingleCharsToCharClass" | "removeEmptyGroup" | "ungroup" | "combineRepeatingPatterns")[];
	}
];
type RegexpPreferCharacterClass = [
] | [
	{
		minAlternatives?: number;
	}
];
type RegexpPreferD = [
] | [
	{
		insideCharacterClass?: ("ignore" | "range" | "d");
	}
];
type RegexpPreferLookaround = [
] | [
	{
		lookbehind?: boolean;
		strictTypes?: boolean;
	}
];
type RegexpPreferNamedReplacement = [
] | [
	{
		strictTypes?: boolean;
	}
];
type RegexpPreferRange = [
] | [
	{
		target?: (("all" | "alphanumeric") | [
			("all" | "alphanumeric")
		] | [
			("alphanumeric" | string),
			...(("alphanumeric" | string))[]
		]);
	}
];
type RegexpPreferResultArrayGroups = [
] | [
	{
		strictTypes?: boolean;
	}
];
type RegexpSortCharacterClassElements = [
] | [
	{
		order?: ("\\s" | "\\w" | "\\d" | "\\p" | "*" | "\\q" | "[]")[];
	}
];
type RegexpUnicodeEscape = [
] | [
	("unicodeCodePointEscape" | "unicodeEscape")
];
type RegexpUnicodeProperty = [
] | [
	{
		generalCategory?: ("always" | "never" | "ignore");
		key?: ("short" | "long" | "ignore");
		property?: (("short" | "long" | "ignore") | {
			binary?: ("short" | "long" | "ignore");
			generalCategory?: ("short" | "long" | "ignore");
			script?: ("short" | "long" | "ignore");
		});
	}
];
type SonarArgumentsOrder = [
] | [
	("sonar-runtime" | "metric")
];
type SonarArgumentsUsage = [
] | [
	("sonar-runtime" | "metric")
];
type SonarArrowFunctionConvention = [
] | [
	{
		requireParameterParentheses?: boolean;
		requireBodyBraces?: boolean;
	}
];
type SonarAwsIamAllPrivileges = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsIamAllResourcesAccessible = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsIamPrivilegeEscalation = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsIamPublicAccess = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsS3BucketGrantedAccess = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsS3BucketPublicAccess = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsS3BucketServerEncryption = [
] | [
	("sonar-runtime" | "metric")
];
type SonarAwsS3BucketVersioning = [
] | [
	("sonar-runtime" | "metric")
];
type SonarBlockScopedVar = [
] | [
	("sonar-runtime" | "metric")
];
type SonarCertificateTransparency = [
] | [
	("sonar-runtime" | "metric")
];
type SonarClassName = [
] | [
	{
		format?: string;
	}
];
type SonarCognitiveComplexity = [
] | [
	(number | string)
] | [
	(number | string),
	string
];
type SonarCommentRegex = [
] | [
	{
		regularExpression?: string;
		message?: string;
		flags?: string;
	}
];
type SonarConditionalIndentation = [
] | [
	("sonar-runtime" | "metric")
];
type SonarConfidentialInformationLogging = [
] | [
	("sonar-runtime" | "metric")
];
type SonarContentLength = [
] | [
	{
		fileUploadSizeLimit?: number;
		standardSizeLimit?: number;
	}
];
type SonarContentSecurityPolicy = [
] | [
	("sonar-runtime" | "metric")
];
type SonarCookieNoHttponly = [
] | [
	("sonar-runtime" | "metric")
];
type SonarCors = [
] | [
	("sonar-runtime" | "metric")
];
type SonarCsrf = [
] | [
	("sonar-runtime" | "metric")
];
type SonarCyclomaticComplexity = [
] | [
	{
		threshold?: number;
	}
] | [
	{
		threshold?: number;
	},
	("sonar-runtime" | "metric")
];
type SonarDestructuringAssignmentSyntax = [
] | [
	("sonar-runtime" | "metric")
];
type SonarDifferentTypesComparison = [
] | [
	("sonar-runtime" | "metric")
];
type SonarDisabledAutoEscaping = [
] | [
	("sonar-runtime" | "metric")
];
type SonarDnsPrefetching = [
] | [
	("sonar-runtime" | "metric")
];
type SonarDuplicatesInCharacterClass = [
] | [
	("sonar-runtime" | "metric")
];
type SonarEnforceTrailingComma = [
] | [
	(_SonarEnforceTrailingCommaValue | {
		arrays?: _SonarEnforceTrailingCommaValueWithIgnore;
		objects?: _SonarEnforceTrailingCommaValueWithIgnore;
		imports?: _SonarEnforceTrailingCommaValueWithIgnore;
		exports?: _SonarEnforceTrailingCommaValueWithIgnore;
		functions?: _SonarEnforceTrailingCommaValueWithIgnore;
	})
];
type _SonarEnforceTrailingCommaValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _SonarEnforceTrailingCommaValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline");
type SonarExpressionComplexity = [
] | [
	{
		max?: number;
	}
] | [
	{
		max?: number;
	},
	("sonar-runtime" | "metric")
];
type SonarFileHeader = [
] | [
	{
		headerFormat?: string;
		isRegularExpression?: boolean;
	}
];
type SonarFileUploads = [
] | [
	("sonar-runtime" | "metric")
];
type SonarForLoopIncrementSign = [
] | [
	("sonar-runtime" | "metric")
];
type SonarFrameAncestors = [
] | [
	("sonar-runtime" | "metric")
];
type SonarFunctionInsideLoop = [
] | [
	("sonar-runtime" | "metric")
];
type SonarFunctionName = [
] | [
	{
		format?: string;
	}
];
type SonarFunctionReturnType = [
] | [
	("sonar-runtime" | "metric")
];
type SonarInOperatorTypeError = [
] | [
	("sonar-runtime" | "metric")
];
type SonarInconsistentFunctionCall = [
] | [
	("sonar-runtime" | "metric")
];
type SonarInsecureCookie = [
] | [
	("sonar-runtime" | "metric")
];
type SonarInsecureJwtToken = [
] | [
	("sonar-runtime" | "metric")
];
type SonarInvertedAssertionArguments = [
] | [
	("sonar-runtime" | "metric")
];
type SonarMaxLines = [
] | [
	{
		maximum?: number;
	}
];
type SonarMaxLinesPerFunction = [
] | [
	{
		maximum?: number;
	}
];
type SonarMaxSwitchCases = [
] | [
	number
];
type SonarMaxUnionSize = [
] | [
	{
		threshold?: number;
	}
];
type SonarNestedControlFlow = [
] | [
	{
		maximumNestingLevel?: number;
	}
] | [
	{
		maximumNestingLevel?: number;
	},
	("sonar-runtime" | "metric")
];
type SonarNewOperatorMisuse = [
] | [
	{
		considerJSDoc?: boolean;
	}
] | [
	{
		considerJSDoc?: boolean;
	},
	unknown
];
type SonarNoCodeAfterDone = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoCollapsibleIf = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoDuplicateInComposite = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoDuplicateString = [
] | [
	{
		threshold?: number;
		ignoreStrings?: string;
	}
] | [
	{
		threshold?: number;
		ignoreStrings?: string;
	},
	("sonar-runtime" | "metric")
];
type SonarNoDuplicatedBranches = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoElementOverwrite = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoExtraArguments = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoGratuitousExpressions = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoHardcodedPasswords = [
] | [
	{
		passwordWords?: string[];
	}
];
type SonarNoHardcodedSecrets = [
] | [
	{
		secretWords?: string;
		randomnessSensibility?: number;
	}
];
type SonarNoIdenticalConditions = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoIdenticalExpressions = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoIdenticalFunctions = [
] | [
	number
] | [
	number,
	("sonar-runtime" | "metric")
];
type SonarNoImplicitDependencies = [
] | [
	{
		whitelist?: string[];
	}
];
type SonarNoInconsistentReturns = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoIncorrectStringConcat = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoIntrusivePermissions = [
] | [
	{
		permissions?: string[];
	}
];
type SonarNoInvariantReturns = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoIpForward = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoMimeSniff = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoMixedContent = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoNestedFunctions = [
] | [
	{
		threshold?: number;
	}
] | [
	{
		threshold?: number;
	},
	("sonar-runtime" | "metric")
];
type SonarNoRedundantOptional = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoRedundantParentheses = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoReferenceError = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoReferrerPolicy = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoSameArgumentAssert = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoSameLineConditional = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoSelectorParameter = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoTryPromise = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNoVariableUsageBeforeDeclaration = [
] | [
	("sonar-runtime" | "metric")
];
type SonarNonNumberInArithmeticExpression = [
] | [
	("sonar-runtime" | "metric")
];
type SonarRegexComplexity = [
] | [
	{
		threshold?: number;
	}
] | [
	{
		threshold?: number;
	},
	("sonar-runtime" | "metric")
];
type SonarShorthandPropertyGrouping = [
] | [
	("sonar-runtime" | "metric")
];
type SonarStatefulRegex = [
] | [
	("sonar-runtime" | "metric")
];
type SonarStrictTransportSecurity = [
] | [
	("sonar-runtime" | "metric")
];
type SonarStringsComparison = [
] | [
	("sonar-runtime" | "metric")
];
type SonarTooManyBreakOrContinueInLoop = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUnicodeAwareRegex = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUnusedNamedGroups = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUnverifiedCertificate = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUnverifiedHostname = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUpdatedConstVar = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUpdatedLoopCounter = [
] | [
	("sonar-runtime" | "metric")
];
type SonarUseTypeAlias = [
] | [
	("sonar-runtime" | "metric")
];
type SonarVariableName = [
] | [
	{
		format?: string;
	}
];
type SonarXmlParserXxe = [
] | [
	("sonar-runtime" | "metric")
];
type StyleArrayBracketNewline = [
] | [
	(("always" | "never" | "consistent") | {
		multiline?: boolean;
		minItems?: (number | null);
	})
];
type StyleArrayBracketSpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		singleValue?: boolean;
		objectsInArrays?: boolean;
		arraysInArrays?: boolean;
	}
];
type StyleArrayElementNewline = [
] | [
	(_StyleArrayElementNewlineBasicConfig | {
		ArrayExpression?: _StyleArrayElementNewlineBasicConfig;
		ArrayPattern?: _StyleArrayElementNewlineBasicConfig;
	})
];
type _StyleArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
	consistent?: boolean;
	multiline?: boolean;
	minItems?: (number | null);
});
type StyleArrowParens = [
] | [
	("always" | "as-needed")
] | [
	("always" | "as-needed"),
	{
		requireForBlockBody?: boolean;
	}
];
type StyleArrowSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
	}
];
type StyleBlockSpacing = [
] | [
	("always" | "never")
];
type StyleBraceStyle = [
] | [
	("1tbs" | "stroustrup" | "allman")
] | [
	("1tbs" | "stroustrup" | "allman"),
	{
		allowSingleLine?: boolean;
	}
];
type StyleCommaDangle = [
] | [
	(_StyleCommaDangleValue | {
		arrays?: _StyleCommaDangleValueWithIgnore;
		objects?: _StyleCommaDangleValueWithIgnore;
		imports?: _StyleCommaDangleValueWithIgnore;
		exports?: _StyleCommaDangleValueWithIgnore;
		functions?: _StyleCommaDangleValueWithIgnore;
		importAttributes?: _StyleCommaDangleValueWithIgnore;
		dynamicImports?: _StyleCommaDangleValueWithIgnore;
		enums?: _StyleCommaDangleValueWithIgnore;
		generics?: _StyleCommaDangleValueWithIgnore;
		tuples?: _StyleCommaDangleValueWithIgnore;
	})
];
type _StyleCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _StyleCommaDangleValueWithIgnore = ("always-multiline" | "always" | "never" | "only-multiline" | "ignore");
type StyleCommaSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
	}
];
type StyleCommaStyle = [
] | [
	("first" | "last")
] | [
	("first" | "last"),
	{
		exceptions?: {
			[k: string]: boolean | undefined;
		};
	}
];
type StyleComputedPropertySpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		enforceForClassMembers?: boolean;
	}
];
type StyleCurlyNewline = [
] | [
	(("always" | "never") | {
		IfStatementConsequent?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		IfStatementAlternative?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		DoWhileStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		ForInStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		ForOfStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		ForStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		WhileStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		SwitchStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		SwitchCase?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		TryStatementBlock?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		TryStatementHandler?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		TryStatementFinalizer?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		BlockStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		ArrowFunctionExpression?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		FunctionDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		FunctionExpression?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		Property?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		ClassBody?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		StaticBlock?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		WithStatement?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		TSEnumBody?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		TSInterfaceBody?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		TSModuleBlock?: (("always" | "never") | {
			multiline?: boolean;
			minElements?: number;
			consistent?: boolean;
		});
		multiline?: boolean;
		minElements?: number;
		consistent?: boolean;
	})
];
type StyleDotLocation = [
] | [
	("object" | "property")
];
type StyleEolLast = [
] | [
	("always" | "never" | "unix" | "windows")
];
type StyleFuncCallSpacing = ([
] | [
	"never"
] | [
] | [
	"always"
] | [
	"always",
	{
		allowNewlines?: boolean;
		optionalChain?: {
			before?: boolean;
			after?: boolean;
		};
	}
]);
type StyleFunctionCallArgumentNewline = [
] | [
	("always" | "never" | "consistent")
];
type StyleFunctionCallSpacing = ([
] | [
	"never"
] | [
] | [
	"always"
] | [
	"always",
	{
		allowNewlines?: boolean;
		optionalChain?: {
			before?: boolean;
			after?: boolean;
		};
	}
]);
type StyleFunctionParenNewline = [
] | [
	(("always" | "never" | "consistent" | "multiline" | "multiline-arguments") | {
		minItems?: number;
	})
];
type StyleGeneratorStarSpacing = [
] | [
	(("before" | "after" | "both" | "neither") | {
		before?: boolean;
		after?: boolean;
		named?: (("before" | "after" | "both" | "neither") | {
			before?: boolean;
			after?: boolean;
		});
		anonymous?: (("before" | "after" | "both" | "neither") | {
			before?: boolean;
			after?: boolean;
		});
		method?: (("before" | "after" | "both" | "neither") | {
			before?: boolean;
			after?: boolean;
		});
	})
];
type StyleImplicitArrowLinebreak = [
] | [
	("beside" | "below")
];
type StyleIndent = [
] | [
	("tab" | number)
] | [
	("tab" | number),
	{
		SwitchCase?: number;
		VariableDeclarator?: ((number | ("first" | "off")) | {
			var?: (number | ("first" | "off"));
			let?: (number | ("first" | "off"));
			const?: (number | ("first" | "off"));
		});
		outerIIFEBody?: (number | "off");
		MemberExpression?: (number | "off");
		FunctionDeclaration?: {
			parameters?: (number | ("first" | "off"));
			body?: number;
		};
		FunctionExpression?: {
			parameters?: (number | ("first" | "off"));
			body?: number;
		};
		StaticBlock?: {
			body?: number;
		};
		CallExpression?: {
			arguments?: (number | ("first" | "off"));
		};
		ArrayExpression?: (number | ("first" | "off"));
		ObjectExpression?: (number | ("first" | "off"));
		ImportDeclaration?: (number | ("first" | "off"));
		flatTernaryExpressions?: boolean;
		offsetTernaryExpressions?: boolean;
		offsetTernaryExpressionsOffsetCallExpressions?: boolean;
		ignoredNodes?: string[];
		ignoreComments?: boolean;
		tabLength?: number;
	}
];
type StyleIndentBinaryOps = [
] | [
	(number | "tab")
];
type StyleJsxClosingBracketLocation = [
] | [
	(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
		location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned");
	} | {
		nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false);
		selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false);
	})
];
type StyleJsxClosingTagLocation = [
] | [
	("tag-aligned" | "line-aligned")
];
type StyleJsxCurlyBracePresence = [
] | [
	({
		props?: ("always" | "never" | "ignore");
		children?: ("always" | "never" | "ignore");
		propElementValues?: ("always" | "never" | "ignore");
	} | ("always" | "never" | "ignore"))
];
type StyleJsxCurlyNewline = [
] | [
	(("consistent" | "never") | {
		singleline?: ("consistent" | "require" | "forbid");
		multiline?: ("consistent" | "require" | "forbid");
	})
];
type StyleJsxCurlySpacing = [
] | [
	((_StyleJsxCurlySpacing_BasicConfig & {
		attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
		children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
		[k: string]: unknown | undefined;
	}) | ("always" | "never"))
] | [
	((_StyleJsxCurlySpacing_BasicConfig & {
		attributes?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
		children?: _StyleJsxCurlySpacingBasicConfigOrBoolean;
		[k: string]: unknown | undefined;
	}) | ("always" | "never")),
	{
		allowMultiline?: boolean;
		spacing?: {
			objectLiterals?: ("always" | "never");
			[k: string]: unknown | undefined;
		};
	}
];
type _StyleJsxCurlySpacingBasicConfigOrBoolean = (_StyleJsxCurlySpacing_BasicConfig | boolean);
interface _StyleJsxCurlySpacing_BasicConfig {
	when?: ("always" | "never");
	allowMultiline?: boolean;
	spacing?: {
		objectLiterals?: ("always" | "never");
		[k: string]: unknown | undefined;
	};
	[k: string]: unknown | undefined;
}
type StyleJsxEqualsSpacing = [
] | [
	("always" | "never")
];
type StyleJsxFirstPropNewLine = [
] | [
	("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")
];
type StyleJsxFunctionCallNewline = [
] | [
	("always" | "multiline")
];
type StyleJsxIndent = [
] | [
	("tab" | number)
] | [
	("tab" | number),
	{
		checkAttributes?: boolean;
		indentLogicalExpressions?: boolean;
	}
];
type StyleJsxIndentProps = [
] | [
	(("tab" | "first") | number | {
		indentMode?: (("tab" | "first") | number);
		ignoreTernaryOperator?: boolean;
		[k: string]: unknown | undefined;
	})
];
type StyleJsxMaxPropsPerLine = [
] | [
	({
		maximum?: {
			single?: number;
			multi?: number;
			[k: string]: unknown | undefined;
		};
	} | {
		maximum?: number;
		when?: ("always" | "multiline");
	})
];
type StyleJsxNewline = [
] | [
	{
		prevent?: boolean;
		allowMultilines?: boolean;
	}
];
type StyleJsxOneExpressionPerLine = [
] | [
	{
		allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx");
	}
];
type StyleJsxPascalCase = [
] | [
	{
		allowAllCaps?: boolean;
		allowLeadingUnderscore?: boolean;
		allowNamespace?: boolean;
		ignore?: string[];
	}
];
type StyleJsxQuotes = [
] | [
	("prefer-single" | "prefer-double")
];
type StyleJsxSelfClosingComp = [
] | [
	{
		component?: boolean;
		html?: boolean;
	}
];
type StyleJsxSortProps = [
] | [
	{
		callbacksLast?: boolean;
		shorthandFirst?: boolean;
		shorthandLast?: boolean;
		multiline?: ("ignore" | "first" | "last");
		ignoreCase?: boolean;
		noSortAlphabetically?: boolean;
		reservedFirst?: (unknown[] | boolean);
		locale?: string;
	}
];
type StyleJsxTagSpacing = [
] | [
	{
		closingSlash?: ("always" | "never" | "allow");
		beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow");
		afterOpening?: ("always" | "allow-multiline" | "never" | "allow");
		beforeClosing?: ("always" | "proportional-always" | "never" | "allow");
	}
];
type StyleJsxWrapMultilines = [
] | [
	{
		declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
		propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"));
	}
];
type StyleKeySpacing = [
] | [
	({
		align?: (("colon" | "value") | {
			mode?: ("strict" | "minimum");
			on?: ("colon" | "value");
			beforeColon?: boolean;
			afterColon?: boolean;
		});
		mode?: ("strict" | "minimum");
		beforeColon?: boolean;
		afterColon?: boolean;
		ignoredNodes?: ("ObjectExpression" | "ObjectPattern" | "ImportDeclaration" | "ExportNamedDeclaration" | "ExportAllDeclaration" | "TSTypeLiteral" | "TSInterfaceBody" | "ClassBody")[];
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			align?: (("colon" | "value") | {
				mode?: ("strict" | "minimum");
				on?: ("colon" | "value");
				beforeColon?: boolean;
				afterColon?: boolean;
			});
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		align?: {
			mode?: ("strict" | "minimum");
			on?: ("colon" | "value");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	})
];
type StyleKeywordSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
		overrides?: {
			abstract?: {
				before?: boolean;
				after?: boolean;
			};
			as?: {
				before?: boolean;
				after?: boolean;
			};
			async?: {
				before?: boolean;
				after?: boolean;
			};
			await?: {
				before?: boolean;
				after?: boolean;
			};
			boolean?: {
				before?: boolean;
				after?: boolean;
			};
			break?: {
				before?: boolean;
				after?: boolean;
			};
			byte?: {
				before?: boolean;
				after?: boolean;
			};
			case?: {
				before?: boolean;
				after?: boolean;
			};
			catch?: {
				before?: boolean;
				after?: boolean;
			};
			char?: {
				before?: boolean;
				after?: boolean;
			};
			class?: {
				before?: boolean;
				after?: boolean;
			};
			const?: {
				before?: boolean;
				after?: boolean;
			};
			continue?: {
				before?: boolean;
				after?: boolean;
			};
			debugger?: {
				before?: boolean;
				after?: boolean;
			};
			default?: {
				before?: boolean;
				after?: boolean;
			};
			delete?: {
				before?: boolean;
				after?: boolean;
			};
			do?: {
				before?: boolean;
				after?: boolean;
			};
			double?: {
				before?: boolean;
				after?: boolean;
			};
			else?: {
				before?: boolean;
				after?: boolean;
			};
			enum?: {
				before?: boolean;
				after?: boolean;
			};
			export?: {
				before?: boolean;
				after?: boolean;
			};
			extends?: {
				before?: boolean;
				after?: boolean;
			};
			false?: {
				before?: boolean;
				after?: boolean;
			};
			final?: {
				before?: boolean;
				after?: boolean;
			};
			finally?: {
				before?: boolean;
				after?: boolean;
			};
			float?: {
				before?: boolean;
				after?: boolean;
			};
			for?: {
				before?: boolean;
				after?: boolean;
			};
			from?: {
				before?: boolean;
				after?: boolean;
			};
			function?: {
				before?: boolean;
				after?: boolean;
			};
			get?: {
				before?: boolean;
				after?: boolean;
			};
			goto?: {
				before?: boolean;
				after?: boolean;
			};
			if?: {
				before?: boolean;
				after?: boolean;
			};
			implements?: {
				before?: boolean;
				after?: boolean;
			};
			import?: {
				before?: boolean;
				after?: boolean;
			};
			in?: {
				before?: boolean;
				after?: boolean;
			};
			instanceof?: {
				before?: boolean;
				after?: boolean;
			};
			int?: {
				before?: boolean;
				after?: boolean;
			};
			interface?: {
				before?: boolean;
				after?: boolean;
			};
			let?: {
				before?: boolean;
				after?: boolean;
			};
			long?: {
				before?: boolean;
				after?: boolean;
			};
			native?: {
				before?: boolean;
				after?: boolean;
			};
			new?: {
				before?: boolean;
				after?: boolean;
			};
			null?: {
				before?: boolean;
				after?: boolean;
			};
			of?: {
				before?: boolean;
				after?: boolean;
			};
			package?: {
				before?: boolean;
				after?: boolean;
			};
			private?: {
				before?: boolean;
				after?: boolean;
			};
			protected?: {
				before?: boolean;
				after?: boolean;
			};
			public?: {
				before?: boolean;
				after?: boolean;
			};
			return?: {
				before?: boolean;
				after?: boolean;
			};
			satisfies?: {
				before?: boolean;
				after?: boolean;
			};
			set?: {
				before?: boolean;
				after?: boolean;
			};
			short?: {
				before?: boolean;
				after?: boolean;
			};
			static?: {
				before?: boolean;
				after?: boolean;
			};
			super?: {
				before?: boolean;
				after?: boolean;
			};
			switch?: {
				before?: boolean;
				after?: boolean;
			};
			synchronized?: {
				before?: boolean;
				after?: boolean;
			};
			this?: {
				before?: boolean;
				after?: boolean;
			};
			throw?: {
				before?: boolean;
				after?: boolean;
			};
			throws?: {
				before?: boolean;
				after?: boolean;
			};
			transient?: {
				before?: boolean;
				after?: boolean;
			};
			true?: {
				before?: boolean;
				after?: boolean;
			};
			try?: {
				before?: boolean;
				after?: boolean;
			};
			typeof?: {
				before?: boolean;
				after?: boolean;
			};
			var?: {
				before?: boolean;
				after?: boolean;
			};
			void?: {
				before?: boolean;
				after?: boolean;
			};
			volatile?: {
				before?: boolean;
				after?: boolean;
			};
			while?: {
				before?: boolean;
				after?: boolean;
			};
			with?: {
				before?: boolean;
				after?: boolean;
			};
			yield?: {
				before?: boolean;
				after?: boolean;
			};
			type?: {
				before?: boolean;
				after?: boolean;
			};
		};
	}
];
type StyleLineCommentPosition = [
] | [
	(("above" | "beside") | {
		position?: ("above" | "beside");
		ignorePattern?: string;
		applyDefaultPatterns?: boolean;
		applyDefaultIgnorePatterns?: boolean;
	})
];
type StyleLinebreakStyle = [
] | [
	("unix" | "windows")
];
type StyleLinesAroundComment = [
] | [
	{
		beforeBlockComment?: boolean;
		afterBlockComment?: boolean;
		beforeLineComment?: boolean;
		afterLineComment?: boolean;
		allowBlockStart?: boolean;
		allowBlockEnd?: boolean;
		allowClassStart?: boolean;
		allowClassEnd?: boolean;
		allowObjectStart?: boolean;
		allowObjectEnd?: boolean;
		allowArrayStart?: boolean;
		allowArrayEnd?: boolean;
		allowInterfaceStart?: boolean;
		allowInterfaceEnd?: boolean;
		allowTypeStart?: boolean;
		allowTypeEnd?: boolean;
		allowEnumStart?: boolean;
		allowEnumEnd?: boolean;
		allowModuleStart?: boolean;
		allowModuleEnd?: boolean;
		ignorePattern?: string;
		applyDefaultIgnorePatterns?: boolean;
		afterHashbangComment?: boolean;
	}
];
type StyleLinesBetweenClassMembers = [
] | [
	({
		enforce: [
			{
				blankLine: ("always" | "never");
				prev: ("method" | "field" | "*");
				next: ("method" | "field" | "*");
			},
			...({
				blankLine: ("always" | "never");
				prev: ("method" | "field" | "*");
				next: ("method" | "field" | "*");
			})[]
		];
	} | ("always" | "never"))
] | [
	({
		enforce: [
			{
				blankLine: ("always" | "never");
				prev: ("method" | "field" | "*");
				next: ("method" | "field" | "*");
			},
			...({
				blankLine: ("always" | "never");
				prev: ("method" | "field" | "*");
				next: ("method" | "field" | "*");
			})[]
		];
	} | ("always" | "never")),
	{
		exceptAfterSingleLine?: boolean;
		exceptAfterOverload?: boolean;
	}
];
type StyleMaxLen = [
] | [
	({
		code?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreStrings?: boolean;
		ignoreUrls?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreTrailingComments?: boolean;
	} | number)
] | [
	({
		code?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreStrings?: boolean;
		ignoreUrls?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreTrailingComments?: boolean;
	} | number),
	({
		code?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreStrings?: boolean;
		ignoreUrls?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreTrailingComments?: boolean;
	} | number)
] | [
	({
		code?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreStrings?: boolean;
		ignoreUrls?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreTrailingComments?: boolean;
	} | number),
	({
		code?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreStrings?: boolean;
		ignoreUrls?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreTrailingComments?: boolean;
	} | number),
	{
		code?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreStrings?: boolean;
		ignoreUrls?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreTrailingComments?: boolean;
	}
];
type StyleMaxStatementsPerLine = [
] | [
	{
		max?: number;
		ignoredNodes?: ("BreakStatement" | "ClassDeclaration" | "ContinueStatement" | "DebuggerStatement" | "DoWhileStatement" | "ExpressionStatement" | "ForInStatement" | "ForOfStatement" | "ForStatement" | "FunctionDeclaration" | "IfStatement" | "ImportDeclaration" | "LabeledStatement" | "ReturnStatement" | "SwitchStatement" | "ThrowStatement" | "TryStatement" | "VariableDeclaration" | "WhileStatement" | "WithStatement" | "ExportNamedDeclaration" | "ExportDefaultDeclaration" | "ExportAllDeclaration")[];
	}
];
type StyleMemberDelimiterStyle = [
] | [
	{
		multiline?: {
			delimiter?: ("none" | "semi" | "comma");
			requireLast?: boolean;
		};
		singleline?: {
			delimiter?: ("semi" | "comma");
			requireLast?: boolean;
		};
		overrides?: {
			interface?: _StyleMemberDelimiterStyle_DelimiterConfig;
			typeLiteral?: _StyleMemberDelimiterStyle_DelimiterConfig;
		};
		multilineDetection?: ("brackets" | "last-member");
	}
];
interface _StyleMemberDelimiterStyle_DelimiterConfig {
	multiline?: {
		delimiter?: ("none" | "semi" | "comma");
		requireLast?: boolean;
	};
	singleline?: {
		delimiter?: ("semi" | "comma");
		requireLast?: boolean;
	};
}
type StyleMultilineCommentStyle = ([
] | [
	("starred-block" | "bare-block")
] | [
] | [
	"separate-lines"
] | [
	"separate-lines",
	{
		checkJSDoc?: boolean;
	}
]);
type StyleMultilineTernary = [
] | [
	("always" | "always-multiline" | "never")
] | [
	("always" | "always-multiline" | "never"),
	{
		ignoreJSX?: boolean;
		[k: string]: unknown | undefined;
	}
];
type StyleNewParens = [
] | [
	("always" | "never")
];
type StyleNewlinePerChainedCall = [
] | [
	{
		ignoreChainWithDepth?: number;
	}
];
type StyleNoConfusingArrow = [
] | [
	{
		allowParens?: boolean;
		onlyOneSimpleParam?: boolean;
	}
];
type StyleNoExtraParens = ([
] | [
	"functions"
] | [
] | [
	"all"
] | [
	"all",
	{
		conditionalAssign?: boolean;
		ternaryOperandBinaryExpressions?: boolean;
		nestedBinaryExpressions?: boolean;
		returnAssign?: boolean;
		ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
		enforceForArrowConditionals?: boolean;
		enforceForSequenceExpressions?: boolean;
		enforceForNewInMemberExpressions?: boolean;
		enforceForFunctionPrototypeMethods?: boolean;
		allowParensAfterCommentPattern?: string;
		nestedConditionalExpressions?: boolean;
	}
]);
type StyleNoMixedOperators = [
] | [
	{
		groups?: [
			("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"),
			("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"),
			...(("+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "~" | "<<" | ">>" | ">>>" | "==" | "!=" | "===" | "!==" | ">" | ">=" | "<" | "<=" | "&&" | "||" | "in" | "instanceof" | "?:" | "??"))[]
		][];
		allowSamePrecedence?: boolean;
	}
];
type StyleNoMixedSpacesAndTabs = [
] | [
	("smart-tabs" | boolean)
];
type StyleNoMultiSpaces = [
] | [
	{
		exceptions?: {
			[k: string]: boolean;
		};
		ignoreEOLComments?: boolean;
		includeTabs?: boolean;
	}
];
type StyleNoMultipleEmptyLines = [
] | [
	{
		max: number;
		maxEOF?: number;
		maxBOF?: number;
	}
];
type StyleNoTabs = [
] | [
	{
		allowIndentationTabs?: boolean;
	}
];
type StyleNoTrailingSpaces = [
] | [
	{
		skipBlankLines?: boolean;
		ignoreComments?: boolean;
	}
];
type StyleNonblockStatementBodyPosition = [
] | [
	("beside" | "below" | "any")
] | [
	("beside" | "below" | "any"),
	{
		overrides?: {
			if?: ("beside" | "below" | "any");
			else?: ("beside" | "below" | "any");
			while?: ("beside" | "below" | "any");
			do?: ("beside" | "below" | "any");
			for?: ("beside" | "below" | "any");
		};
	}
];
type StyleObjectCurlyNewline = [
] | [
	((("always" | "never") | {
		multiline?: boolean;
		minProperties?: number;
		consistent?: boolean;
	}) | {
		ObjectExpression?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ObjectPattern?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ImportDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ExportDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		TSTypeLiteral?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		TSInterfaceBody?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
	})
];
type StyleObjectCurlySpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		arraysInObjects?: boolean;
		objectsInObjects?: boolean;
	}
];
type StyleObjectPropertyNewline = [
] | [
	{
		allowAllPropertiesOnSameLine?: boolean;
		allowMultiplePropertiesPerLine?: boolean;
	}
];
type StyleOneVarDeclarationPerLine = [
] | [
	("always" | "initializations")
];
type StyleOperatorLinebreak = [
] | [
	(("after" | "before" | "none") | null)
] | [
	(("after" | "before" | "none") | null),
	{
		overrides?: {
			[k: string]: ("after" | "before" | "none" | "ignore") | undefined;
		};
	}
];
type StylePaddedBlocks = [
] | [
	(("always" | "never" | "start" | "end") | {
		blocks?: ("always" | "never" | "start" | "end");
		switches?: ("always" | "never" | "start" | "end");
		classes?: ("always" | "never" | "start" | "end");
	})
] | [
	(("always" | "never" | "start" | "end") | {
		blocks?: ("always" | "never" | "start" | "end");
		switches?: ("always" | "never" | "start" | "end");
		classes?: ("always" | "never" | "start" | "end");
	}),
	{
		allowSingleLineBlocks?: boolean;
	}
];
type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
type _StylePaddingLineBetweenStatementsStatementType = (("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload") | [
	("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"),
	...(("*" | "block-like" | "exports" | "require" | "directive" | "expression" | "iife" | "multiline-block-like" | "multiline-expression" | "multiline-const" | "multiline-export" | "multiline-let" | "multiline-var" | "singleline-const" | "singleline-export" | "singleline-let" | "singleline-var" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "const" | "continue" | "debugger" | "default" | "do" | "export" | "for" | "if" | "import" | "let" | "return" | "switch" | "throw" | "try" | "var" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "type" | "function-overload"))[]
]);
type StylePaddingLineBetweenStatements = {
	blankLine: _StylePaddingLineBetweenStatementsPaddingType;
	prev: _StylePaddingLineBetweenStatementsStatementType;
	next: _StylePaddingLineBetweenStatementsStatementType;
}[];
type StyleQuoteProps = ([
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed")
] | [
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed")
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed"),
	{
		keywords?: boolean;
		unnecessary?: boolean;
		numbers?: boolean;
	}
]);
type StyleQuotes = [
] | [
	("single" | "double" | "backtick")
] | [
	("single" | "double" | "backtick"),
	("avoid-escape" | {
		avoidEscape?: boolean;
		allowTemplateLiterals?: (boolean | ("never" | "avoidEscape" | "always"));
		ignoreStringLiterals?: boolean;
	})
];
type StyleRestSpreadSpacing = [
] | [
	("always" | "never")
];
type StyleSemi = ([
] | [
	"never"
] | [
	"never",
	{
		beforeStatementContinuationChars?: ("always" | "any" | "never");
	}
] | [
] | [
	"always"
] | [
	"always",
	{
		omitLastInOneLineBlock?: boolean;
		omitLastInOneLineClassBody?: boolean;
	}
]);
type StyleSemiSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
	}
];
type StyleSemiStyle = [
] | [
	("last" | "first")
];
type StyleSpaceBeforeBlocks = [
] | [
	(("always" | "never") | {
		keywords?: ("always" | "never" | "off");
		functions?: ("always" | "never" | "off");
		classes?: ("always" | "never" | "off");
	})
];
type StyleSpaceBeforeFunctionParen = [
] | [
	(("always" | "never") | {
		anonymous?: ("always" | "never" | "ignore");
		named?: ("always" | "never" | "ignore");
		asyncArrow?: ("always" | "never" | "ignore");
	})
];
type StyleSpaceInParens = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		exceptions?: ("{}" | "[]" | "()" | "empty")[];
	}
];
type StyleSpaceInfixOps = [
] | [
	{
		int32Hint?: boolean;
		ignoreTypes?: boolean;
	}
];
type StyleSpaceUnaryOps = [
] | [
	{
		words?: boolean;
		nonwords?: boolean;
		overrides?: {
			[k: string]: boolean | undefined;
		};
	}
];
type StyleSpacedComment = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		exceptions?: string[];
		markers?: string[];
		line?: {
			exceptions?: string[];
			markers?: string[];
		};
		block?: {
			exceptions?: string[];
			markers?: string[];
			balanced?: boolean;
		};
	}
];
type StyleSwitchColonSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
	}
];
type StyleTemplateCurlySpacing = [
] | [
	("always" | "never")
];
type StyleTemplateTagSpacing = [
] | [
	("always" | "never")
];
type StyleTypeAnnotationSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
		overrides?: {
			colon?: _StyleTypeAnnotationSpacing_SpacingConfig;
			arrow?: _StyleTypeAnnotationSpacing_SpacingConfig;
			variable?: _StyleTypeAnnotationSpacing_SpacingConfig;
			parameter?: _StyleTypeAnnotationSpacing_SpacingConfig;
			property?: _StyleTypeAnnotationSpacing_SpacingConfig;
			returnType?: _StyleTypeAnnotationSpacing_SpacingConfig;
		};
	}
];
interface _StyleTypeAnnotationSpacing_SpacingConfig {
	before?: boolean;
	after?: boolean;
}
type StyleWrapIife = [
] | [
	("outside" | "inside" | "any")
] | [
	("outside" | "inside" | "any"),
	{
		functionPrototypeMethods?: boolean;
	}
];
type StyleYieldStarSpacing = [
] | [
	(("before" | "after" | "both" | "neither") | {
		before?: boolean;
		after?: boolean;
	})
];
type TailwindReadableMultiline = [
] | [
	{
		callees?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		classAttributes?: (string | [
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		])[];
		variables?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		tags?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		classesPerLine?: number;
		group?: ("emptyLine" | "never" | "newLine");
		indent?: ("tab" | number);
		lineBreakStyle?: ("unix" | "windows");
		preferSingleLine?: boolean;
		printWidth?: number;
	}
];
type TailwindReadableNoDuplicateClasses = [
] | [
	{
		callees?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		classAttributes?: (string | [
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		])[];
		variables?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		tags?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
	}
];
type TailwindReadableNoUnnecessaryWhitespace = [
] | [
	{
		allowMultiline?: boolean;
		callees?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		classAttributes?: (string | [
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		])[];
		variables?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		tags?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
	}
];
type TailwindReadableSortClasses = [
] | [
	{
		callees?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		classAttributes?: (string | [
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		])[];
		variables?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		tags?: ([
		] | [
			string
		] | [
			string,
			string
		] | [
		] | [
			string
		] | [
			string,
			({
				match?: "strings";
				[k: string]: unknown | undefined;
			} | {
				match?: "objectKeys";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			} | {
				match?: "objectValues";
				pathPattern?: string;
				[k: string]: unknown | undefined;
			})[]
		] | string)[];
		order?: ("asc" | "desc" | "official" | "improved");
		tailwindConfig?: string;
	}
];
type TestConsistentTestFilename = [
] | [
	{
		pattern?: string;
		allTestPattern?: string;
	}
];
type TestConsistentTestIt = [
] | [
	{
		fn?: ("test" | "it");
		withinDescribe?: ("test" | "it");
	}
];
type TestExpectExpect = [
] | [
	{
		assertFunctionNames?: string[];
		additionalTestBlockFunctions?: string[];
	}
];
type TestMaxExpects = [
] | [
	{
		max?: number;
	}
];
type TestMaxNestedDescribe = [
] | [
	{
		max?: number;
	}
];
type TestNoFocusedTests = [
] | [
	{
		fixable?: boolean;
	}
];
type TestNoHooks = [
] | [
	{
		allow?: unknown[];
	}
];
type TestNoLargeSnapshots = [
] | [
	{
		maxSize?: number;
		inlineMaxSize?: number;
		allowedSnapshots?: {
			[k: string]: unknown[] | undefined;
		};
	}
];
type TestNoOnlyTests = [
] | [
	{
		block?: string[];
		focus?: string[];
		functions?: string[];
		fix?: boolean;
	}
];
type TestNoRestrictedMatchers = [
] | [
	{
		[k: string]: (string | null) | undefined;
	}
];
type TestNoRestrictedViMethods = [
] | [
	{
		[k: string]: (string | null) | undefined;
	}
];
type TestNoStandaloneExpect = [
] | [
	{
		additionalTestBlockFunctions?: string[];
	}
];
type TestPreferExpectAssertions = [
] | [
	{
		onlyFunctionsWithAsyncKeyword?: boolean;
		onlyFunctionsWithExpectInLoop?: boolean;
		onlyFunctionsWithExpectInCallback?: boolean;
	}
];
type TestPreferLowercaseTitle = [
] | [
	{
		ignore?: ("describe" | "test" | "it")[];
		allowedPrefixes?: string[];
		ignoreTopLevelDescribe?: boolean;
		lowercaseFirstCharacterOnly?: boolean;
	}
];
type TestPreferSnapshotHint = [
] | [
	("always" | "multi")
];
type TestRequireHook = [
] | [
	{
		allowedFunctionCalls?: string[];
	}
];
type TestRequireMockTypeParameters = [
] | [
	{
		checkImportFunctions?: boolean;
	}
];
type TestRequireTopLevelDescribe = [
] | [
	{
		maxNumberOfTopLevelDescribes?: number;
	}
];
type TestValidExpect = [
] | [
	{
		alwaysAwait?: boolean;
		asyncMatchers?: string[];
		minArgs?: number;
		maxArgs?: number;
	}
];
type TestValidTitle = [
] | [
	{
		ignoreTypeOfDescribeName?: boolean;
		allowArguments?: boolean;
		disallowedWords?: string[];
		[k: string]: (string | [
			string
		] | [
			string,
			string
		] | {
			[k: string]: (string | [
				string
			] | [
				string,
				string
			]) | undefined;
		});
	}
];
type TomlArrayBracketNewline = [
] | [
	(("always" | "never" | "consistent") | {
		multiline?: boolean;
		minItems?: (number | null);
	})
];
type TomlArrayBracketSpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		singleValue?: boolean;
		objectsInArrays?: boolean;
		arraysInArrays?: boolean;
	}
];
type TomlArrayElementNewline = [
] | [
	(_TomlArrayElementNewlineBasicConfig | {
		ArrayExpression?: _TomlArrayElementNewlineBasicConfig;
		ArrayPattern?: _TomlArrayElementNewlineBasicConfig;
		TOMLArray?: _TomlArrayElementNewlineBasicConfig;
	})
];
type _TomlArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
	multiline?: boolean;
	minItems?: (number | null);
});
type TomlCommaStyle = [
] | [
	("first" | "last")
] | [
	("first" | "last"),
	{
		exceptions?: {
			[k: string]: boolean | undefined;
		};
	}
];
type TomlIndent = [
] | [
	("tab" | number)
] | [
	("tab" | number),
	{
		subTables?: number;
		keyValuePairs?: number;
	}
];
type TomlInlineTableCurlySpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		arraysInObjects?: boolean;
		objectsInObjects?: boolean;
	}
];
type TomlKeySpacing = [
] | [
	({
		align?: (("equal" | "value") | {
			on?: ("equal" | "value");
			mode?: ("strict" | "minimum");
			beforeEqual?: boolean;
			afterEqual?: boolean;
		});
		mode?: ("strict" | "minimum");
		beforeEqual?: boolean;
		afterEqual?: boolean;
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeEqual?: boolean;
			afterEqual?: boolean;
		};
		multiLine?: {
			align?: (("equal" | "value") | {
				on?: ("equal" | "value");
				mode?: ("strict" | "minimum");
				beforeEqual?: boolean;
				afterEqual?: boolean;
			});
			mode?: ("strict" | "minimum");
			beforeEqual?: boolean;
			afterEqual?: boolean;
		};
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeEqual?: boolean;
			afterEqual?: boolean;
		};
		multiLine?: {
			mode?: ("strict" | "minimum");
			beforeEqual?: boolean;
			afterEqual?: boolean;
		};
		align?: {
			on?: ("equal" | "value");
			mode?: ("strict" | "minimum");
			beforeEqual?: boolean;
			afterEqual?: boolean;
		};
	})
];
type TomlNoMixedTypeInArray = [
] | [
	{
		typeMap?: {
			string?: string;
			boolean?: string;
			integer?: string;
			float?: string;
			offsetDateTime?: string;
			localDateTime?: string;
			localDate?: string;
			localTime?: string;
			array?: string;
			inlineTable?: string;
		};
	}
];
type TomlNoNonDecimalInteger = [
] | [
	{
		allowHexadecimal?: boolean;
		allowOctal?: boolean;
		allowBinary?: boolean;
	}
];
type TomlPrecisionOfFractionalSeconds = [
] | [
	{
		max?: number;
	}
];
type TomlPrecisionOfInteger = [
] | [
	{
		maxBit?: number;
	}
];
type TomlQuotedKeys = [
] | [
	{
		prefer?: ("as-needed" | "always");
		numbers?: boolean;
	}
];
type TomlSpacedComment = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		exceptions?: string[];
		markers?: string[];
	}
];
type TomlTableBracketSpacing = [
] | [
	("always" | "never")
];
type TsArrayType = [
] | [
	{
		default?: ("array" | "generic" | "array-simple");
		readonly?: ("array" | "generic" | "array-simple");
	}
];
type TsBanTsComment = [
] | [
	{
		minimumDescriptionLength?: number;
		"ts-check"?: (boolean | "allow-with-description" | {
			descriptionFormat?: string;
		});
		"ts-expect-error"?: (boolean | "allow-with-description" | {
			descriptionFormat?: string;
		});
		"ts-ignore"?: (boolean | "allow-with-description" | {
			descriptionFormat?: string;
		});
		"ts-nocheck"?: (boolean | "allow-with-description" | {
			descriptionFormat?: string;
		});
	}
];
type TsClassLiteralPropertyStyle = [
] | [
	("fields" | "getters")
];
type TsClassMethodsUseThis = [
] | [
	{
		enforceForClassFields?: boolean;
		exceptMethods?: string[];
		ignoreClassesThatImplementAnInterface?: (boolean | "public-fields");
		ignoreOverrideMethods?: boolean;
	}
];
type TsConsistentGenericConstructors = [
] | [
	("type-annotation" | "constructor")
];
type TsConsistentIndexedObjectStyle = [
] | [
	("record" | "index-signature")
];
type TsConsistentReturn = [
] | [
	{
		treatUndefinedAsUnspecified?: boolean;
	}
];
type TsConsistentTypeAssertions = [
] | [
	({
		assertionStyle: "never";
	} | {
		arrayLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never");
		assertionStyle?: ("as" | "angle-bracket");
		objectLiteralTypeAssertions?: ("allow" | "allow-as-parameter" | "never");
	})
];
type TsConsistentTypeDefinitions = [
] | [
	("interface" | "type")
];
type TsConsistentTypeExports = [
] | [
	{
		fixMixedExportsWithInlineTypeSpecifier?: boolean;
	}
];
type TsConsistentTypeImports = [
] | [
	{
		disallowTypeAnnotations?: boolean;
		fixStyle?: ("separate-type-imports" | "inline-type-imports");
		prefer?: ("type-imports" | "no-type-imports");
	}
];
type TsDotNotation = [
] | [
	{
		allowIndexSignaturePropertyAccess?: boolean;
		allowKeywords?: boolean;
		allowPattern?: string;
		allowPrivateClassPropertyAccess?: boolean;
		allowProtectedClassPropertyAccess?: boolean;
	}
];
type TsExplicitFunctionReturnType = [
] | [
	{
		allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean;
		allowDirectConstAssertionInArrowFunctions?: boolean;
		allowedNames?: string[];
		allowExpressions?: boolean;
		allowFunctionsWithoutTypeParameters?: boolean;
		allowHigherOrderFunctions?: boolean;
		allowIIFEs?: boolean;
		allowTypedFunctionExpressions?: boolean;
	}
];
type TsExplicitMemberAccessibility = [
] | [
	{
		accessibility?: ("explicit" | "no-public" | "off");
		ignoredMethodNames?: string[];
		overrides?: {
			accessors?: ("explicit" | "no-public" | "off");
			constructors?: ("explicit" | "no-public" | "off");
			methods?: ("explicit" | "no-public" | "off");
			parameterProperties?: ("explicit" | "no-public" | "off");
			properties?: ("explicit" | "no-public" | "off");
		};
	}
];
type TsExplicitModuleBoundaryTypes = [
] | [
	{
		allowArgumentsExplicitlyTypedAsAny?: boolean;
		allowDirectConstAssertionInArrowFunctions?: boolean;
		allowedNames?: string[];
		allowHigherOrderFunctions?: boolean;
		allowOverloadFunctions?: boolean;
		allowTypedFunctionExpressions?: boolean;
	}
];
type TsInitDeclarations = ([
] | [
	"always"
] | [
] | [
	"never"
] | [
	"never",
	{
		ignoreForLoopInit?: boolean;
	}
]);
type TsMaxParams = [
] | [
	{
		countVoidThis?: boolean;
		max?: number;
		maximum?: number;
	}
];
type TsMemberOrdering = [
] | [
	{
		classes?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
			memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never");
			optionalityOrder?: ("optional-first" | "required-first");
			order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
		});
		classExpressions?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
			memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never");
			optionalityOrder?: ("optional-first" | "required-first");
			order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
		});
		default?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | {
			memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization") | ("readonly-signature" | "signature" | "readonly-field" | "public-readonly-field" | "public-decorated-readonly-field" | "decorated-readonly-field" | "static-readonly-field" | "public-static-readonly-field" | "instance-readonly-field" | "public-instance-readonly-field" | "abstract-readonly-field" | "public-abstract-readonly-field" | "protected-readonly-field" | "protected-decorated-readonly-field" | "protected-static-readonly-field" | "protected-instance-readonly-field" | "protected-abstract-readonly-field" | "private-readonly-field" | "private-decorated-readonly-field" | "private-static-readonly-field" | "private-instance-readonly-field" | "#private-readonly-field" | "#private-static-readonly-field" | "#private-instance-readonly-field" | "field" | "public-field" | "public-decorated-field" | "decorated-field" | "static-field" | "public-static-field" | "instance-field" | "public-instance-field" | "abstract-field" | "public-abstract-field" | "protected-field" | "protected-decorated-field" | "protected-static-field" | "protected-instance-field" | "protected-abstract-field" | "private-field" | "private-decorated-field" | "private-static-field" | "private-instance-field" | "#private-field" | "#private-static-field" | "#private-instance-field" | "method" | "public-method" | "public-decorated-method" | "decorated-method" | "static-method" | "public-static-method" | "instance-method" | "public-instance-method" | "abstract-method" | "public-abstract-method" | "protected-method" | "protected-decorated-method" | "protected-static-method" | "protected-instance-method" | "protected-abstract-method" | "private-method" | "private-decorated-method" | "private-static-method" | "private-instance-method" | "#private-method" | "#private-static-method" | "#private-instance-method" | "call-signature" | "constructor" | "public-constructor" | "protected-constructor" | "private-constructor" | "accessor" | "public-accessor" | "public-decorated-accessor" | "decorated-accessor" | "static-accessor" | "public-static-accessor" | "instance-accessor" | "public-instance-accessor" | "abstract-accessor" | "public-abstract-accessor" | "protected-accessor" | "protected-decorated-accessor" | "protected-static-accessor" | "protected-instance-accessor" | "protected-abstract-accessor" | "private-accessor" | "private-decorated-accessor" | "private-static-accessor" | "private-instance-accessor" | "#private-accessor" | "#private-static-accessor" | "#private-instance-accessor" | "get" | "public-get" | "public-decorated-get" | "decorated-get" | "static-get" | "public-static-get" | "instance-get" | "public-instance-get" | "abstract-get" | "public-abstract-get" | "protected-get" | "protected-decorated-get" | "protected-static-get" | "protected-instance-get" | "protected-abstract-get" | "private-get" | "private-decorated-get" | "private-static-get" | "private-instance-get" | "#private-get" | "#private-static-get" | "#private-instance-get" | "set" | "public-set" | "public-decorated-set" | "decorated-set" | "static-set" | "public-static-set" | "instance-set" | "public-instance-set" | "abstract-set" | "public-abstract-set" | "protected-set" | "protected-decorated-set" | "protected-static-set" | "protected-instance-set" | "protected-abstract-set" | "private-set" | "private-decorated-set" | "private-static-set" | "private-instance-set" | "#private-set" | "#private-static-set" | "#private-instance-set" | "static-initialization" | "static-static-initialization" | "public-static-static-initialization" | "instance-static-initialization" | "public-instance-static-initialization" | "abstract-static-initialization" | "public-abstract-static-initialization" | "protected-static-static-initialization" | "protected-instance-static-initialization" | "protected-abstract-static-initialization" | "private-static-static-initialization" | "private-instance-static-initialization" | "#private-static-static-initialization" | "#private-instance-static-initialization")[])[] | "never");
			optionalityOrder?: ("optional-first" | "required-first");
			order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
		});
		interfaces?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
			memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never");
			optionalityOrder?: ("optional-first" | "required-first");
			order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
		});
		typeLiterals?: ("never" | (("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | {
			memberTypes?: ((("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor") | ("readonly-signature" | "signature" | "readonly-field" | "field" | "method" | "constructor")[])[] | "never");
			optionalityOrder?: ("optional-first" | "required-first");
			order?: ("alphabetically" | "alphabetically-case-insensitive" | "as-written" | "natural" | "natural-case-insensitive");
		});
	}
];
type TsMethodSignatureStyle = [
] | [
	("property" | "method")
];
type _TsNamingConventionFormatOptionsConfig = (_TsNamingConventionPredefinedFormats[] | null);
type _TsNamingConventionPredefinedFormats = ("camelCase" | "strictCamelCase" | "PascalCase" | "StrictPascalCase" | "snake_case" | "UPPER_CASE");
type _TsNamingConventionUnderscoreOptions = ("forbid" | "allow" | "require" | "requireDouble" | "allowDouble" | "allowSingleOrDouble");
type _TsNamingConvention_PrefixSuffixConfig = string[];
type _TsNamingConventionTypeModifiers = ("boolean" | "string" | "number" | "function" | "array");
type TsNamingConvention = ({
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[];
	selector: ("default" | "variableLike" | "memberLike" | "typeLike" | "method" | "property" | "accessor" | "variable" | "function" | "parameter" | "parameterProperty" | "classicAccessor" | "enumMember" | "classMethod" | "objectLiteralMethod" | "typeMethod" | "classProperty" | "objectLiteralProperty" | "typeProperty" | "autoAccessor" | "class" | "interface" | "typeAlias" | "enum" | "typeParameter" | "import")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "default";
	modifiers?: ("const" | "readonly" | "static" | "public" | "protected" | "private" | "#private" | "abstract" | "destructured" | "global" | "exported" | "unused" | "requiresQuotes" | "override" | "async" | "default" | "namespace")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "variableLike";
	modifiers?: ("unused" | "async")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "variable";
	modifiers?: ("const" | "destructured" | "exported" | "global" | "unused" | "async")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "function";
	modifiers?: ("exported" | "global" | "unused" | "async")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "parameter";
	modifiers?: ("destructured" | "unused")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "memberLike";
	modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "classProperty";
	modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "objectLiteralProperty";
	modifiers?: ("public" | "requiresQuotes")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "typeProperty";
	modifiers?: ("public" | "readonly" | "requiresQuotes")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "parameterProperty";
	modifiers?: ("private" | "protected" | "public" | "readonly")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "property";
	modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "readonly" | "requiresQuotes" | "static" | "override" | "async")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "classMethod";
	modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "objectLiteralMethod";
	modifiers?: ("public" | "requiresQuotes" | "async")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "typeMethod";
	modifiers?: ("public" | "requiresQuotes")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "method";
	modifiers?: ("abstract" | "private" | "#private" | "protected" | "public" | "requiresQuotes" | "static" | "override" | "async")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "classicAccessor";
	modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "autoAccessor";
	modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "accessor";
	modifiers?: ("abstract" | "private" | "protected" | "public" | "requiresQuotes" | "static" | "override")[];
	types?: _TsNamingConventionTypeModifiers[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "enumMember";
	modifiers?: ("requiresQuotes")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "typeLike";
	modifiers?: ("abstract" | "exported" | "unused")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "class";
	modifiers?: ("abstract" | "exported" | "unused")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "interface";
	modifiers?: ("exported" | "unused")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "typeAlias";
	modifiers?: ("exported" | "unused")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "enum";
	modifiers?: ("exported" | "unused")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "typeParameter";
	modifiers?: ("unused")[];
} | {
	custom?: _TsNamingConvention_MatchRegexConfig;
	failureMessage?: string;
	format: _TsNamingConventionFormatOptionsConfig;
	leadingUnderscore?: _TsNamingConventionUnderscoreOptions;
	prefix?: _TsNamingConvention_PrefixSuffixConfig;
	suffix?: _TsNamingConvention_PrefixSuffixConfig;
	trailingUnderscore?: _TsNamingConventionUnderscoreOptions;
	filter?: (string | _TsNamingConvention_MatchRegexConfig);
	selector: "import";
	modifiers?: ("default" | "namespace")[];
})[];
interface _TsNamingConvention_MatchRegexConfig {
	match: boolean;
	regex: string;
}
type TsNoBaseToString = [
] | [
	{
		ignoredTypeNames?: string[];
	}
];
type TsNoConfusingVoidExpression = [
] | [
	{
		ignoreArrowShorthand?: boolean;
		ignoreVoidOperator?: boolean;
		ignoreVoidReturningFunctions?: boolean;
	}
];
type TsNoDeprecated = [
] | [
	{
		allow?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
	}
];
type TsNoDuplicateTypeConstituents = [
] | [
	{
		ignoreIntersections?: boolean;
		ignoreUnions?: boolean;
	}
];
type TsNoEmptyFunction = [
] | [
	{
		allow?: ("functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "private-constructors" | "protected-constructors" | "asyncFunctions" | "asyncMethods" | "decoratedFunctions" | "overrideMethods")[];
	}
];
type TsNoEmptyInterface = [
] | [
	{
		allowSingleExtends?: boolean;
	}
];
type TsNoEmptyObjectType = [
] | [
	{
		allowInterfaces?: ("always" | "never" | "with-single-extends");
		allowObjectTypes?: ("always" | "never");
		allowWithName?: string;
	}
];
type TsNoExplicitAny = [
] | [
	{
		fixToUnknown?: boolean;
		ignoreRestArgs?: boolean;
	}
];
type TsNoExtraneousClass = [
] | [
	{
		allowConstructorOnly?: boolean;
		allowEmpty?: boolean;
		allowStaticOnly?: boolean;
		allowWithDecorator?: boolean;
	}
];
type TsNoFloatingPromises = [
] | [
	{
		allowForKnownSafeCalls?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
		allowForKnownSafePromises?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
		checkThenables?: boolean;
		ignoreIIFE?: boolean;
		ignoreVoid?: boolean;
	}
];
type TsNoInferrableTypes = [
] | [
	{
		ignoreParameters?: boolean;
		ignoreProperties?: boolean;
	}
];
type TsNoInvalidThis = [
] | [
	{
		capIsConstructor?: boolean;
	}
];
type TsNoInvalidVoidType = [
] | [
	{
		allowAsThisParameter?: boolean;
		allowInGenericTypeArguments?: (boolean | [
			string,
			...(string)[]
		]);
	}
];
type TsNoMagicNumbers = [
] | [
	{
		detectObjects?: boolean;
		enforceConst?: boolean;
		ignore?: (number | string)[];
		ignoreArrayIndexes?: boolean;
		ignoreDefaultValues?: boolean;
		ignoreClassFieldInitialValues?: boolean;
		ignoreEnums?: boolean;
		ignoreNumericLiteralTypes?: boolean;
		ignoreReadonlyClassProperties?: boolean;
		ignoreTypeIndexes?: boolean;
	}
];
type TsNoMeaninglessVoidOperator = [
] | [
	{
		checkNever?: boolean;
	}
];
type TsNoMisusedPromises = [
] | [
	{
		checksConditionals?: boolean;
		checksSpreads?: boolean;
		checksVoidReturn?: (boolean | {
			arguments?: boolean;
			attributes?: boolean;
			inheritedMethods?: boolean;
			properties?: boolean;
			returns?: boolean;
			variables?: boolean;
		});
	}
];
type TsNoMisusedSpread = [
] | [
	{
		allow?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
	}
];
type TsNoNamespace = [
] | [
	{
		allowDeclarations?: boolean;
		allowDefinitionFiles?: boolean;
	}
];
type TsNoRedeclare = [
] | [
	{
		builtinGlobals?: boolean;
		ignoreDeclarationMerge?: boolean;
	}
];
type TsNoRequireImports = [
] | [
	{
		allow?: string[];
		allowAsImport?: boolean;
	}
];
type TsNoRestrictedImports = ((string | {
	name: string;
	message?: string;
	importNames?: string[];
	allowImportNames?: string[];
	allowTypeImports?: boolean;
})[] | [
] | [
	{
		paths?: (string | {
			name: string;
			message?: string;
			importNames?: string[];
			allowImportNames?: string[];
			allowTypeImports?: boolean;
		})[];
		patterns?: (string[] | {
			importNames?: [
				string,
				...(string)[]
			];
			allowImportNames?: [
				string,
				...(string)[]
			];
			group?: [
				string,
				...(string)[]
			];
			regex?: string;
			importNamePattern?: string;
			allowImportNamePattern?: string;
			message?: string;
			caseSensitive?: boolean;
			allowTypeImports?: boolean;
		}[]);
	}
]);
type TsNoRestrictedTypes = [
] | [
	{
		types?: {
			[k: string]: (true | string | {
				fixWith?: string;
				message?: string;
				suggest?: string[];
			}) | undefined;
		};
	}
];
type TsNoShadow = [
] | [
	{
		allow?: string[];
		builtinGlobals?: boolean;
		hoist?: ("all" | "functions" | "functions-and-types" | "never" | "types");
		ignoreFunctionTypeParameterNameValueShadow?: boolean;
		ignoreOnInitialization?: boolean;
		ignoreTypeValueShadow?: boolean;
	}
];
type TsNoThisAlias = [
] | [
	{
		allowDestructuring?: boolean;
		allowedNames?: string[];
	}
];
type TsNoTypeAlias = [
] | [
	{
		allowAliases?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
		allowCallbacks?: ("always" | "never");
		allowConditionalTypes?: ("always" | "never");
		allowConstructors?: ("always" | "never");
		allowGenerics?: ("always" | "never");
		allowLiterals?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
		allowMappedTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
		allowTupleTypes?: ("always" | "never" | "in-unions" | "in-intersections" | "in-unions-and-intersections");
	}
];
type TsNoUnnecessaryBooleanLiteralCompare = [
] | [
	{
		allowComparingNullableBooleansToFalse?: boolean;
		allowComparingNullableBooleansToTrue?: boolean;
		allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
	}
];
type TsNoUnnecessaryCondition = [
] | [
	{
		allowConstantLoopConditions?: (boolean | ("always" | "never" | "only-allowed-literals"));
		allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
		checkTypePredicates?: boolean;
	}
];
type TsNoUnnecessaryTypeAssertion = [
] | [
	{
		typesToIgnore?: string[];
	}
];
type TsNoUnusedExpressions = [
] | [
	{
		allowShortCircuit?: boolean;
		allowTernary?: boolean;
		allowTaggedTemplates?: boolean;
		enforceForJSX?: boolean;
	}
];
type TsNoUnusedVars = [
] | [
	(("all" | "local") | {
		args?: ("all" | "after-used" | "none");
		argsIgnorePattern?: string;
		caughtErrors?: ("all" | "none");
		caughtErrorsIgnorePattern?: string;
		destructuredArrayIgnorePattern?: string;
		ignoreClassWithStaticInitBlock?: boolean;
		ignoreRestSiblings?: boolean;
		reportUsedIgnorePattern?: boolean;
		vars?: ("all" | "local");
		varsIgnorePattern?: string;
	})
];
type TsNoUseBeforeDefine = [
] | [
	("nofunc" | {
		allowNamedExports?: boolean;
		classes?: boolean;
		enums?: boolean;
		functions?: boolean;
		ignoreTypeReferences?: boolean;
		typedefs?: boolean;
		variables?: boolean;
	})
];
type TsNoVarRequires = [
] | [
	{
		allow?: string[];
	}
];
type TsOnlyThrowError = [
] | [
	{
		allow?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
		allowThrowingAny?: boolean;
		allowThrowingUnknown?: boolean;
	}
];
type TsParameterProperties = [
] | [
	{
		allow?: ("readonly" | "private" | "protected" | "public" | "private readonly" | "protected readonly" | "public readonly")[];
		prefer?: ("class-property" | "parameter-property");
	}
];
type TsPreferDestructuring = [
] | [
	({
		AssignmentExpression?: {
			array?: boolean;
			object?: boolean;
		};
		VariableDeclarator?: {
			array?: boolean;
			object?: boolean;
		};
	} | {
		array?: boolean;
		object?: boolean;
	})
] | [
	({
		AssignmentExpression?: {
			array?: boolean;
			object?: boolean;
		};
		VariableDeclarator?: {
			array?: boolean;
			object?: boolean;
		};
	} | {
		array?: boolean;
		object?: boolean;
	}),
	{
		enforceForDeclarationWithTypeAnnotation?: boolean;
		enforceForRenamedProperties?: boolean;
		[k: string]: unknown | undefined;
	}
];
type TsPreferLiteralEnumMember = [
] | [
	{
		allowBitwiseExpressions?: boolean;
	}
];
type TsPreferNullishCoalescing = [
] | [
	{
		allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
		ignoreBooleanCoercion?: boolean;
		ignoreConditionalTests?: boolean;
		ignoreMixedLogicalExpressions?: boolean;
		ignorePrimitives?: ({
			bigint?: boolean;
			boolean?: boolean;
			number?: boolean;
			string?: boolean;
			[k: string]: unknown | undefined;
		} | true);
		ignoreTernaryTests?: boolean;
	}
];
type TsPreferOptionalChain = [
] | [
	{
		allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean;
		checkAny?: boolean;
		checkBigInt?: boolean;
		checkBoolean?: boolean;
		checkNumber?: boolean;
		checkString?: boolean;
		checkUnknown?: boolean;
		requireNullish?: boolean;
	}
];
type TsPreferPromiseRejectErrors = [
] | [
	{
		allowEmptyReject?: boolean;
		allowThrowingAny?: boolean;
		allowThrowingUnknown?: boolean;
	}
];
type TsPreferReadonly = [
] | [
	{
		onlyInlineLambdas?: boolean;
	}
];
type TsPreferReadonlyParameterTypes = [
] | [
	{
		allow?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
		checkParameterProperties?: boolean;
		ignoreInferredTypes?: boolean;
		treatMethodsAsReadonly?: boolean;
	}
];
type TsPreferStringStartsEndsWith = [
] | [
	{
		allowSingleElementEquality?: ("always" | "never");
	}
];
type TsPromiseFunctionAsync = [
] | [
	{
		allowAny?: boolean;
		allowedPromiseNames?: string[];
		checkArrowFunctions?: boolean;
		checkFunctionDeclarations?: boolean;
		checkFunctionExpressions?: boolean;
		checkMethodDeclarations?: boolean;
	}
];
type TsRequireArraySortCompare = [
] | [
	{
		ignoreStringArrays?: boolean;
	}
];
type TsRestrictPlusOperands = [
] | [
	{
		allowAny?: boolean;
		allowBoolean?: boolean;
		allowNullish?: boolean;
		allowNumberAndString?: boolean;
		allowRegExp?: boolean;
		skipCompoundAssignments?: boolean;
	}
];
type TsRestrictTemplateExpressions = [
] | [
	{
		allowAny?: boolean;
		allowArray?: boolean;
		allowBoolean?: boolean;
		allowNullish?: boolean;
		allowNumber?: boolean;
		allowRegExp?: boolean;
		allowNever?: boolean;
		allow?: (string | {
			from: "file";
			name: (string | [
				string,
				...(string)[]
			]);
			path?: string;
		} | {
			from: "lib";
			name: (string | [
				string,
				...(string)[]
			]);
		} | {
			from: "package";
			name: (string | [
				string,
				...(string)[]
			]);
			package: string;
		})[];
	}
];
type TsReturnAwait = [
] | [
	(("always" | "error-handling-correctness-only" | "in-try-catch" | "never") & string)
];
type TsSortTypeConstituents = [
] | [
	{
		caseSensitive?: boolean;
		checkIntersections?: boolean;
		checkUnions?: boolean;
		groupOrder?: ("conditional" | "function" | "import" | "intersection" | "keyword" | "nullish" | "literal" | "named" | "object" | "operator" | "tuple" | "union")[];
	}
];
type TsStrictBooleanExpressions = [
] | [
	{
		allowAny?: boolean;
		allowNullableBoolean?: boolean;
		allowNullableEnum?: boolean;
		allowNullableNumber?: boolean;
		allowNullableObject?: boolean;
		allowNullableString?: boolean;
		allowNumber?: boolean;
		allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean;
		allowString?: boolean;
	}
];
type TsSwitchExhaustivenessCheck = [
] | [
	{
		allowDefaultCaseForExhaustiveSwitch?: boolean;
		considerDefaultExhaustiveForUnions?: boolean;
		defaultCaseCommentPattern?: string;
		requireDefaultForNonUnion?: boolean;
	}
];
type TsTripleSlashReference = [
] | [
	{
		lib?: ("always" | "never");
		path?: ("always" | "never");
		types?: ("always" | "never" | "prefer-import");
	}
];
type TsTypedef = [
] | [
	{
		arrayDestructuring?: boolean;
		arrowParameter?: boolean;
		memberVariableDeclaration?: boolean;
		objectDestructuring?: boolean;
		parameter?: boolean;
		propertyDeclaration?: boolean;
		variableDeclaration?: boolean;
		variableDeclarationIgnoreFunction?: boolean;
	}
];
type TsUnboundMethod = [
] | [
	{
		ignoreStatic?: boolean;
	}
];
type TsUnifiedSignatures = [
] | [
	{
		ignoreDifferentlyNamedParameters?: boolean;
		ignoreOverloadsWithDifferentJSDoc?: boolean;
	}
];
type UnicornBetterRegex = [
] | [
	{
		sortCharacterClasses?: boolean;
	}
];
type UnicornCatchErrorName = [
] | [
	{
		name?: string;
		ignore?: unknown[];
	}
];
type UnicornConsistentFunctionScoping = [
] | [
	{
		checkArrowFunctions?: boolean;
	}
];
type UnicornExpiringTodoComments = [
] | [
	{
		terms?: string[];
		ignore?: unknown[];
		ignoreDatesOnPullRequests?: boolean;
		allowWarningComments?: boolean;
		date?: string;
	}
];
type UnicornExplicitLengthCheck = [
] | [
	{
		"non-zero"?: ("greater-than" | "not-equal");
	}
];
type UnicornFilenameCase = [
] | [
	({
		case?: ("camelCase" | "snakeCase" | "kebabCase" | "pascalCase");
		ignore?: unknown[];
		multipleFileExtensions?: boolean;
	} | {
		cases?: {
			camelCase?: boolean;
			snakeCase?: boolean;
			kebabCase?: boolean;
			pascalCase?: boolean;
		};
		ignore?: unknown[];
		multipleFileExtensions?: boolean;
	})
];
type UnicornImportStyle = [
] | [
	{
		checkImport?: boolean;
		checkDynamicImport?: boolean;
		checkExportFrom?: boolean;
		checkRequire?: boolean;
		extendDefaultStyles?: boolean;
		styles?: _UnicornImportStyle_ModuleStyles;
	}
];
type _UnicornImportStyleStyles = (false | _UnicornImportStyle_BooleanObject) | undefined;
interface _UnicornImportStyle_ModuleStyles {
	[k: string]: _UnicornImportStyleStyles | undefined;
}
interface _UnicornImportStyle_BooleanObject {
	[k: string]: boolean | undefined;
}
type UnicornNoArrayPushPush = [
] | [
	{
		ignore?: unknown[];
	}
];
type UnicornNoArrayReduce = [
] | [
	{
		allowSimpleOperations?: boolean;
	}
];
type UnicornNoInstanceofBuiltins = [
] | [
	{
		useErrorIsError?: boolean;
		strategy?: ("loose" | "strict");
		include?: string[];
		exclude?: string[];
	}
];
type UnicornNoKeywordPrefix = [
] | [
	{
		disallowedPrefixes?: [
		] | [
			string
		];
		checkProperties?: boolean;
		onlyCamelCase?: boolean;
	}
];
type UnicornNoNull = [
] | [
	{
		checkStrictEquality?: boolean;
	}
];
type UnicornNoTypeofUndefined = [
] | [
	{
		checkGlobalVariables?: boolean;
	}
];
type UnicornNoUnnecessaryPolyfills = [
] | [
	{
		targets: (string | unknown[] | {
			[k: string]: unknown | undefined;
		});
	}
];
type UnicornNoUselessUndefined = [
] | [
	{
		checkArguments?: boolean;
		checkArrowFunctionBody?: boolean;
	}
];
type UnicornNumericSeparatorsStyle = [
] | [
	{
		binary?: {
			onlyIfContainsSeparator?: boolean;
			minimumDigits?: number;
			groupLength?: number;
		};
		octal?: {
			onlyIfContainsSeparator?: boolean;
			minimumDigits?: number;
			groupLength?: number;
		};
		hexadecimal?: {
			onlyIfContainsSeparator?: boolean;
			minimumDigits?: number;
			groupLength?: number;
		};
		number?: {
			onlyIfContainsSeparator?: boolean;
			minimumDigits?: number;
			groupLength?: number;
		};
		onlyIfContainsSeparator?: boolean;
	}
];
type UnicornPreferAddEventListener = [
] | [
	{
		excludedPackages?: string[];
	}
];
type UnicornPreferArrayFind = [
] | [
	{
		checkFromLast?: boolean;
	}
];
type UnicornPreferArrayFlat = [
] | [
	{
		functions?: unknown[];
	}
];
type UnicornPreferAt = [
] | [
	{
		getLastElementFunctions?: unknown[];
		checkAllIndexAccess?: boolean;
	}
];
type UnicornPreferExportFrom = [
] | [
	{
		ignoreUsedVariables?: boolean;
	}
];
type UnicornPreferNumberProperties = [
] | [
	{
		checkInfinity?: boolean;
		checkNaN?: boolean;
	}
];
type UnicornPreferObjectFromEntries = [
] | [
	{
		functions?: unknown[];
	}
];
type UnicornPreferStructuredClone = [
] | [
	{
		functions?: unknown[];
	}
];
type UnicornPreferSwitch = [
] | [
	{
		minimumCases?: number;
		emptyDefaultCase?: ("no-default-comment" | "do-nothing-comment" | "no-default-case");
	}
];
type UnicornPreferTernary = [
] | [
	("always" | "only-single-line")
];
type UnicornPreventAbbreviations = [
] | [
	{
		checkProperties?: boolean;
		checkVariables?: boolean;
		checkDefaultAndNamespaceImports?: (boolean | string);
		checkShorthandImports?: (boolean | string);
		checkShorthandProperties?: boolean;
		checkFilenames?: boolean;
		extendDefaultReplacements?: boolean;
		replacements?: _UnicornPreventAbbreviations_Abbreviations;
		extendDefaultAllowList?: boolean;
		allowList?: _UnicornPreventAbbreviations_BooleanObject;
		ignore?: unknown[];
	}
];
type _UnicornPreventAbbreviationsReplacements = (false | _UnicornPreventAbbreviations_BooleanObject) | undefined;
interface _UnicornPreventAbbreviations_Abbreviations {
	[k: string]: _UnicornPreventAbbreviationsReplacements | undefined;
}
interface _UnicornPreventAbbreviations_BooleanObject {
	[k: string]: boolean | undefined;
}
type UnicornRelativeUrlStyle = [
] | [
	("never" | "always")
];
type UnicornStringContent = [
] | [
	{
		patterns?: {
			[k: string]: (string | {
				suggest: string;
				fix?: boolean;
				message?: string;
			}) | undefined;
		};
	}
];
type UnicornSwitchCaseBraces = [
] | [
	("always" | "avoid")
];
type UnicornTemplateIndent = [
] | [
	{
		indent?: (string | number);
		tags?: string[];
		functions?: string[];
		selectors?: string[];
		comments?: string[];
	}
];
type UnocssEnforceClassCompile = [
] | [
	{
		prefix?: string;
		enableFix?: boolean;
	}
];
type VueArrayBracketNewline = [
] | [
	(("always" | "never" | "consistent") | {
		multiline?: boolean;
		minItems?: (number | null);
	})
];
type VueArrayBracketSpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		singleValue?: boolean;
		objectsInArrays?: boolean;
		arraysInArrays?: boolean;
	}
];
type VueArrayElementNewline = [
] | [
	(_VueArrayElementNewlineBasicConfig | {
		ArrayExpression?: _VueArrayElementNewlineBasicConfig;
		ArrayPattern?: _VueArrayElementNewlineBasicConfig;
	})
];
type _VueArrayElementNewlineBasicConfig = (("always" | "never" | "consistent") | {
	multiline?: boolean;
	minItems?: (number | null);
});
type VueArrowSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
	}
];
type VueAttributeHyphenation = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		ignore?: (string & {
			[k: string]: unknown | undefined;
		} & {
			[k: string]: unknown | undefined;
		})[];
		ignoreTags?: string[];
	}
];
type VueAttributesOrder = [
] | [
	{
		order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
		alphabetical?: boolean;
	}
];
type VueBlockLang = [
] | [
	{
		[k: string]: {
			lang?: (string | string[]);
			allowNoLang?: boolean;
		};
	}
];
type VueBlockOrder = [
] | [
	{
		order?: (string | string[])[];
	}
];
type VueBlockSpacing = [
] | [
	("always" | "never")
];
type VueBlockTagNewline = [
] | [
	{
		singleline?: ("always" | "never" | "consistent" | "ignore");
		multiline?: ("always" | "never" | "consistent" | "ignore");
		maxEmptyLines?: number;
		blocks?: {
			[k: string]: {
				singleline?: ("always" | "never" | "consistent" | "ignore");
				multiline?: ("always" | "never" | "consistent" | "ignore");
				maxEmptyLines?: number;
			};
		};
	}
];
type VueBraceStyle = [
] | [
	("1tbs" | "stroustrup" | "allman")
] | [
	("1tbs" | "stroustrup" | "allman"),
	{
		allowSingleLine?: boolean;
	}
];
type VueCamelcase = [
] | [
	{
		ignoreDestructuring?: boolean;
		ignoreImports?: boolean;
		ignoreGlobals?: boolean;
		properties?: ("always" | "never");
		allow?: string[];
	}
];
type VueCommaDangle = [
] | [
	(_VueCommaDangleValue | {
		arrays?: _VueCommaDangleValueWithIgnore;
		objects?: _VueCommaDangleValueWithIgnore;
		imports?: _VueCommaDangleValueWithIgnore;
		exports?: _VueCommaDangleValueWithIgnore;
		functions?: _VueCommaDangleValueWithIgnore;
	})
];
type _VueCommaDangleValue = ("always-multiline" | "always" | "never" | "only-multiline");
type _VueCommaDangleValueWithIgnore = ("always-multiline" | "always" | "ignore" | "never" | "only-multiline");
type VueCommaSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
	}
];
type VueCommaStyle = [
] | [
	("first" | "last")
] | [
	("first" | "last"),
	{
		exceptions?: {
			[k: string]: boolean | undefined;
		};
	}
];
type VueCommentDirective = [
] | [
	{
		reportUnusedDisableDirectives?: boolean;
	}
];
type VueComponentApiStyle = [
] | [
	[
		("script-setup" | "composition" | "composition-vue2" | "options"),
		...(("script-setup" | "composition" | "composition-vue2" | "options"))[]
	]
];
type VueComponentDefinitionNameCasing = [
] | [
	("PascalCase" | "kebab-case")
];
type VueComponentNameInTemplateCasing = [
] | [
	("PascalCase" | "kebab-case")
] | [
	("PascalCase" | "kebab-case"),
	{
		globals?: string[];
		ignores?: string[];
		registeredComponentsOnly?: boolean;
	}
];
type VueComponentOptionsNameCasing = [
] | [
	("camelCase" | "kebab-case" | "PascalCase")
];
type VueCustomEventNameCasing = [
] | [
	("kebab-case" | "camelCase")
] | [
	("kebab-case" | "camelCase"),
	{
		ignores?: string[];
	}
];
type VueDefineEmitsDeclaration = [
] | [
	("type-based" | "type-literal" | "runtime")
];
type VueDefineMacrosOrder = [
] | [
	{
		order?: string[];
		defineExposeLast?: boolean;
	}
];
type VueDefinePropsDeclaration = [
] | [
	("type-based" | "runtime")
];
type VueDotLocation = [
] | [
	("object" | "property")
];
type VueDotNotation = [
] | [
	{
		allowKeywords?: boolean;
		allowPattern?: string;
	}
];
type VueEnforceStyleAttribute = [
] | [
	{
		allow?: [
			("plain" | "scoped" | "module"),
			...(("plain" | "scoped" | "module"))[]
		];
	}
];
type VueEqeqeq = ([
] | [
	"always"
] | [
	"always",
	{
		null?: ("always" | "never" | "ignore");
	}
] | [
] | [
	("smart" | "allow-null")
]);
type VueFirstAttributeLinebreak = [
] | [
	{
		multiline?: ("below" | "beside" | "ignore");
		singleline?: ("below" | "beside" | "ignore");
	}
];
type VueFuncCallSpacing = ([
] | [
	"never"
] | [
] | [
	"always"
] | [
	"always",
	{
		allowNewlines?: boolean;
	}
]);
type VueHtmlButtonHasType = [
] | [
	{
		button?: boolean;
		submit?: boolean;
		reset?: boolean;
	}
];
type VueHtmlClosingBracketNewline = [
] | [
	{
		singleline?: ("always" | "never");
		multiline?: ("always" | "never");
		selfClosingTag?: {
			singleline?: ("always" | "never");
			multiline?: ("always" | "never");
		};
	}
];
type VueHtmlClosingBracketSpacing = [
] | [
	{
		startTag?: ("always" | "never");
		endTag?: ("always" | "never");
		selfClosingTag?: ("always" | "never");
	}
];
type VueHtmlCommentContentNewline = [
] | [
	(("always" | "never") | {
		singleline?: ("always" | "never" | "ignore");
		multiline?: ("always" | "never" | "ignore");
	})
] | [
	(("always" | "never") | {
		singleline?: ("always" | "never" | "ignore");
		multiline?: ("always" | "never" | "ignore");
	}),
	{
		exceptions?: string[];
	}
];
type VueHtmlCommentContentSpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		exceptions?: string[];
	}
];
type VueHtmlCommentIndent = [
] | [
	(number | "tab")
];
type VueHtmlIndent = [
] | [
	(number | "tab")
] | [
	(number | "tab"),
	{
		attribute?: number;
		baseIndent?: number;
		closeBracket?: (number | {
			startTag?: number;
			endTag?: number;
			selfClosingTag?: number;
		});
		switchCase?: number;
		alignAttributesVertically?: boolean;
		ignores?: (string & {
			[k: string]: unknown | undefined;
		} & {
			[k: string]: unknown | undefined;
		})[];
	}
];
type VueHtmlQuotes = [
] | [
	("double" | "single")
] | [
	("double" | "single"),
	{
		avoidEscape?: boolean;
	}
];
type VueHtmlSelfClosing = [
] | [
	{
		html?: {
			normal?: _VueHtmlSelfClosingOptionValue;
			void?: _VueHtmlSelfClosingOptionValue;
			component?: _VueHtmlSelfClosingOptionValue;
		};
		svg?: _VueHtmlSelfClosingOptionValue;
		math?: _VueHtmlSelfClosingOptionValue;
	}
];
type _VueHtmlSelfClosingOptionValue = ("always" | "never" | "any");
type VueKeySpacing = [
] | [
	({
		align?: (("colon" | "value") | {
			mode?: ("strict" | "minimum");
			on?: ("colon" | "value");
			beforeColon?: boolean;
			afterColon?: boolean;
		});
		mode?: ("strict" | "minimum");
		beforeColon?: boolean;
		afterColon?: boolean;
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			align?: (("colon" | "value") | {
				mode?: ("strict" | "minimum");
				on?: ("colon" | "value");
				beforeColon?: boolean;
				afterColon?: boolean;
			});
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		align?: {
			mode?: ("strict" | "minimum");
			on?: ("colon" | "value");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	})
];
type VueKeywordSpacing = [
] | [
	{
		before?: boolean;
		after?: boolean;
		overrides?: {
			abstract?: {
				before?: boolean;
				after?: boolean;
			};
			as?: {
				before?: boolean;
				after?: boolean;
			};
			async?: {
				before?: boolean;
				after?: boolean;
			};
			await?: {
				before?: boolean;
				after?: boolean;
			};
			boolean?: {
				before?: boolean;
				after?: boolean;
			};
			break?: {
				before?: boolean;
				after?: boolean;
			};
			byte?: {
				before?: boolean;
				after?: boolean;
			};
			case?: {
				before?: boolean;
				after?: boolean;
			};
			catch?: {
				before?: boolean;
				after?: boolean;
			};
			char?: {
				before?: boolean;
				after?: boolean;
			};
			class?: {
				before?: boolean;
				after?: boolean;
			};
			const?: {
				before?: boolean;
				after?: boolean;
			};
			continue?: {
				before?: boolean;
				after?: boolean;
			};
			debugger?: {
				before?: boolean;
				after?: boolean;
			};
			default?: {
				before?: boolean;
				after?: boolean;
			};
			delete?: {
				before?: boolean;
				after?: boolean;
			};
			do?: {
				before?: boolean;
				after?: boolean;
			};
			double?: {
				before?: boolean;
				after?: boolean;
			};
			else?: {
				before?: boolean;
				after?: boolean;
			};
			enum?: {
				before?: boolean;
				after?: boolean;
			};
			export?: {
				before?: boolean;
				after?: boolean;
			};
			extends?: {
				before?: boolean;
				after?: boolean;
			};
			false?: {
				before?: boolean;
				after?: boolean;
			};
			final?: {
				before?: boolean;
				after?: boolean;
			};
			finally?: {
				before?: boolean;
				after?: boolean;
			};
			float?: {
				before?: boolean;
				after?: boolean;
			};
			for?: {
				before?: boolean;
				after?: boolean;
			};
			from?: {
				before?: boolean;
				after?: boolean;
			};
			function?: {
				before?: boolean;
				after?: boolean;
			};
			get?: {
				before?: boolean;
				after?: boolean;
			};
			goto?: {
				before?: boolean;
				after?: boolean;
			};
			if?: {
				before?: boolean;
				after?: boolean;
			};
			implements?: {
				before?: boolean;
				after?: boolean;
			};
			import?: {
				before?: boolean;
				after?: boolean;
			};
			in?: {
				before?: boolean;
				after?: boolean;
			};
			instanceof?: {
				before?: boolean;
				after?: boolean;
			};
			int?: {
				before?: boolean;
				after?: boolean;
			};
			interface?: {
				before?: boolean;
				after?: boolean;
			};
			let?: {
				before?: boolean;
				after?: boolean;
			};
			long?: {
				before?: boolean;
				after?: boolean;
			};
			native?: {
				before?: boolean;
				after?: boolean;
			};
			new?: {
				before?: boolean;
				after?: boolean;
			};
			null?: {
				before?: boolean;
				after?: boolean;
			};
			of?: {
				before?: boolean;
				after?: boolean;
			};
			package?: {
				before?: boolean;
				after?: boolean;
			};
			private?: {
				before?: boolean;
				after?: boolean;
			};
			protected?: {
				before?: boolean;
				after?: boolean;
			};
			public?: {
				before?: boolean;
				after?: boolean;
			};
			return?: {
				before?: boolean;
				after?: boolean;
			};
			set?: {
				before?: boolean;
				after?: boolean;
			};
			short?: {
				before?: boolean;
				after?: boolean;
			};
			static?: {
				before?: boolean;
				after?: boolean;
			};
			super?: {
				before?: boolean;
				after?: boolean;
			};
			switch?: {
				before?: boolean;
				after?: boolean;
			};
			synchronized?: {
				before?: boolean;
				after?: boolean;
			};
			this?: {
				before?: boolean;
				after?: boolean;
			};
			throw?: {
				before?: boolean;
				after?: boolean;
			};
			throws?: {
				before?: boolean;
				after?: boolean;
			};
			transient?: {
				before?: boolean;
				after?: boolean;
			};
			true?: {
				before?: boolean;
				after?: boolean;
			};
			try?: {
				before?: boolean;
				after?: boolean;
			};
			typeof?: {
				before?: boolean;
				after?: boolean;
			};
			var?: {
				before?: boolean;
				after?: boolean;
			};
			void?: {
				before?: boolean;
				after?: boolean;
			};
			volatile?: {
				before?: boolean;
				after?: boolean;
			};
			while?: {
				before?: boolean;
				after?: boolean;
			};
			with?: {
				before?: boolean;
				after?: boolean;
			};
			yield?: {
				before?: boolean;
				after?: boolean;
			};
		};
	}
];
type VueMatchComponentFileName = [
] | [
	{
		extensions?: string[];
		shouldMatchCase?: boolean;
	}
];
type VueMaxAttributesPerLine = [
] | [
	{
		singleline?: (number | {
			max?: number;
		});
		multiline?: (number | {
			max?: number;
		});
	}
];
type VueMaxLen = [
] | [
	({
		code?: number;
		template?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreTrailingComments?: boolean;
		ignoreUrls?: boolean;
		ignoreStrings?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreHTMLAttributeValues?: boolean;
		ignoreHTMLTextContents?: boolean;
	} | number)
] | [
	({
		code?: number;
		template?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreTrailingComments?: boolean;
		ignoreUrls?: boolean;
		ignoreStrings?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreHTMLAttributeValues?: boolean;
		ignoreHTMLTextContents?: boolean;
	} | number),
	({
		code?: number;
		template?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreTrailingComments?: boolean;
		ignoreUrls?: boolean;
		ignoreStrings?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreHTMLAttributeValues?: boolean;
		ignoreHTMLTextContents?: boolean;
	} | number)
] | [
	({
		code?: number;
		template?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreTrailingComments?: boolean;
		ignoreUrls?: boolean;
		ignoreStrings?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreHTMLAttributeValues?: boolean;
		ignoreHTMLTextContents?: boolean;
	} | number),
	({
		code?: number;
		template?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreTrailingComments?: boolean;
		ignoreUrls?: boolean;
		ignoreStrings?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreHTMLAttributeValues?: boolean;
		ignoreHTMLTextContents?: boolean;
	} | number),
	{
		code?: number;
		template?: number;
		comments?: number;
		tabWidth?: number;
		ignorePattern?: string;
		ignoreComments?: boolean;
		ignoreTrailingComments?: boolean;
		ignoreUrls?: boolean;
		ignoreStrings?: boolean;
		ignoreTemplateLiterals?: boolean;
		ignoreRegExpLiterals?: boolean;
		ignoreHTMLAttributeValues?: boolean;
		ignoreHTMLTextContents?: boolean;
	}
];
type VueMaxLinesPerBlock = [
] | [
	{
		style?: number;
		template?: number;
		script?: number;
		skipBlankLines?: boolean;
	}
];
type VueMaxProps = [
] | [
	{
		maxProps?: number;
	}
];
type VueMaxTemplateDepth = [
] | [
	{
		maxDepth?: number;
	}
];
type VueMultiWordComponentNames = [
] | [
	{
		ignores?: string[];
	}
];
type VueMultilineHtmlElementContentNewline = [
] | [
	{
		ignoreWhenEmpty?: boolean;
		ignores?: string[];
		allowEmptyLines?: boolean;
	}
];
type VueMultilineTernary = [
] | [
	("always" | "always-multiline" | "never")
];
type VueMustacheInterpolationSpacing = [
] | [
	("always" | "never")
];
type VueNewLineBetweenMultiLineProperty = [
] | [
	{
		minLineOfMultilineProperty?: number;
	}
];
type VueNextTickStyle = [
] | [
	("promise" | "callback")
];
type VueNoBareStringsInTemplate = [
] | [
	{
		allowlist?: string[];
		attributes?: {
			[k: string]: string[];
		};
		directives?: string[];
	}
];
type VueNoBooleanDefault = [
] | [
	("default-false" | "no-default")
];
type VueNoChildContent = [
] | [
	{
		additionalDirectives: [
			string,
			...(string)[]
		];
	}
];
type VueNoConsole = [
] | [
	{
		allow?: [
			string,
			...(string)[]
		];
	}
];
type VueNoConstantCondition = [
] | [
	{
		checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false);
	}
];
type VueNoDeprecatedModelDefinition = [
] | [
	{
		allowVue3Compat?: boolean;
	}
];
type VueNoDeprecatedRouterLinkTagProp = [
] | [
	{
		components?: [
			string,
			...(string)[]
		];
	}
];
type VueNoDeprecatedSlotAttribute = [
] | [
	{
		ignore?: string[];
	}
];
type VueNoDupeKeys = [
] | [
	{
		groups?: unknown[];
	}
];
type VueNoDuplicateAttrInheritance = [
] | [
	{
		checkMultiRootNodes?: boolean;
	}
];
type VueNoDuplicateAttributes = [
] | [
	{
		allowCoexistClass?: boolean;
		allowCoexistStyle?: boolean;
	}
];
type VueNoEmptyPattern = [
] | [
	{
		allowObjectPatternsAsParameters?: boolean;
	}
];
type VueNoExtraParens = ([
] | [
	"functions"
] | [
] | [
	"all"
] | [
	"all",
	{
		conditionalAssign?: boolean;
		ternaryOperandBinaryExpressions?: boolean;
		nestedBinaryExpressions?: boolean;
		returnAssign?: boolean;
		ignoreJSX?: ("none" | "all" | "single-line" | "multi-line");
		enforceForArrowConditionals?: boolean;
		enforceForSequenceExpressions?: boolean;
		enforceForNewInMemberExpressions?: boolean;
		enforceForFunctionPrototypeMethods?: boolean;
		allowParensAfterCommentPattern?: string;
	}
]);
type VueNoImplicitCoercion = [
] | [
	{
		boolean?: boolean;
		number?: boolean;
		string?: boolean;
		disallowTemplateShorthand?: boolean;
		allow?: ("~" | "!!" | "+" | "- -" | "-" | "*")[];
	}
];
type VueNoIrregularWhitespace = [
] | [
	{
		skipComments?: boolean;
		skipStrings?: boolean;
		skipTemplates?: boolean;
		skipRegExps?: boolean;
		skipHTMLAttributeValues?: boolean;
		skipHTMLTextContents?: boolean;
	}
];
type VueNoLoneTemplate = [
] | [
	{
		ignoreAccessible?: boolean;
	}
];
type VueNoMultiSpaces = [
] | [
	{
		ignoreProperties?: boolean;
	}
];
type VueNoMutatingProps = [
] | [
	{
		shallowOnly?: boolean;
	}
];
type VueNoParsingError = [
] | [
	{
		"abrupt-closing-of-empty-comment"?: boolean;
		"absence-of-digits-in-numeric-character-reference"?: boolean;
		"cdata-in-html-content"?: boolean;
		"character-reference-outside-unicode-range"?: boolean;
		"control-character-in-input-stream"?: boolean;
		"control-character-reference"?: boolean;
		"eof-before-tag-name"?: boolean;
		"eof-in-cdata"?: boolean;
		"eof-in-comment"?: boolean;
		"eof-in-tag"?: boolean;
		"incorrectly-closed-comment"?: boolean;
		"incorrectly-opened-comment"?: boolean;
		"invalid-first-character-of-tag-name"?: boolean;
		"missing-attribute-value"?: boolean;
		"missing-end-tag-name"?: boolean;
		"missing-semicolon-after-character-reference"?: boolean;
		"missing-whitespace-between-attributes"?: boolean;
		"nested-comment"?: boolean;
		"noncharacter-character-reference"?: boolean;
		"noncharacter-in-input-stream"?: boolean;
		"null-character-reference"?: boolean;
		"surrogate-character-reference"?: boolean;
		"surrogate-in-input-stream"?: boolean;
		"unexpected-character-in-attribute-name"?: boolean;
		"unexpected-character-in-unquoted-attribute-value"?: boolean;
		"unexpected-equals-sign-before-attribute-name"?: boolean;
		"unexpected-null-character"?: boolean;
		"unexpected-question-mark-instead-of-tag-name"?: boolean;
		"unexpected-solidus-in-tag"?: boolean;
		"unknown-named-character-reference"?: boolean;
		"end-tag-with-attributes"?: boolean;
		"duplicate-attribute"?: boolean;
		"end-tag-with-trailing-solidus"?: boolean;
		"non-void-html-element-start-tag-with-trailing-solidus"?: boolean;
		"x-invalid-end-tag"?: boolean;
		"x-invalid-namespace"?: boolean;
	}
];
type VueNoPotentialComponentOptionTypo = [
] | [
	{
		presets?: ("all" | "vue" | "vue-router" | "nuxt")[];
		custom?: string[];
		threshold?: number;
	}
];
type VueNoRequiredPropWithDefault = [
] | [
	{
		autofix?: boolean;
	}
];
type VueNoReservedComponentNames = [
] | [
	{
		disallowVueBuiltInComponents?: boolean;
		disallowVue3BuiltInComponents?: boolean;
		htmlElementCaseSensitive?: boolean;
	}
];
type VueNoReservedKeys = [
] | [
	{
		reserved?: unknown[];
		groups?: unknown[];
	}
];
type VueNoReservedProps = [
] | [
	{
		vueVersion?: (2 | 3);
	}
];
type VueNoRestrictedBlock = (string | {
	element: string;
	message?: string;
})[];
type VueNoRestrictedCallAfterAwait = {
	module: string;
	path?: (string | string[]);
	message?: string;
}[];
type VueNoRestrictedClass = string[];
type VueNoRestrictedComponentNames = (string | {
	name: string;
	message?: string;
	suggest?: string;
})[];
type VueNoRestrictedComponentOptions = (string | string[] | {
	name: (string | string[]);
	message?: string;
})[];
type VueNoRestrictedCustomEvent = (string | {
	event: string;
	message?: string;
	suggest?: string;
})[];
type VueNoRestrictedHtmlElements = (string | {
	element: string;
	message?: string;
})[];
type VueNoRestrictedProps = (string | {
	name: string;
	message?: string;
	suggest?: string;
})[];
type VueNoRestrictedStaticAttribute = (string | {
	key: string;
	value?: (string | true);
	element?: string;
	message?: string;
})[];
type VueNoRestrictedSyntax = (string | {
	selector: string;
	message?: string;
})[];
type VueNoRestrictedVBind = ((string | null) | {
	argument: (string | null);
	modifiers?: ("prop" | "camel" | "sync" | "attr")[];
	element?: string;
	message?: string;
})[];
type VueNoRestrictedVOn = ((string | null) | {
	argument: (string | null);
	element?: string;
	message?: string;
	modifiers?: [
		("prevent" | "stop" | "capture" | "self" | "once" | "passive"),
		...(("prevent" | "stop" | "capture" | "self" | "once" | "passive"))[]
	];
})[];
type VueNoStaticInlineStyles = [
] | [
	{
		allowBinding?: boolean;
	}
];
type VueNoTemplateShadow = [
] | [
	{
		allow?: string[];
	}
];
type VueNoTemplateTargetBlank = [
] | [
	{
		allowReferrer?: boolean;
		enforceDynamicLinks?: ("always" | "never");
	}
];
type VueNoUndefComponents = [
] | [
	{
		ignorePatterns?: unknown[];
	}
];
type VueNoUndefProperties = [
] | [
	{
		ignores?: string[];
	}
];
type VueNoUnsupportedFeatures = [
] | [
	{
		version?: string;
		ignores?: ("slot-scope-attribute" | "dynamic-directive-arguments" | "v-slot" | "script-setup" | "style-css-vars-injection" | "v-model-argument" | "v-model-custom-modifiers" | "v-is" | "is-attribute-with-vue-prefix" | "v-memo" | "v-bind-prop-modifier-shorthand" | "v-bind-attr-modifier" | "define-options" | "define-slots" | "define-model" | "v-bind-same-name-shorthand")[];
	}
];
type VueNoUnusedComponents = [
] | [
	{
		ignoreWhenBindingPresent?: boolean;
	}
];
type VueNoUnusedProperties = [
] | [
	{
		groups?: ("props" | "data" | "asyncData" | "computed" | "methods" | "setup")[];
		deepData?: boolean;
		ignorePublicMembers?: boolean;
		unreferencedOptions?: ("unknownMemberAsUnreferenced" | "returnAsUnreferenced")[];
	}
];
type VueNoUnusedVars = [
] | [
	{
		ignorePattern?: string;
	}
];
type VueNoUseVIfWithVFor = [
] | [
	{
		allowUsingIterationVar?: boolean;
	}
];
type VueNoUselessMustaches = [
] | [
	{
		ignoreIncludesComment?: boolean;
		ignoreStringEscape?: boolean;
	}
];
type VueNoUselessVBind = [
] | [
	{
		ignoreIncludesComment?: boolean;
		ignoreStringEscape?: boolean;
	}
];
type VueNoVTextVHtmlOnComponent = [
] | [
	{
		allow?: string[];
		ignoreElementNamespaces?: boolean;
	}
];
type VueObjectCurlyNewline = [
] | [
	((("always" | "never") | {
		multiline?: boolean;
		minProperties?: number;
		consistent?: boolean;
	}) | {
		ObjectExpression?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ObjectPattern?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ImportDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
		ExportDeclaration?: (("always" | "never") | {
			multiline?: boolean;
			minProperties?: number;
			consistent?: boolean;
		});
	})
];
type VueObjectCurlySpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		arraysInObjects?: boolean;
		objectsInObjects?: boolean;
	}
];
type VueObjectPropertyNewline = [
] | [
	{
		allowAllPropertiesOnSameLine?: boolean;
		allowMultiplePropertiesPerLine?: boolean;
	}
];
type VueObjectShorthand = ([
] | [
	("always" | "methods" | "properties" | "never" | "consistent" | "consistent-as-needed")
] | [
] | [
	("always" | "methods" | "properties")
] | [
	("always" | "methods" | "properties"),
	{
		avoidQuotes?: boolean;
	}
] | [
] | [
	("always" | "methods")
] | [
	("always" | "methods"),
	{
		ignoreConstructors?: boolean;
		methodsIgnorePattern?: string;
		avoidQuotes?: boolean;
		avoidExplicitReturnArrows?: boolean;
	}
]);
type VueOperatorLinebreak = [
] | [
	("after" | "before" | "none" | null)
] | [
	("after" | "before" | "none" | null),
	{
		overrides?: {
			[k: string]: ("after" | "before" | "none" | "ignore") | undefined;
		};
	}
];
type VueOrderInComponents = [
] | [
	{
		order?: unknown[];
	}
];
type VuePaddingLineBetweenBlocks = [
] | [
	("never" | "always")
];
type VuePaddingLineBetweenTags = [
] | [
	{
		blankLine: ("always" | "never" | "consistent");
		prev: string;
		next: string;
	}[]
];
type VuePaddingLinesInComponentDefinition = [
] | [
	(("always" | "never") | {
		betweenOptions?: ("never" | "always" | "ignore");
		withinOption?: (("never" | "always" | "ignore") | {
			[k: string]: (("never" | "always" | "ignore") | {
				betweenItems?: ("never" | "always" | "ignore");
				withinEach?: ("never" | "always" | "ignore");
			});
		});
		groupSingleLineProperties?: boolean;
	})
];
type VuePreferTrueAttributeShorthand = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		except?: string[];
	}
];
type VuePropNameCasing = [
] | [
	("camelCase" | "snake_case")
] | [
	("camelCase" | "snake_case"),
	{
		ignoreProps?: string[];
	}
];
type VueQuoteProps = ([
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed")
] | [
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed")
] | [
	("always" | "as-needed" | "consistent" | "consistent-as-needed"),
	{
		keywords?: boolean;
		unnecessary?: boolean;
		numbers?: boolean;
	}
]);
type VueRequireDirectExport = [
] | [
	{
		disallowFunctionalComponentFunction?: boolean;
	}
];
type VueRequireExplicitEmits = [
] | [
	{
		allowProps?: boolean;
	}
];
type VueRequireMacroVariableName = [
] | [
	{
		defineProps?: string;
		defineEmits?: string;
		defineSlots?: string;
		useSlots?: string;
		useAttrs?: string;
	}
];
type VueRequirePropComment = [
] | [
	{
		type?: ("JSDoc" | "line" | "block" | "any");
	}
];
type VueRequireToggleInsideTransition = [
] | [
	{
		additionalDirectives?: string[];
	}
];
type VueRestrictedComponentNames = [
] | [
	{
		allow?: string[];
	}
];
type VueReturnInComputedProperty = [
] | [
	{
		treatUndefinedAsUnspecified?: boolean;
	}
];
type VueScriptIndent = [
] | [
	(number | "tab")
] | [
	(number | "tab"),
	{
		baseIndent?: number;
		switchCase?: number;
		ignores?: (string & {
			[k: string]: unknown | undefined;
		} & {
			[k: string]: unknown | undefined;
		})[];
	}
];
type VueSinglelineHtmlElementContentNewline = [
] | [
	{
		ignoreWhenNoAttributes?: boolean;
		ignoreWhenEmpty?: boolean;
		ignores?: string[];
		externalIgnores?: string[];
	}
];
type VueSlotNameCasing = [
] | [
	("camelCase" | "kebab-case" | "singleword")
];
type VueSortKeys = [
] | [
	("asc" | "desc")
] | [
	("asc" | "desc"),
	{
		caseSensitive?: boolean;
		ignoreChildrenOf?: unknown[];
		ignoreGrandchildrenOf?: unknown[];
		minKeys?: number;
		natural?: boolean;
	}
];
type VueSpaceInParens = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		exceptions?: ("{}" | "[]" | "()" | "empty")[];
	}
];
type VueSpaceInfixOps = [
] | [
	{
		int32Hint?: boolean;
	}
];
type VueSpaceUnaryOps = [
] | [
	{
		words?: boolean;
		nonwords?: boolean;
		overrides?: {
			[k: string]: boolean | undefined;
		};
	}
];
type VueTemplateCurlySpacing = [
] | [
	("always" | "never")
];
type VueThisInTemplate = [
] | [
	("always" | "never")
];
type VueVBindStyle = [
] | [
	("shorthand" | "longform")
] | [
	("shorthand" | "longform"),
	{
		sameNameShorthand?: ("always" | "never" | "ignore");
	}
];
type VueVForDelimiterStyle = [
] | [
	("in" | "of")
];
type VueVOnEventHyphenation = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		autofix?: boolean;
		ignore?: (string & {
			[k: string]: unknown | undefined;
		} & {
			[k: string]: unknown | undefined;
		})[];
		ignoreTags?: string[];
	}
];
type VueVOnHandlerStyle = [
] | [
	(("inline" | "inline-function") | [
		"method",
		("inline" | "inline-function")
	])
] | [
	(("inline" | "inline-function") | [
		"method",
		("inline" | "inline-function")
	]),
	{
		ignoreIncludesComment?: boolean;
	}
];
type VueVOnStyle = [
] | [
	("shorthand" | "longform")
];
type VueVSlotStyle = [
] | [
	(("shorthand" | "longform") | {
		atComponent?: ("shorthand" | "longform" | "v-slot");
		default?: ("shorthand" | "longform" | "v-slot");
		named?: ("shorthand" | "longform");
	})
];
type VueValidVOn = [
] | [
	{
		modifiers?: unknown[];
	}
];
type VueValidVSlot = [
] | [
	{
		allowModifiers?: boolean;
	}
];
type YamlBlockMapping = [
] | [
	(("always" | "never") | {
		singleline?: ("always" | "never" | "ignore");
		multiline?: ("always" | "never" | "ignore");
	})
];
type YamlBlockMappingColonIndicatorNewline = [
] | [
	("always" | "never")
];
type YamlBlockMappingQuestionIndicatorNewline = [
] | [
	("always" | "never")
];
type YamlBlockSequence = [
] | [
	(("always" | "never") | {
		singleline?: ("always" | "never" | "ignore");
		multiline?: ("always" | "never" | "ignore");
	})
];
type YamlBlockSequenceHyphenIndicatorNewline = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		nestedHyphen?: ("always" | "never");
		blockMapping?: ("always" | "never");
	}
];
type YamlFileExtension = [
] | [
	{
		extension?: ("yaml" | "yml");
		caseSensitive?: boolean;
	}
];
type YamlFlowMappingCurlyNewline = [
] | [
	(("always" | "never") | {
		multiline?: boolean;
		minProperties?: number;
		consistent?: boolean;
	})
];
type YamlFlowMappingCurlySpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		arraysInObjects?: boolean;
		objectsInObjects?: boolean;
	}
];
type YamlFlowSequenceBracketNewline = [
] | [
	(("always" | "never" | "consistent") | {
		multiline?: boolean;
		minItems?: (number | null);
	})
];
type YamlFlowSequenceBracketSpacing = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		singleValue?: boolean;
		objectsInArrays?: boolean;
		arraysInArrays?: boolean;
	}
];
type YamlIndent = [
] | [
	number
] | [
	number,
	{
		indentBlockSequences?: boolean;
		indicatorValueIndent?: number;
	}
];
type YamlKeyNameCasing = [
] | [
	{
		camelCase?: boolean;
		PascalCase?: boolean;
		SCREAMING_SNAKE_CASE?: boolean;
		"kebab-case"?: boolean;
		snake_case?: boolean;
		ignores?: string[];
	}
];
type YamlKeySpacing = [
] | [
	({
		align?: (("colon" | "value") | {
			on?: ("colon" | "value");
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		});
		mode?: ("strict" | "minimum");
		beforeColon?: boolean;
		afterColon?: boolean;
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			align?: (("colon" | "value") | {
				on?: ("colon" | "value");
				mode?: ("strict" | "minimum");
				beforeColon?: boolean;
				afterColon?: boolean;
			});
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	} | {
		singleLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		multiLine?: {
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
		align?: {
			on?: ("colon" | "value");
			mode?: ("strict" | "minimum");
			beforeColon?: boolean;
			afterColon?: boolean;
		};
	})
];
type YamlNoIrregularWhitespace = [
] | [
	{
		skipComments?: boolean;
		skipQuotedScalars?: boolean;
	}
];
type YamlNoMultipleEmptyLines = [
] | [
	{
		max: number;
		maxEOF?: number;
		maxBOF?: number;
	}
];
type YamlPlainScalar = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		ignorePatterns?: string[];
		overrides?: {
			mappingKey?: ("always" | "never" | null);
		};
	}
];
type YamlQuotes = [
] | [
	{
		prefer?: ("double" | "single");
		avoidEscape?: boolean;
	}
];
type YamlSortKeys = ([
	{
		pathPattern: string;
		hasProperties?: string[];
		order: ((string | {
			keyPattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minKeys?: number;
		allowLineSeparatedGroups?: boolean;
	},
	...({
		pathPattern: string;
		hasProperties?: string[];
		order: ((string | {
			keyPattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minKeys?: number;
		allowLineSeparatedGroups?: boolean;
	})[]
] | [
] | [
	("asc" | "desc")
] | [
	("asc" | "desc"),
	{
		caseSensitive?: boolean;
		natural?: boolean;
		minKeys?: number;
		allowLineSeparatedGroups?: boolean;
	}
]);
type YamlSortSequenceValues = [
	{
		pathPattern: string;
		order: ((string | {
			valuePattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minValues?: number;
	},
	...({
		pathPattern: string;
		order: ((string | {
			valuePattern?: string;
			order?: {
				type?: ("asc" | "desc");
				caseSensitive?: boolean;
				natural?: boolean;
			};
		})[] | {
			type?: ("asc" | "desc");
			caseSensitive?: boolean;
			natural?: boolean;
		});
		minValues?: number;
	})[]
];
type YamlSpacedComment = [
] | [
	("always" | "never")
] | [
	("always" | "never"),
	{
		exceptions?: string[];
		markers?: string[];
	}
];
declare module "eslint" {
	namespace Linter {
		interface RulesRecord extends RuleOptions {
		}
	}
}
export type Awaitable<T> = T | Promise<T>;
export type FlatConfigItem = Omit<Linter.Config, "plugins" | "rules"> & {
	/**
	 * Custom name of each config item
	 */
	name?: string | undefined;
	plugins?: Record<string, Readonly<ESLint.Plugin | TSESLint.FlatConfig.Plugin>> | undefined;
	/**
	 * An object containing a name-value mapping of rules to use.
	 */
	rules?: (TSESLint.FlatConfig.Config["rules"] & RuleOptions) | undefined;
};
export type OptionsFiles = {
	/**
	 * Override the `files` option to provide custom globs.
	 */
	files?: string[];
};
export type OptionsReact = {
	i18n?: ({
		library: "i18next";
	} & OptionsOverrides) | false;
} & OptionsOverrides;
export type OptionsVue = {
	/**
	 * Create virtual files for Vue SFC blocks to enable linting.
	 *
	 * @see https://github.com/antfu/eslint-processor-vue-blocks
	 * @default true
	 */
	sfcBlocks?: boolean | VueBlocksOptions;
	/**
	 * Vue version. Apply different rules set from `eslint-plugin-vue`.
	 *
	 * @default 3
	 */
	vueVersion?: 2 | 3;
	i18n?: {
		localeDir?: SettingsVueI18nLocaleDir;
		messageSyntaxVersion?: string;
	} | false;
} & OptionsOverrides;
export type OptionsTypescript = OptionsTypeScriptParserOptions & OptionsOverrides & OptionsTypeScriptUnsafeSeverity & OptionsTypeScriptShorthands;
export type OptionsFormatters = {
	js?: boolean;
	ts?: boolean;
	json?: boolean;
	yaml?: boolean;
	dts?: boolean;
	css?: boolean;
	html?: boolean;
	markdown?: boolean;
	graphql?: boolean;
	tailwind?: boolean;
	prettierOptions?: PrettierOptions;
	slidev?: boolean | {
		files?: string[];
	};
};
export type OptionsComponentExts = {
	/**
	 * Additional extensions for components.
	 *
	 * @example ['vue']
	 *
	 * @default []
	 */
	componentExts?: string[];
};
export type OptionsTypeScriptParserOptions = {
	/**
	 * Additional parser options for TypeScript.
	 */
	parserOptions?: Partial<ParserOptions>;
	/**
	 * Glob patterns for files that should be type aware.
	 *
	 * @default ['**\/*.{ts,tsx}']
	 */
	filesTypeAware?: string[];
};
export type OptionsTypeScriptShorthands = {
	/**
	 * Any easy way to disable the default project.
	 * Has no effect if `parserOptions.projectService` is set.
	 *
	 * @default true
	 */
	useDefaultDefaultProject?: boolean;
};
export type OptionsTypeScriptUnsafeSeverity = {
	unsafe?: "off" | "warn" | "error";
};
export type OptionsHasTypeScript = {
	typescript?: boolean;
};
export type OptionsTypeRequiredRules = {
	enableTypeRequiredRules?: boolean;
};
export type OptionsStylistic = {
	stylistic?: StylisticConfig | false;
};
export type RequiredOptionsStylistic = {
	stylistic: Required<StylisticConfig> | false;
};
export type StylisticConfig = {
	printWidth?: number;
} & Pick<StylisticCustomizeOptions, "indent" | "quotes" | "jsx" | "semi">;
export type OptionsOverrides = {
	overrides?: FlatConfigItem["rules"];
};
export type OptionsIsInEditor = {
	isInEditor?: boolean;
};
export type OptionsTailwindCSS = {
	/**
	 * @default 4
	 */
	tailwindVersion?: 3 | 4;
} & OptionsOverrides;
export type OptionsUnoCSS = {
	/**
	 * Enable attributify support.
	 */
	attributify?: boolean;
	/**
	 * Enable strict mode by throwing errors about blocklisted classes.
	 */
	strict?: boolean;
} & OptionsOverrides;
export type OptionsFunctional = {
	functionalEnforcement?: "none" | "lite" | "recommended" | "strict";
	ignoreNamePattern?: string[];
};
export type OptionsMode = {
	mode: "library" | "application" | "none";
};
export type OptionsProjectRoot = {
	projectRoot: string;
};
export type OptionsIgnoreFiles = {
	/**
	 * Files that contain ignore patterns.
	 *
	 * @default [".gitignore"]
	 */
	ignoreFiles: string[];
};
export type OptionsIgnores = NonNullable<Linter.FlatConfig["ignores"]> | {
	extend: boolean;
	files: NonNullable<Linter.FlatConfig["ignores"]>;
};
export type OptionsConfig = {
	/**
	 * The root directory of the project.
	 */
	projectRoot: OptionsProjectRoot["projectRoot"];
	/**
	 * What are we linting?
	 */
	mode: OptionsMode["mode"];
	/**
	 * Core rules. Can't be disabled.
	 */
	javascript?: OptionsOverrides;
	/**
	 * Enable TypeScript support.
	 *
	 * Passing an object to enable TypeScript Language Server support.
	 *
	 * @default auto-detect based on the dependencies
	 */
	typescript?: boolean | OptionsTypescript;
	/**
	 * Enable JSX related rules.
	 */
	jsx?: boolean;
	/**
	 * Enable test support.
	 */
	test?: boolean | OptionsOverrides;
	/**
	 * Enforce functional programming.
	 */
	functional?: boolean | OptionsFunctional["functionalEnforcement"] | (OptionsOverrides & OptionsFunctional);
	/**
	 * Enable React support.
	 *
	 * @default auto-detect based on the dependencies
	 */
	react?: boolean | OptionsReact;
	/**
	 * Enable Vue support.
	 *
	 * @default auto-detect based on the dependencies
	 */
	vue?: boolean | OptionsVue;
	/**
	 * Enable JSONC support.
	 */
	jsonc?: boolean | OptionsOverrides;
	/**
	 * Enable YAML support.
	 */
	yaml?: boolean | OptionsOverrides;
	/**
	 * Enable TOML support.
	 */
	toml?: boolean | OptionsOverrides;
	/**
	 * Enable linting for **code snippets** in Markdown.
	 *
	 * For formatting Markdown content, enable also `formatters.markdown`.
	 */
	markdown?: boolean | (OptionsOverrides & OptionsTypeRequiredRules);
	/**
	 * Enable stylistic rules.
	 */
	stylistic?: boolean | (StylisticConfig & OptionsOverrides);
	/**
	 * Enable tailwind rules.
	 */
	tailwind?: boolean | OptionsTailwindCSS;
	/**
	 * Enable unocss rules.
	 */
	unocss?: boolean | OptionsUnoCSS;
	/**
	 * Use external formatters to format files.
	 *
	 * When set to `true`, it will enable all formatters.
	 */
	formatters?: boolean | OptionsFormatters;
	/**
	 * Control to disable some rules in editors.
	 */
	isInEditor?: boolean;
	/**
	 * Automatically rename plugins in the config.
	 */
	autoRenamePlugins?: boolean;
	/**
	 * Enable SonarJS rules.
	 */
	sonar?: boolean;
	ignores?: OptionsIgnores;
	/**
	 * Files that contain ignore patterns.
	 *
	 * @default [".gitignore"]
	 */
	ignoresFiles?: OptionsIgnoreFiles["ignoreFiles"];
} & OptionsComponentExts;
export declare function comments(): Promise<FlatConfigItem[]>;
export declare function formatters(opts: Readonly<OptionsFormatters | true>, stylistic: Readonly<StylisticConfig>): Promise<FlatConfigItem[]>;
export declare function functional(options: Readonly<Required<OptionsFunctional & RequiredOptionsStylistic & OptionsOverrides & OptionsTypeScriptParserOptions & OptionsMode>>): Promise<FlatConfigItem[]>;
export declare function ignores(options: Readonly<{
	ignores: OptionsIgnores;
} & OptionsProjectRoot & OptionsIgnoreFiles>): Promise<FlatConfigItem[]>;
export declare function imports(options: Readonly<Required<RequiredOptionsStylistic & OptionsTypeScriptParserOptions & OptionsHasTypeScript & OptionsMode>>): Promise<FlatConfigItem[]>;
export declare function inEditor(): FlatConfigItem[];
export declare function javascript(options: Readonly<Required<OptionsOverrides & OptionsFunctional>>): FlatConfigItem[];
export declare function jsdoc(options: Readonly<Required<RequiredOptionsStylistic>>): Promise<FlatConfigItem[]>;
export declare function jsonc(options: Readonly<Required<OptionsFiles & RequiredOptionsStylistic & OptionsOverrides>>): Promise<FlatConfigItem[]>;
export declare function jsx(): FlatConfigItem[];
export declare function markdown(options: Readonly<Required<OptionsFiles & OptionsComponentExts & OptionsTypeRequiredRules & OptionsOverrides>>): Promise<FlatConfigItem[]>;
export declare function node(): Promise<FlatConfigItem[]>;
export declare function overrides(): Promise<FlatConfigItem[]>;
export declare function promise(): Promise<FlatConfigItem[]>;
export declare function react(options: Readonly<Required<OptionsReact & OptionsHasTypeScript & OptionsOverrides & OptionsFiles & OptionsTypeScriptParserOptions>>): Promise<FlatConfigItem[]>;
export declare function regexp(): Promise<FlatConfigItem[]>;
export declare function sonar(options: Readonly<Required<OptionsFunctional>>): Promise<FlatConfigItem[]>;
/**
 * Sort tsconfig.json
 *
 * Requires `jsonc` config
 */
export declare function sortTsconfig(): FlatConfigItem[];
export declare const StylisticConfigDefaults: Required<StylisticConfig>;
export declare function stylistic(options: Readonly<Required<{
	stylistic: Required<StylisticConfig>;
} & OptionsOverrides & OptionsHasTypeScript>>): Promise<FlatConfigItem[]>;
export declare function tailwind(options: Readonly<Required<OptionsTailwindCSS> & RequiredOptionsStylistic>): Promise<FlatConfigItem[]>;
export declare function test(options: Readonly<Required<OptionsFiles & OptionsOverrides>>): Promise<FlatConfigItem[]>;
export declare function toml(options: Readonly<Required<OptionsOverrides & RequiredOptionsStylistic & OptionsFiles>>): Promise<FlatConfigItem[]>;
export declare const defaultFilesTypesAware: string[];
export declare function typescript(options: Readonly<Required<OptionsComponentExts & OptionsFiles & OptionsFunctional & OptionsMode & OptionsOverrides & OptionsProjectRoot & OptionsTypeScriptParserOptions & OptionsTypeScriptUnsafeSeverity>>): Promise<FlatConfigItem[]>;
export declare function unicorn(): Promise<FlatConfigItem[]>;
export declare function unocss(options: Readonly<Required<OptionsUnoCSS>>): Promise<FlatConfigItem[]>;
export declare function vue(options: Readonly<Required<OptionsVue & OptionsFiles & OptionsHasTypeScript & OptionsOverrides & OptionsTypeScriptParserOptions & RequiredOptionsStylistic>>): Promise<FlatConfigItem[]>;
export declare function yaml(options: Readonly<Required<OptionsOverrides & RequiredOptionsStylistic & OptionsFiles>>): Promise<FlatConfigItem[]>;
export declare const defaultPluginRenaming: {
	"@intlify/vue-i18n": string;
	"@stylistic": string;
	"@typescript-eslint": string;
	"import-x": string;
	n: string;
	"optimize-regex": string;
	sonarjs: string;
	vitest: string;
	yml: string;
};
/**
 * Construct an array of ESLint flat config items.
 *
 * @param {OptionsConfig & FlatConfigItem} options - The options for generating the ESLint configurations.
 * @param {Awaitable<FlatConfigItem | FlatConfigItem[]>[]} userConfigs - The user configurations to be merged with the generated configurations.
 * @returns {Promise<FlatConfigItem[]>} The merged ESLint configurations.
 */
export declare function rsEslint(options: OptionsConfig, ...userConfigs: ReadonlyArray<Awaitable<FlatConfigItem | FlatConfigItem[]>>): Promise<FlatConfigItem[]>;
export type ResolvedOptions<T> = T extends boolean ? never : T extends string ? never : NonNullable<T>;
export declare function resolveSubOptions<K extends keyof OptionsConfig>(options: Readonly<OptionsConfig>, key: K): ResolvedOptions<OptionsConfig[K]>;
export declare function getOverrides<K extends keyof OptionsConfig>(options: Readonly<OptionsConfig>, key: K): (Partial<Record<string, SharedConfig.RuleEntry>> & RuleOptions) | undefined;
export declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
export declare const GLOB_SRC = "**/?(.)*.?([cm])[jt]s?(x)";
export declare const GLOB_JS = "**/?(.)*.?([cm])js";
export declare const GLOB_JSX = "**/?(.)*.?([cm])jsx";
export declare const GLOB_TS = "**/?(.)*.?([cm])ts";
export declare const GLOB_TSX = "**/?(.)*.?([cm])tsx";
export declare const GLOB_DTS = "**/?(.)*.d.?([cm])ts";
export declare const GLOB_ROOT_JS = "./?(.)*.?([cm])js";
export declare const GLOB_ROOT_JSX = "./?(.)*.?([cm])jsx";
export declare const GLOB_ROOT_TS = "./?(.)*.?([cm])ts";
export declare const GLOB_ROOT_TSX = "./?(.)*.?([cm])tsx";
export declare const GLOB_ROOT_DTS = "./?(.)*.d.?([cm])ts";
export declare const GLOB_TYPINGS = "typings/**/?(.)*.?([cm])ts";
export declare const GLOB_MJS = "**/?(.)*.mjs";
export declare const GLOB_MTS = "**/?(.)*.mts";
export declare const GLOB_CJS = "**/?(.)*.cjs";
export declare const GLOB_CTS = "**/?(.)*.cts";
export declare const GLOB_STYLE = "**/?(.)*.{c,le,sc,pc,postc}ss";
export declare const GLOB_CSS = "**/?(.)*.css";
export declare const GLOB_POSTCSS = "**/?(.)*.{p,post}css";
export declare const GLOB_LESS = "**/?(.)*.less";
export declare const GLOB_SCSS = "**/?(.)*.scss";
export declare const GLOB_JSON = "**/?(.)*.json";
export declare const GLOB_JSON5 = "**/?(.)*.json5";
export declare const GLOB_JSONC = "**/?(.)*.jsonc";
export declare const GLOB_MARKDOWN = "**/?(.)*.md";
export declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/?(.)*.md/?(.)*.md";
export declare const GLOB_VUE = "**/?(.)*.vue";
export declare const GLOB_YAML = "**/?(.)*.y?(a)ml";
export declare const GLOB_TOML = "**/?(.)*.toml";
export declare const GLOB_HTML = "**/?(.)*.htm?(l)";
export declare const GLOB_GRAPHQL = "**/?(.)*.{g,graph}ql";
export declare const GLOB_MARKDOWN_CODE: string;
export declare const GLOB_TESTS: string[];
export declare const GLOB_ALL_SRC: string[];
export declare const GLOB_EXCLUDE: string[];

export {
	RuleOptions as Rules,
	rsEslint as default,
};

export {};
