/** * What to enforce for `/// ` references. */ /** * What to enforce for `/// ` references. */ //#region src-js/package/config.generated.d.ts type AllowWarnDeny = ("allow" | "off" | "warn" | "error" | "deny") | number; type GlobalValue = "readonly" | "writable" | "off"; type ExternalPluginEntry = string | { /** * Custom name/alias for the plugin. * * Note: The following plugin names are reserved because they are implemented natively in Rust within oxlint and cannot be used for JS plugins: * - react (includes react-hooks) * - unicorn * - typescript (includes @typescript-eslint) * - oxc * - import (includes import-x) * - jsdoc * - jest * - vitest * - jsx-a11y (includes jsx-a11y-x) * - nextjs * - react-perf * - promise * - node * - vue * - eslint * * If you need to use the JavaScript version of any of these plugins, provide a custom alias to avoid conflicts. */ name: string; /** * Path or package name of the plugin */ specifier: string; }; /** * A set of glob patterns. * Patterns are matched against paths relative to the configuration file's directory. */ type GlobSet = string[]; type LintPluginOptionsSchema = "eslint" | "react" | "unicorn" | "typescript" | "oxc" | "import" | "jsdoc" | "jest" | "vitest" | "jsx-a11y" | "nextjs" | "react-perf" | "promise" | "node" | "vue"; type LintPlugins = LintPluginOptionsSchema[]; type RuleNoConfig = AllowWarnDeny | [AllowWarnDeny]; type Mode2 = "as-needed" | "always" | "never"; type AlwaysNever = "always" | "never"; type OptionsJsonEnum = CommentConfigJson | { block?: CommentConfigJson; line?: CommentConfigJson; }; type IgnoreClassWithImplements = "all" | "public-fields"; type ComplexityConfigEnum = number | ComplexityConfig; type Variant = "classic" | "modified"; /** * The enforcement type for the curly rule. */ type CurlyType = "all" | "multi" | "multi-line" | "multi-or-nest"; /** * The optional second element of the curly config array. * When set to `"consistent"`, enforces consistent brace usage within if-else chains. */ type CurlyConsistent = "consistent"; type CompareType = "always" | "smart"; type NullType = "always" | "never" | "ignore"; type FuncNameMatchingMode = "always" | "never"; type FuncNamesConfigType = "always" | "as-needed" | "never"; type Style = "expression" | "declaration"; type NamedExports = "ignore" | "expression" | "declaration"; type PairOrder = "anyOrder" | "getBeforeSet" | "setBeforeGet"; type Mode = "prefer-top-level" | "prefer-inline" | "prefer-top-level-if-only-type-imports"; /** * Extension rule configuration; Copy to avoid extra indirection. */ type ExtensionRule = "always" | "never" | "ignorePackages"; type ImportExtensionsObject = ImportExtensionsConfig | { [k: string]: ExtensionRule | undefined; }; /** * Action to take for path group overrides. * * Determines how import extensions are validated for matching bespoke import specifiers. */ type PathGroupAction = "enforce" | "ignore"; type AbsoluteFirst = "absolute-first" | "disable-absolute-first"; type MaxDependenciesConfigJson = number | MaxDependenciesConfig; type Target = "single" | "any"; type TestCaseName = "it" | "test"; type JestFnType = "hook" | "describe" | "test" | "expect" | "jest" | "unknown"; type SnapshotHintMode = "always" | "multi"; type DummyRule = AllowWarnDeny | [AllowWarnDeny, ...unknown[]]; type AltTextElements = "img" | "object" | "area" | 'input[type="image"]'; type AnchorIsValidAspect = "noHref" | "invalidHref" | "preferButton"; type Assert = "htmlFor" | "nesting" | "both" | "either"; type DistractingElement = "marquee" | "blink"; type MaxClassesPerFileConfigEnum = number | MaxClassesPerFileConfig; type MaxDepthConfigEnum = number | MaxDepth; type MaxLinesConfigEnum = number | MaxLinesConfig; type MaxLinesPerFunctionConfigEnum = number | MaxLinesPerFunctionConfig; type MaxNestedCallbacksConfigEnum = number | MaxNestedCallbacks; type MaxParamsConfigEnum = number | MaxParamsConfig; type CountThis = "always" | "never" | "except-void"; type MaxStatementsConfigEnum = number | MaxStatementsConfig; type NoCondAssignConfig = "except-parens" | "always"; type CheckLoopsConfig = boolean | CheckLoops; type CheckLoops = "all" | "allExceptWhileTrue" | "none"; /** * Kinds of functions that can be allowed to be empty. */ type AllowKind = "functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods" | "privateConstructors" | "protectedConstructors" | "decoratedFunctions" | "overrideMethods"; /** * Determines what type of declarations to check. */ type NoInnerDeclarationsConfig = "functions" | "both"; type BlockScopedFunctions = "allow" | "disallow"; type Namespaces = "allow" | "disallow"; type NoMagicNumbersNumber = number | string; type NoRestrictedGlobalsConfigEnum = string | RestrictedGlobal | NoRestrictedGlobalsObjectConfig; type GlobalNameOrObject = string | RestrictedGlobal; type NoRestrictedImportsConfigEnum = string | RestrictedPath | NoRestrictedImportsConfig; type PossiblePaths = string | RestrictedPath; type PossiblePatterns = string | RestrictedPattern; type NoReturnAssignMode = "always" | "except-parens"; /** * Controls how hoisting is handled when checking for shadowing. */ type HoistOption = "all" | "functions" | "functions-and-types" | "never" | "types"; type LoopType = "WhileStatement" | "DoWhileStatement" | "ForStatement" | "ForInStatement" | "ForOfStatement"; type NoUnusedVarsConfig = VarsOption | NoUnusedVarsOptions; type VarsOption = "all" | "local"; type ArgsOption = "after-used" | "all" | "none"; type IgnorePatternFor_String = null | string; type CaughtErrorsJson = "all" | "none"; type NoUnusedVarsFixMode = "off" | "suggestion" | "fix" | "safe-fix"; type NoUseBeforeDefineConfigJson = Nofunc | NoUseBeforeDefineConfig; type Nofunc = "nofunc"; type Location = "start" | "anywhere"; /** * The rule takes a single option - an array of possible callback names - which may include object methods. The default callback names are `callback`, `cb`, `next`. */ type CallbackReturn = string[]; type ExportsStyleMode = "module.exports" | "exports"; /** * The rule takes a single string option: the name of the error parameter. * * This can be either: * - an exact name (e.g. `"err"`, `"error"`) * - a regexp pattern (e.g. `"^(err|error)$"`) * * If the configured name of the error variable begins with a `^` it is considered to be a regexp pattern. * Invalid regexp patterns are rejected during configuration parsing. * * Default: `"err"`. */ type HandleCallbackErrConfig = string; type NoMixedRequiresConfig = boolean | NoMixedRequiresOptions; type ShorthandType = "always" | "methods" | "properties" | "consistent" | "consistent-as-needed" | "never"; /** * Enforces consistent grouping of variable declarations. */ type OneVar = OneVarConfig; /** * Configuration accepted by the `one-var` rule. */ type OneVarConfig = OneVarMode | OneVarOptions; /** * Controls how variable declarators are grouped into declarations. */ type OneVarMode = "always" | "never" | "consecutive"; type Destructuring = "any" | "all"; type PreferDestructuringOption = PreferDestructuringTargetOption | PreferDestructuringAssignmentConfig; type TerminationMethod = string | string[]; type RadixType = "always" | "as-needed"; type NativeAllowList = AllKeyword | string[]; type AllKeyword = "all"; /** * A forbidden prop, either as a plain prop name string or with options. */ type ForbidItem = string | ForbidItemObject; /** * A forbidden prop, either as a plain prop name string or with options. */ type ForbidDomPropsItem = string | PropWithOptions; /** * A forbidden element, either as a plain element name or with a custom message. */ type ForbidItem2 = string | { /** * The element name to forbid. */ element: string; /** * The message to display when this element is found */ message?: string; }; type NamedComponents = NamedComponentStyle | NamedComponentStyle[]; type NamedComponentStyle = "function-declaration" | "arrow-function" | "function-expression"; type UnnamedComponents = UnnamedComponentStyle | UnnamedComponentStyle[]; type UnnamedComponentStyle = "arrow-function" | "function-expression"; type EnforceBooleanAttribute = "always" | "never"; type JsxCurlyBracePresenceConfig = JsxCurlyBracePresenceMode | JsxCurlyBracePresence; type JsxCurlyBracePresenceMode = "always" | "never" | "ignore"; type JsxFilenameExtensionAllowMode = "always" | "as-needed"; type FragmentMode = "syntax" | "element"; type EnforceDynamicLinksEnum = "always" | "never"; type IgnoreEnforceOption = "ignore" | "enforce"; type AllowedOrDisallowInFunc = "allowed" | "disallow-in-func"; type RequireFlag = "u" | "v"; type ImportKind = "none" | "all" | "multiple" | "single"; /** * Sorting order for keys. Accepts "asc" for ascending or "desc" for descending. */ type SortOrder = "desc" | "asc"; type ArrayOption = "array" | "array-simple" | "generic"; type ReadonlyArrayOption = "array" | "array-simple" | "generic"; type DirectiveConfigSchema = boolean | RequireDescription | DescriptionFormatConfig; type RequireDescription = "allow-with-description"; type ClassLiteralPropertyStyleOption = "fields" | "getters"; type PreferGenericType = "constructor" | "type-annotation"; type ConsistentIndexedObjectStyleConfig = "record" | "index-signature"; type ArrayLiteralTypeAssertions = "allow" | "allow-as-parameter" | "never"; type AssertionStyle = "as" | "angle-bracket" | "never"; type ObjectLiteralTypeAssertions = "allow" | "allow-as-parameter" | "never"; type ConsistentTypeDefinitionsConfig = "interface" | "type"; type FixStyle = "separate-type-imports" | "inline-type-imports"; type Prefer = "type-imports" | "no-type-imports"; type AccessibilityLevel = "explicit" | "no-public" | "off"; type MethodSignatureStyleConfig = "property" | "method"; /** * Type or value specifier for matching specific declarations * * Supports four types of specifiers: * * 1. **String specifier** (deprecated): Universal match by name * ```json * "Promise" * ``` * * 2. **File specifier**: Match types/values declared in local files * ```json * { "from": "file", "name": "MyType" } * { "from": "file", "name": ["Type1", "Type2"] } * { "from": "file", "name": "MyType", "path": "./types.ts" } * ``` * * 3. **Lib specifier**: Match TypeScript built-in lib types * ```json * { "from": "lib", "name": "Promise" } * { "from": "lib", "name": ["Promise", "PromiseLike"] } * ``` * * 4. **Package specifier**: Match types/values from npm packages * ```json * { "from": "package", "name": "Observable", "package": "rxjs" } * { "from": "package", "name": ["Observable", "Subject"], "package": "rxjs" } * ``` */ type TypeOrValueSpecifier = string | FileSpecifier | LibSpecifier | PackageSpecifier; type FileFrom = "file"; /** * Name specifier that can be a single string or array of strings */ type NameSpecifier = string | string[]; type LibFrom = "lib"; type PackageFrom = "package"; type AllowInterfaces = "never" | "always" | "with-single-extends"; type AllowObjectTypes = "never" | "always"; type AllowInGenericTypeArguments = boolean | string[]; type ChecksVoidReturn = boolean | ChecksVoidReturnOptions; /** * Represents the different ways a ban config can be specified in JSON. * Can be: * - `true` - ban with default message * - A string - ban with custom message * - An object with `message` and optional `fixWith` and `suggest` */ type BanConfigValue = True | string | { /** * Replacement type for automatic fixing. Applied directly with `--fix`. */ fixWith?: string; /** * Custom message explaining why the type is banned. */ message?: string; /** * Suggested replacement types for manual review. Shown as editor suggestions. */ suggest?: string[]; }; type True = true; /** * Represents the different ways `allowConstantLoopConditions` can be specified in JSON. * Can be: * - `true` or `false` * - A string enum (`"never"`, `"always"`, `"only-allowed-literals"`) */ type AllowConstantLoopConditions = boolean | AllowConstantLoopConditionsMode; type AllowConstantLoopConditionsMode = "never" | "always" | "only-allowed-literals"; type Modifier = "private" | "private readonly" | "protected" | "protected readonly" | "public" | "public readonly" | "readonly"; type Prefer2 = "class-property" | "parameter-property"; /** * Represents the different ways `ignorePrimitives` can be specified in JSON. * Can be: * - `true` - ignore all primitive types * - An object specifying which primitives to ignore */ type IgnorePrimitives = boolean | IgnorePrimitivesOptions; type AllowSingleElementEquality = "always" | "never"; type ReturnAwaitOption = "in-try-catch" | "always" | "error-handling-correctness-only" | "never"; type PathOption = "always" | "never"; type TypesOption = "always" | "never" | "prefer-import"; type BomOptionType = "always" | "never"; type NonZero = "greater-than" | "not-equal"; type ExplicitTimerDelayMode = "always" | "never"; type ModuleStylesOverride = false | { /** * Whether default imports or whole-module `require()` assignments are allowed for this module. * * With `{ "styles": { "chalk": { "default": true } } }`, this is valid: * ```js * import chalk from "chalk"; * ``` */ default?: boolean; /** * Whether named imports or destructured `require()` calls are allowed for this module. * * With `{ "styles": { "node:util": { "named": true } } }`, this is valid: * ```js * import {promisify} from "node:util"; * ``` */ named?: boolean; /** * Whether namespace imports or whole-module `require()` assignments are allowed for this module. * * With `{ "styles": { "node:fs": { "namespace": true } } }`, this is valid: * ```js * import * as fs from "node:fs"; * ``` */ namespace?: boolean; /** * Whether side-effect imports or unassigned dynamic imports/requires are allowed for this module. * * With `{ "styles": { "polyfill": { "unassigned": true } } }`, this is valid: * ```js * import "polyfill"; * ``` */ unassigned?: boolean; }; type NoInstanceofBuiltinsStrategy = "strict" | "loose"; type PreferTernaryOption = "always" | "only-single-line"; type RelativeUrlStyleConfig = "never" | "always"; type SwitchCaseBracesConfig = "always" | "avoid"; type MemberNames = "for" | "each"; type VitestFnName = "vi" | "vitest"; type CaseType = "PascalCase" | "kebab-case"; type DeclarationStyle = "type-based" | "type-literal" | "runtime"; type DeclarationStyle2 = "type-based" | "runtime"; type Destructure = "only-when-assigned" | "always" | "never"; type NextTickOption = "promise" | "callback"; type CaseType2 = "camelCase" | "snake_case"; type AllowYoda = "never" | "always"; type OxlintOverrides = OxlintOverride[]; type JestVersionSchema = number | string; type TagNamePreference = string | { message: string; replacement: string; [k: string]: unknown | undefined; } | { message: string; [k: string]: unknown | undefined; } | boolean; type OneOrManyFor_String = string | string[]; type CustomComponent = string | { attribute: string; name: string; [k: string]: unknown | undefined; } | { attributes: string[]; name: string; [k: string]: unknown | undefined; }; /** * Oxlint Configuration File * * This configuration is aligned with ESLint v8's configuration schema (`eslintrc.json`). * * Usage: `oxlint -c oxlintrc.json` * * Example * * `.oxlintrc.json` * * ```json * { * "$schema": "./node_modules/oxlint/configuration_schema.json", * "plugins": [ * "import", * "typescript", * "unicorn" * ], * "env": { * "browser": true * }, * "globals": { * "foo": "readonly" * }, * "settings": { * "react": { * "version": "18.2.0" * }, * "custom": { * "option": true * } * }, * "rules": { * "eqeqeq": "warn", * "import/no-cycle": "error", * "react/self-closing-comp": [ * "error", * { * "html": false * } * ] * }, * "overrides": [ * { * "files": [ * "*.test.ts", * "*.spec.ts" * ], * "rules": { * "@typescript-eslint/no-explicit-any": "off" * } * } * ] * } * ``` * * `oxlint.config.ts` * * ```ts * import { defineConfig } from "oxlint"; * * export default defineConfig({ * plugins: ["import", "typescript", "unicorn"], * env: { * "browser": true * }, * globals: { * "foo": "readonly" * }, * settings: { * react: { * version: "18.2.0" * }, * custom: { option: true } * }, * rules: { * "eqeqeq": "warn", * "import/no-cycle": "error", * "react/self-closing-comp": ["error", { "html": false }] * }, * overrides: [ * { * files: ["*.test.ts", "*.spec.ts"], * rules: { * "@typescript-eslint/no-explicit-any": "off" * } * } * ] * }); * ``` */ interface Oxlintrc$1 { /** * Schema URI for editor tooling. */ $schema?: string; categories?: RuleCategories; /** * Environments enable and disable collections of global variables. */ env?: OxlintEnv; /** * Configurations that this configuration file extends (inherits from). * * In `.oxlintrc.json`, `extends` has type `string[]`. Each string is a path to a configuration * file, resolved relative to the location of the configuration file that contains the * `extends` property. * * In `oxlint.config.ts`, `extends` has type `OxlintConfig[]`. Import each configuration and * pass the configuration object directly: * * ```ts * import { defineConfig } from "oxlint"; * import baseConfig from "./base-config.ts"; * * export default defineConfig({ extends: [baseConfig] }); * ``` * * Configurations are merged from the first to the last, with the last configuration * overriding the previous ones. */ extends?: string[]; /** * Enabled or disabled specific global variables. */ globals?: OxlintGlobals; /** * Globs to ignore during linting. Patterns use gitignore-style matching, * rooted at the directory containing the configuration file. * Files outside that directory cannot be matched; patterns containing `..` * are rejected as a configuration error. */ ignorePatterns?: string[]; /** * JS plugins, allows usage of ESLint plugins with Oxlint. * * Read more about JS plugins in * [the docs](https://oxc.rs/docs/guide/usage/linter/js-plugins.html). * * Note: JS plugins are in alpha and not subject to semver. * * Examples: * * Basic usage with a local plugin path. * * ```json * { * "jsPlugins": [ * "./custom-plugin.js" * ], * "rules": { * "custom/rule-name": "warn" * } * } * ``` * * Basic usage with a TypeScript plugin and a local plugin path. * * TypeScript plugin files are supported in the following environments: * - Deno and Bun: TypeScript files are supported natively. * - Node.js >=22.18.0 and Node.js ^20.19.0: TypeScript files are supported natively with built-in * type-stripping enabled by default. * * For older Node.js versions, TypeScript plugins are not supported. Please use JavaScript plugins or upgrade your Node version. * * ```json * { * "jsPlugins": [ * "./custom-plugin.ts" * ], * "rules": { * "custom/rule-name": "warn" * } * } * ``` * * Using a built-in Rust plugin alongside a JS plugin with the same name * by giving the JS plugin an alias. * * ```json * { * "plugins": [ * "import" * ], * "jsPlugins": [ * { * "name": "import-js", * "specifier": "eslint-plugin-import" * } * ], * "rules": { * "import/no-cycle": "error", * "import-js/no-unresolved": "warn" * } * } * ``` */ jsPlugins?: null | ExternalPluginEntry[]; /** * Oxlint config options. */ options?: OxlintOptions; /** * Add, remove, or otherwise reconfigure rules for specific files or groups of files. */ overrides?: OxlintOverrides; /** * Enabled built-in plugins for Oxlint. * You can view the list of available plugins on * [the website](https://oxc.rs/docs/guide/usage/linter/plugins.html#supported-plugins). * * NOTE: Setting the `plugins` field will overwrite the base set of plugins. * The `plugins` array should reflect all of the plugins you want to use. */ plugins?: LintPlugins; /** * Example * * `.oxlintrc.json` * * ```json * { * "$schema": "./node_modules/oxlint/configuration_schema.json", * "rules": { * "eqeqeq": "warn", * "import/no-cycle": "error", * "prefer-const": [ * "error", * { * "ignoreReadBeforeAssign": true * } * ] * } * } * ``` * * See [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html) for the list of * rules. */ rules?: DummyRuleMap; /** * Plugin-specific configuration for both built-in and custom plugins. * This includes settings for built-in plugins such as `react` and `jsdoc` * as well as configuring settings for JS custom plugins loaded via `jsPlugins`. */ settings?: OxlintPluginSettings; } /** * Configure an entire category of rules all at once. * * Rules enabled or disabled this way will be overwritten by individual rules in the `rules` field. * * Example * ```json * { * "$schema": "./node_modules/oxlint/configuration_schema.json", * "categories": { * "correctness": "warn" * }, * "rules": { * "eslint/no-unused-vars": "error" * } * } * ``` */ interface RuleCategories { correctness?: AllowWarnDeny; nursery?: AllowWarnDeny; pedantic?: AllowWarnDeny; perf?: AllowWarnDeny; restriction?: AllowWarnDeny; style?: AllowWarnDeny; suspicious?: AllowWarnDeny; } /** * Predefine global variables. * * Environments specify what global variables are predefined. * Available environments: * - amd - require() and define() globals. * - applescript - AppleScript globals. * - astro - Astro globals. * - atomtest - Atom test globals. * - audioworklet - AudioWorklet globals. * - browser - browser globals. * - builtin - Latest ECMAScript globals, equivalent to es2026. * - commonjs - CommonJS globals and scoping. * - embertest - Ember test globals. * - es2015 - ECMAScript 2015 globals. * - es2016 - ECMAScript 2016 globals. * - es2017 - ECMAScript 2017 globals. * - es2018 - ECMAScript 2018 globals. * - es2019 - ECMAScript 2019 globals. * - es2020 - ECMAScript 2020 globals. * - es2021 - ECMAScript 2021 globals. * - es2022 - ECMAScript 2022 globals. * - es2023 - ECMAScript 2023 globals. * - es2024 - ECMAScript 2024 globals. * - es2025 - ECMAScript 2025 globals. * - es2026 - ECMAScript 2026 globals. * - es6 - ECMAScript 6 globals except modules. * - greasemonkey - GreaseMonkey globals. * - jasmine - Jasmine globals. * - jest - Jest globals. * - jquery - jQuery globals. * - meteor - Meteor globals. * - mocha - Mocha globals. * - mongo - MongoDB globals. * - nashorn - Java 8 Nashorn globals. * - node - Node.js globals and scoping. * - phantomjs - PhantomJS globals. * - prototypejs - Prototype.js globals. * - protractor - Protractor globals. * - qunit - QUnit globals. * - serviceworker - Service Worker globals. * - shared-node-browser - Node.js and Browser common globals. * - shelljs - ShellJS globals. * - svelte - Svelte globals. * - vitest - Vitest globals. * - vue - Vue globals. * - webextensions - WebExtensions globals. * - worker - Web Workers globals. */ interface OxlintEnv { [k: string]: boolean | undefined; } /** * Add or remove global variables. * * For each global variable, set the corresponding value equal to `"writable"` * to allow the variable to be overwritten or `"readonly"` to disallow overwriting. * * Globals can be disabled by setting their value to `"off"`. For example, in * an environment where most Es2015 globals are available but `Promise` is unavailable, * you might use this config: * * ```json * { * "$schema": "./node_modules/oxlint/configuration_schema.json", * "env": { * "es6": true * }, * "globals": { * "Promise": "off" * } * } * ``` * * You may also use `"readable"` or `false` to represent `"readonly"`, and * `"writeable"` or `true` to represent `"writable"`. */ interface OxlintGlobals { [k: string]: GlobalValue | undefined; } /** * Options for the linter. */ interface OxlintOptions { /** * Ensure warnings produce a non-zero exit code. * * Equivalent to passing `--deny-warnings` on the CLI. */ denyWarnings?: boolean; /** * Specify a warning threshold. Exits with an error status if warnings exceed this value. * * Equivalent to passing `--max-warnings` on the CLI. */ maxWarnings?: number; /** * Report unused disable directives (e.g. `// oxlint-disable-line` or `// eslint-disable-line`). * * Equivalent to passing `--report-unused-disable-directives-severity` on the CLI. * CLI flags take precedence over this value when both are set. * Only supported in the root configuration file. */ reportUnusedDisableDirectives?: AllowWarnDeny; /** * Whether oxlint should respect `eslint-disable*` and `eslint-enable*` * directives in addition to its native `oxlint-*` directives. * * Defaults to `true`. * Only supported in the root configuration file. */ respectEslintDisableDirectives?: boolean; /** * Enable rules that require type information. * * Equivalent to passing `--type-aware` on the CLI. * * Note that this requires the `oxlint-tsgolint` package to be installed. */ typeAware?: boolean; /** * Enable experimental type checking (includes TypeScript compiler diagnostics). * * Equivalent to passing `--type-check` on the CLI. * * Note that this requires the `oxlint-tsgolint` package to be installed. */ typeCheck?: boolean; } interface OxlintOverride { /** * Environments enable and disable collections of global variables. */ env?: OxlintEnv; /** * A list of glob patterns to exclude from this override. * * Files matching these patterns are not globally ignored; this override * simply does not apply to them. * * ## Example * `[ "*.generated.ts", "fixtures/**" ]` */ excludeFiles?: GlobSet; /** * A list of glob patterns to override. * * ## Example * `[ "*.test.ts", "*.spec.ts" ]` */ files: GlobSet; /** * Enabled or disabled specific global variables. */ globals?: OxlintGlobals; /** * JS plugins for this override, allows usage of ESLint plugins with Oxlint. * * Read more about JS plugins in * [the docs](https://oxc.rs/docs/guide/usage/linter/js-plugins.html). * * Note: JS plugins are in alpha and not subject to semver. */ jsPlugins?: null | ExternalPluginEntry[]; /** * Optionally change what plugins are enabled for this override. When * omitted, the base config's plugins are used. */ plugins?: LintPlugins; rules?: DummyRuleMap; } /** * See [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html) */ interface DummyRuleMap { "accessor-pairs"?: RuleNoConfig | [AllowWarnDeny, AccessorPairsConfig]; "array-callback-return"?: RuleNoConfig | [AllowWarnDeny, ArrayCallbackReturn]; "arrow-body-style"?: RuleNoConfig | [AllowWarnDeny, Mode2] | [AllowWarnDeny, Mode2, ArrowBodyStyleConfig]; "block-scoped-var"?: RuleNoConfig; "capitalized-comments"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, OptionsJsonEnum]; "class-methods-use-this"?: RuleNoConfig | [AllowWarnDeny, ClassMethodsUseThisConfig]; complexity?: RuleNoConfig | [AllowWarnDeny, ComplexityConfigEnum]; "constructor-super"?: RuleNoConfig; curly?: RuleNoConfig | [AllowWarnDeny, CurlyType] | [AllowWarnDeny, CurlyType, CurlyConsistent]; "default-case"?: RuleNoConfig | [AllowWarnDeny, DefaultCaseConfig]; "default-case-last"?: RuleNoConfig; "default-param-last"?: RuleNoConfig; eqeqeq?: RuleNoConfig | [AllowWarnDeny, CompareType] | [AllowWarnDeny, CompareType, EqeqeqOptions]; "for-direction"?: RuleNoConfig; "func-name-matching"?: RuleNoConfig | ([AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingMode, FuncNameMatchingConfig] | [AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingConfig]); "func-names"?: RuleNoConfig | [AllowWarnDeny, FuncNamesConfigType] | [AllowWarnDeny, FuncNamesConfigType, FuncNamesGeneratorsConfig]; "func-style"?: RuleNoConfig | [AllowWarnDeny, Style] | [AllowWarnDeny, Style, FuncStyleConfig]; "getter-return"?: RuleNoConfig | [AllowWarnDeny, GetterReturn]; "grouped-accessor-pairs"?: RuleNoConfig | [AllowWarnDeny, PairOrder] | [AllowWarnDeny, PairOrder, GroupedAccessorPairsConfig]; "guard-for-in"?: RuleNoConfig; "id-denylist"?: RuleNoConfig | [AllowWarnDeny, ...string[]]; "id-length"?: RuleNoConfig | [AllowWarnDeny, IdLengthConfig]; "id-match"?: RuleNoConfig | [AllowWarnDeny, string] | [AllowWarnDeny, string, IdMatchOptions]; "import/consistent-type-specifier-style"?: RuleNoConfig | [AllowWarnDeny, Mode]; "import/default"?: RuleNoConfig; "import/export"?: RuleNoConfig; "import/exports-last"?: RuleNoConfig; "import/extensions"?: RuleNoConfig | ([AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ExtensionRule, ImportExtensionsObject] | [AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ImportExtensionsObject]); "import/first"?: RuleNoConfig | [AllowWarnDeny, AbsoluteFirst]; "import/group-exports"?: RuleNoConfig; "import/max-dependencies"?: RuleNoConfig | [AllowWarnDeny, MaxDependenciesConfigJson]; "import/named"?: RuleNoConfig; "import/namespace"?: RuleNoConfig | [AllowWarnDeny, Namespace]; "import/newline-after-import"?: RuleNoConfig | [AllowWarnDeny, NewlineAfterImport]; "import/no-absolute-path"?: RuleNoConfig | [AllowWarnDeny, NoAbsolutePath]; "import/no-amd"?: RuleNoConfig; "import/no-anonymous-default-export"?: RuleNoConfig | [AllowWarnDeny, NoAnonymousDefaultExport]; "import/no-commonjs"?: RuleNoConfig | [AllowWarnDeny, NoCommonjs]; "import/no-cycle"?: RuleNoConfig | [AllowWarnDeny, NoCycle]; "import/no-default-export"?: RuleNoConfig; "import/no-duplicates"?: RuleNoConfig | [AllowWarnDeny, NoDuplicates]; "import/no-dynamic-require"?: RuleNoConfig | [AllowWarnDeny, NoDynamicRequire]; "import/no-empty-named-blocks"?: RuleNoConfig; "import/no-mutable-exports"?: RuleNoConfig; "import/no-named-as-default"?: RuleNoConfig; "import/no-named-as-default-member"?: RuleNoConfig; "import/no-named-default"?: RuleNoConfig; "import/no-named-export"?: RuleNoConfig; "import/no-namespace"?: RuleNoConfig | [AllowWarnDeny, NoNamespaceConfig]; "import/no-nodejs-modules"?: RuleNoConfig | [AllowWarnDeny, NoNodejsModulesConfig]; "import/no-relative-parent-imports"?: RuleNoConfig; "import/no-self-import"?: RuleNoConfig; "import/no-unassigned-import"?: RuleNoConfig | [AllowWarnDeny, NoUnassignedImportConfig]; "import/no-webpack-loader-syntax"?: RuleNoConfig; "import/prefer-default-export"?: RuleNoConfig | [AllowWarnDeny, PreferDefaultExport]; "import/unambiguous"?: RuleNoConfig; "init-declarations"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, InitDeclarationsConfig]; "jest/consistent-test-it"?: RuleNoConfig | [AllowWarnDeny, ConsistentTestItConfig]; "jest/expect-expect"?: RuleNoConfig | [AllowWarnDeny, ExpectExpectConfig]; "jest/max-expects"?: RuleNoConfig | [AllowWarnDeny, MaxExpectsConfig]; "jest/max-nested-describe"?: RuleNoConfig | [AllowWarnDeny, MaxNestedDescribeConfig]; "jest/no-alias-methods"?: RuleNoConfig; "jest/no-commented-out-tests"?: RuleNoConfig; "jest/no-conditional-expect"?: RuleNoConfig; "jest/no-conditional-in-test"?: RuleNoConfig; "jest/no-confusing-set-timeout"?: RuleNoConfig; "jest/no-deprecated-functions"?: RuleNoConfig | [AllowWarnDeny, NoDeprecatedFunctionsConfig]; "jest/no-disabled-tests"?: RuleNoConfig; "jest/no-done-callback"?: RuleNoConfig; "jest/no-duplicate-hooks"?: RuleNoConfig; "jest/no-export"?: RuleNoConfig; "jest/no-focused-tests"?: RuleNoConfig; "jest/no-hooks"?: RuleNoConfig | [AllowWarnDeny, NoHooksConfig]; "jest/no-identical-title"?: RuleNoConfig; "jest/no-interpolation-in-snapshots"?: RuleNoConfig; "jest/no-jasmine-globals"?: RuleNoConfig; "jest/no-large-snapshots"?: RuleNoConfig | [AllowWarnDeny, NoLargeSnapshotsConfig]; "jest/no-mocks-import"?: RuleNoConfig; "jest/no-restricted-jest-methods"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedTestMethodsConfig]; "jest/no-restricted-matchers"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedMatchersConfig]; "jest/no-standalone-expect"?: RuleNoConfig | [AllowWarnDeny, NoStandaloneExpectConfig]; "jest/no-test-prefixes"?: RuleNoConfig; "jest/no-test-return-statement"?: RuleNoConfig; "jest/no-unneeded-async-expect-function"?: RuleNoConfig; "jest/no-untyped-mock-factory"?: RuleNoConfig; "jest/padding-around-after-all-blocks"?: RuleNoConfig; "jest/padding-around-test-blocks"?: RuleNoConfig; "jest/prefer-called-with"?: RuleNoConfig; "jest/prefer-comparison-matcher"?: RuleNoConfig; "jest/prefer-each"?: RuleNoConfig; "jest/prefer-ending-with-an-expect"?: RuleNoConfig | [AllowWarnDeny, PreferEndingWithAnExpectConfig]; "jest/prefer-equality-matcher"?: RuleNoConfig; "jest/prefer-expect-assertions"?: RuleNoConfig | [AllowWarnDeny, PreferExpectAssertionsConfig]; "jest/prefer-expect-resolves"?: RuleNoConfig; "jest/prefer-hooks-in-order"?: RuleNoConfig; "jest/prefer-hooks-on-top"?: RuleNoConfig; "jest/prefer-importing-jest-globals"?: RuleNoConfig | [AllowWarnDeny, PreferImportingJestGlobalsConfig]; "jest/prefer-jest-mocked"?: RuleNoConfig; "jest/prefer-lowercase-title"?: RuleNoConfig | [AllowWarnDeny, PreferLowercaseTitleConfig]; "jest/prefer-mock-promise-shorthand"?: RuleNoConfig; "jest/prefer-mock-return-shorthand"?: RuleNoConfig; "jest/prefer-snapshot-hint"?: RuleNoConfig | [AllowWarnDeny, SnapshotHintMode]; "jest/prefer-spy-on"?: RuleNoConfig; "jest/prefer-strict-equal"?: RuleNoConfig; "jest/prefer-to-be"?: RuleNoConfig; "jest/prefer-to-contain"?: RuleNoConfig; "jest/prefer-to-have-been-called"?: RuleNoConfig; "jest/prefer-to-have-been-called-times"?: RuleNoConfig; "jest/prefer-to-have-length"?: RuleNoConfig; "jest/prefer-todo"?: RuleNoConfig; "jest/require-hook"?: RuleNoConfig | [AllowWarnDeny, RequireHookConfig]; "jest/require-to-throw-message"?: RuleNoConfig; "jest/require-top-level-describe"?: RuleNoConfig | [AllowWarnDeny, RequireTopLevelDescribeConfig]; "jest/valid-describe-callback"?: RuleNoConfig; "jest/valid-expect"?: RuleNoConfig | [AllowWarnDeny, ValidExpectConfig]; "jest/valid-expect-in-promise"?: RuleNoConfig; "jest/valid-title"?: DummyRule; "jsdoc/check-access"?: RuleNoConfig; "jsdoc/check-property-names"?: RuleNoConfig; "jsdoc/check-tag-names"?: RuleNoConfig | [AllowWarnDeny, CheckTagNamesConfig]; "jsdoc/empty-tags"?: RuleNoConfig | [AllowWarnDeny, EmptyTagsConfig]; "jsdoc/implements-on-classes"?: RuleNoConfig; "jsdoc/no-blank-blocks"?: RuleNoConfig | [AllowWarnDeny, NoBlankBlocks]; "jsdoc/no-defaults"?: RuleNoConfig | [AllowWarnDeny, NoDefaultsConfig]; "jsdoc/require-param"?: RuleNoConfig | [AllowWarnDeny, RequireParamConfig]; "jsdoc/require-param-description"?: RuleNoConfig | [AllowWarnDeny, RequireParamDescriptionConfig]; "jsdoc/require-param-name"?: RuleNoConfig; "jsdoc/require-param-type"?: RuleNoConfig | [AllowWarnDeny, RequireParamTypeConfig]; "jsdoc/require-property"?: RuleNoConfig; "jsdoc/require-property-description"?: RuleNoConfig; "jsdoc/require-property-name"?: RuleNoConfig; "jsdoc/require-property-type"?: RuleNoConfig; "jsdoc/require-returns"?: RuleNoConfig | [AllowWarnDeny, RequireReturnsConfig]; "jsdoc/require-returns-description"?: RuleNoConfig; "jsdoc/require-returns-type"?: RuleNoConfig; "jsdoc/require-throws-description"?: RuleNoConfig; "jsdoc/require-throws-type"?: RuleNoConfig; "jsdoc/require-yields"?: RuleNoConfig | [AllowWarnDeny, RequireYieldsConfig]; "jsdoc/require-yields-description"?: RuleNoConfig; "jsdoc/require-yields-type"?: RuleNoConfig; "jsx-a11y/alt-text"?: RuleNoConfig | [AllowWarnDeny, AltTextConfigSchema]; "jsx-a11y/anchor-ambiguous-text"?: RuleNoConfig | [AllowWarnDeny, AnchorAmbiguousTextConfig]; "jsx-a11y/anchor-has-content"?: RuleNoConfig | [AllowWarnDeny, AnchorHasContentConfig]; "jsx-a11y/anchor-is-valid"?: RuleNoConfig | [AllowWarnDeny, AnchorIsValidConfig]; "jsx-a11y/aria-activedescendant-has-tabindex"?: RuleNoConfig; "jsx-a11y/aria-props"?: RuleNoConfig; "jsx-a11y/aria-proptypes"?: RuleNoConfig; "jsx-a11y/aria-role"?: RuleNoConfig | [AllowWarnDeny, AriaRoleConfig]; "jsx-a11y/aria-unsupported-elements"?: RuleNoConfig; "jsx-a11y/autocomplete-valid"?: RuleNoConfig | [AllowWarnDeny, AutocompleteValidConfig]; "jsx-a11y/click-events-have-key-events"?: RuleNoConfig; "jsx-a11y/control-has-associated-label"?: RuleNoConfig | [AllowWarnDeny, ControlHasAssociatedLabelConfig]; "jsx-a11y/heading-has-content"?: RuleNoConfig | [AllowWarnDeny, HeadingHasContentConfig]; "jsx-a11y/html-has-lang"?: RuleNoConfig; "jsx-a11y/iframe-has-title"?: RuleNoConfig; "jsx-a11y/img-redundant-alt"?: RuleNoConfig | [AllowWarnDeny, ImgRedundantAltConfig]; "jsx-a11y/interactive-supports-focus"?: RuleNoConfig | [AllowWarnDeny, InteractiveSupportsFocusConfig]; "jsx-a11y/label-has-associated-control"?: RuleNoConfig | [AllowWarnDeny, LabelHasAssociatedControlConfig]; "jsx-a11y/lang"?: RuleNoConfig; "jsx-a11y/media-has-caption"?: RuleNoConfig | [AllowWarnDeny, MediaHasCaptionConfig]; "jsx-a11y/mouse-events-have-key-events"?: RuleNoConfig | [AllowWarnDeny, MouseEventsHaveKeyEventsConfig]; "jsx-a11y/no-access-key"?: RuleNoConfig; "jsx-a11y/no-aria-hidden-on-focusable"?: RuleNoConfig; "jsx-a11y/no-autofocus"?: RuleNoConfig | [AllowWarnDeny, NoAutofocus]; "jsx-a11y/no-distracting-elements"?: RuleNoConfig | [AllowWarnDeny, NoDistractingElementsConfig]; "jsx-a11y/no-interactive-element-to-noninteractive-role"?: RuleNoConfig | [AllowWarnDeny, NoInteractiveElementToNoninteractiveRoleConfig]; "jsx-a11y/no-noninteractive-element-interactions"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveElementInteractionsConfig]; "jsx-a11y/no-noninteractive-element-to-interactive-role"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveElementToInteractiveRoleConfig]; "jsx-a11y/no-noninteractive-tabindex"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveTabindexConfig]; "jsx-a11y/no-redundant-roles"?: RuleNoConfig | [AllowWarnDeny, NoRedundantRolesConfig]; "jsx-a11y/no-static-element-interactions"?: RuleNoConfig | [AllowWarnDeny, NoStaticElementInteractionsConfig]; "jsx-a11y/prefer-tag-over-role"?: RuleNoConfig; "jsx-a11y/role-has-required-aria-props"?: RuleNoConfig; "jsx-a11y/role-supports-aria-props"?: RuleNoConfig; "jsx-a11y/scope"?: RuleNoConfig; "jsx-a11y/tabindex-no-positive"?: RuleNoConfig; "logical-assignment-operators"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, LogicalAssignmentOperatorsConfig]; "max-classes-per-file"?: RuleNoConfig | [AllowWarnDeny, MaxClassesPerFileConfigEnum]; "max-depth"?: RuleNoConfig | [AllowWarnDeny, MaxDepthConfigEnum]; "max-lines"?: RuleNoConfig | [AllowWarnDeny, MaxLinesConfigEnum]; "max-lines-per-function"?: RuleNoConfig | [AllowWarnDeny, MaxLinesPerFunctionConfigEnum]; "max-nested-callbacks"?: RuleNoConfig | [AllowWarnDeny, MaxNestedCallbacksConfigEnum]; "max-params"?: RuleNoConfig | [AllowWarnDeny, MaxParamsConfigEnum]; "max-statements"?: RuleNoConfig | [AllowWarnDeny, MaxStatementsConfigEnum]; "new-cap"?: RuleNoConfig | [AllowWarnDeny, NewCapConfig]; "nextjs/google-font-display"?: RuleNoConfig; "nextjs/google-font-preconnect"?: RuleNoConfig; "nextjs/inline-script-id"?: RuleNoConfig; "nextjs/next-script-for-ga"?: RuleNoConfig; "nextjs/no-assign-module-variable"?: RuleNoConfig; "nextjs/no-async-client-component"?: RuleNoConfig; "nextjs/no-before-interactive-script-outside-document"?: RuleNoConfig; "nextjs/no-css-tags"?: RuleNoConfig; "nextjs/no-document-import-in-page"?: RuleNoConfig; "nextjs/no-duplicate-head"?: RuleNoConfig; "nextjs/no-head-element"?: RuleNoConfig; "nextjs/no-head-import-in-document"?: RuleNoConfig; "nextjs/no-html-link-for-pages"?: RuleNoConfig; "nextjs/no-img-element"?: RuleNoConfig; "nextjs/no-page-custom-font"?: RuleNoConfig; "nextjs/no-script-component-in-head"?: RuleNoConfig; "nextjs/no-styled-jsx-in-document"?: RuleNoConfig; "nextjs/no-sync-scripts"?: RuleNoConfig; "nextjs/no-title-in-document-head"?: RuleNoConfig; "nextjs/no-typos"?: RuleNoConfig; "nextjs/no-unwanted-polyfillio"?: RuleNoConfig; "no-alert"?: RuleNoConfig; "no-array-constructor"?: RuleNoConfig; "no-async-promise-executor"?: RuleNoConfig; "no-await-in-loop"?: RuleNoConfig; "no-bitwise"?: RuleNoConfig | [AllowWarnDeny, NoBitwiseConfig]; "no-caller"?: RuleNoConfig; "no-case-declarations"?: RuleNoConfig; "no-class-assign"?: RuleNoConfig; "no-compare-neg-zero"?: RuleNoConfig; "no-cond-assign"?: RuleNoConfig | [AllowWarnDeny, NoCondAssignConfig]; "no-console"?: RuleNoConfig | [AllowWarnDeny, NoConsoleConfig]; "no-const-assign"?: RuleNoConfig; "no-constant-binary-expression"?: RuleNoConfig | [AllowWarnDeny, NoConstantBinaryExpressionConfig]; "no-constant-condition"?: RuleNoConfig | [AllowWarnDeny, NoConstantCondition]; "no-constructor-return"?: RuleNoConfig; "no-continue"?: RuleNoConfig; "no-control-regex"?: RuleNoConfig; "no-debugger"?: RuleNoConfig; "no-delete-var"?: RuleNoConfig; "no-div-regex"?: RuleNoConfig; "no-dupe-class-members"?: RuleNoConfig; "no-dupe-else-if"?: RuleNoConfig; "no-dupe-keys"?: RuleNoConfig; "no-duplicate-case"?: RuleNoConfig; "no-duplicate-imports"?: RuleNoConfig | [AllowWarnDeny, NoDuplicateImports]; "no-else-return"?: RuleNoConfig | [AllowWarnDeny, NoElseReturn]; "no-empty"?: RuleNoConfig | [AllowWarnDeny, NoEmpty]; "no-empty-character-class"?: RuleNoConfig; "no-empty-function"?: RuleNoConfig | [AllowWarnDeny, NoEmptyFunctionConfig]; "no-empty-pattern"?: RuleNoConfig | [AllowWarnDeny, NoEmptyPattern]; "no-empty-static-block"?: RuleNoConfig; "no-eq-null"?: RuleNoConfig; "no-eval"?: RuleNoConfig | [AllowWarnDeny, NoEval]; "no-ex-assign"?: RuleNoConfig; "no-extend-native"?: RuleNoConfig | [AllowWarnDeny, NoExtendNativeConfig]; "no-extra-bind"?: RuleNoConfig; "no-extra-boolean-cast"?: RuleNoConfig | [AllowWarnDeny, NoExtraBooleanCast]; "no-extra-label"?: RuleNoConfig; "no-fallthrough"?: RuleNoConfig | [AllowWarnDeny, NoFallthroughConfig]; "no-func-assign"?: RuleNoConfig; "no-global-assign"?: RuleNoConfig | [AllowWarnDeny, NoGlobalAssignConfig]; "no-implicit-coercion"?: RuleNoConfig | [AllowWarnDeny, NoImplicitCoercionConfig]; "no-implicit-globals"?: RuleNoConfig | [AllowWarnDeny, NoImplicitGlobalsConfig]; "no-implied-eval"?: RuleNoConfig; "no-import-assign"?: RuleNoConfig; "no-inline-comments"?: RuleNoConfig | [AllowWarnDeny, NoInlineCommentsConfig]; "no-inner-declarations"?: RuleNoConfig | [AllowWarnDeny, NoInnerDeclarationsConfig] | [AllowWarnDeny, NoInnerDeclarationsConfig, NoInnerDeclarationsOptions]; "no-invalid-regexp"?: RuleNoConfig | [AllowWarnDeny, NoInvalidRegexpConfig]; "no-irregular-whitespace"?: RuleNoConfig | [AllowWarnDeny, NoIrregularWhitespaceConfig]; "no-iterator"?: RuleNoConfig; "no-label-var"?: RuleNoConfig; "no-labels"?: RuleNoConfig | [AllowWarnDeny, NoLabels]; "no-lone-blocks"?: RuleNoConfig; "no-lonely-if"?: RuleNoConfig; "no-loop-func"?: RuleNoConfig; "no-loss-of-precision"?: RuleNoConfig; "no-magic-numbers"?: RuleNoConfig | [AllowWarnDeny, NoMagicNumbersConfig]; "no-misleading-character-class"?: RuleNoConfig | [AllowWarnDeny, NoMisleadingCharacterClass]; "no-multi-assign"?: RuleNoConfig | [AllowWarnDeny, NoMultiAssign]; "no-multi-str"?: RuleNoConfig; "no-negated-condition"?: RuleNoConfig; "no-nested-ternary"?: RuleNoConfig; "no-new"?: RuleNoConfig; "no-new-func"?: RuleNoConfig; "no-new-native-nonconstructor"?: RuleNoConfig; "no-new-wrappers"?: RuleNoConfig; "no-nonoctal-decimal-escape"?: RuleNoConfig; "no-obj-calls"?: RuleNoConfig; "no-object-constructor"?: RuleNoConfig; "no-param-reassign"?: RuleNoConfig | [AllowWarnDeny, NoParamReassignConfig]; "no-plusplus"?: RuleNoConfig | [AllowWarnDeny, NoPlusplus]; "no-promise-executor-return"?: RuleNoConfig | [AllowWarnDeny, NoPromiseExecutorReturnConfig]; "no-proto"?: RuleNoConfig; "no-prototype-builtins"?: RuleNoConfig; "no-redeclare"?: RuleNoConfig | [AllowWarnDeny, NoRedeclare]; "no-regex-spaces"?: RuleNoConfig; "no-restricted-exports"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedExportsConfig]; "no-restricted-globals"?: RuleNoConfig | [AllowWarnDeny, ...NoRestrictedGlobalsConfigEnum[]]; "no-restricted-imports"?: RuleNoConfig | [AllowWarnDeny, ...NoRestrictedImportsConfigEnum[]]; "no-restricted-properties"?: RuleNoConfig | [AllowWarnDeny, ...PropertyDetails[]]; "no-return-assign"?: RuleNoConfig | [AllowWarnDeny, NoReturnAssignMode]; "no-script-url"?: RuleNoConfig; "no-self-assign"?: RuleNoConfig | [AllowWarnDeny, NoSelfAssign]; "no-self-compare"?: RuleNoConfig; "no-sequences"?: RuleNoConfig | [AllowWarnDeny, NoSequences]; "no-setter-return"?: RuleNoConfig; "no-shadow"?: RuleNoConfig | [AllowWarnDeny, NoShadowConfig]; "no-shadow-restricted-names"?: RuleNoConfig | [AllowWarnDeny, NoShadowRestrictedNamesConfig]; "no-sparse-arrays"?: RuleNoConfig; "no-template-curly-in-string"?: RuleNoConfig; "no-ternary"?: RuleNoConfig; "no-this-before-super"?: RuleNoConfig; "no-throw-literal"?: RuleNoConfig; "no-unassigned-vars"?: RuleNoConfig; "no-undef"?: RuleNoConfig | [AllowWarnDeny, NoUndef]; "no-undefined"?: RuleNoConfig; "no-underscore-dangle"?: RuleNoConfig | [AllowWarnDeny, NoUnderscoreDangleConfig]; "no-unexpected-multiline"?: RuleNoConfig; "no-unmodified-loop-condition"?: RuleNoConfig | [AllowWarnDeny, NoUnmodifiedLoopCondition]; "no-unneeded-ternary"?: RuleNoConfig | [AllowWarnDeny, NoUnneededTernary]; "no-unreachable"?: RuleNoConfig; "no-unreachable-loop"?: RuleNoConfig | [AllowWarnDeny, NoUnreachableLoopConfig]; "no-unsafe-finally"?: RuleNoConfig; "no-unsafe-negation"?: RuleNoConfig | [AllowWarnDeny, NoUnsafeNegation]; "no-unsafe-optional-chaining"?: RuleNoConfig | [AllowWarnDeny, NoUnsafeOptionalChaining]; "no-unused-expressions"?: RuleNoConfig | [AllowWarnDeny, NoUnusedExpressionsConfig]; "no-unused-labels"?: RuleNoConfig; "no-unused-private-class-members"?: RuleNoConfig; "no-unused-vars"?: RuleNoConfig | [AllowWarnDeny, NoUnusedVarsConfig]; "no-use-before-define"?: RuleNoConfig | [AllowWarnDeny, NoUseBeforeDefineConfigJson]; "no-useless-assignment"?: RuleNoConfig; "no-useless-backreference"?: RuleNoConfig; "no-useless-call"?: RuleNoConfig; "no-useless-catch"?: RuleNoConfig; "no-useless-computed-key"?: RuleNoConfig | [AllowWarnDeny, NoUselessComputedKey]; "no-useless-concat"?: RuleNoConfig; "no-useless-constructor"?: RuleNoConfig; "no-useless-escape"?: RuleNoConfig | [AllowWarnDeny, NoUselessEscapeConfig]; "no-useless-rename"?: RuleNoConfig | [AllowWarnDeny, NoUselessRenameConfig]; "no-useless-return"?: RuleNoConfig; "no-var"?: RuleNoConfig; "no-void"?: RuleNoConfig | [AllowWarnDeny, NoVoid]; "no-warning-comments"?: RuleNoConfig | [AllowWarnDeny, NoWarningCommentsConfig]; "no-with"?: RuleNoConfig; "node/callback-return"?: RuleNoConfig | [AllowWarnDeny, CallbackReturn]; "node/exports-style"?: RuleNoConfig | [AllowWarnDeny, ExportsStyleMode] | [AllowWarnDeny, ExportsStyleMode, ExportsStyleOptions]; "node/global-require"?: RuleNoConfig; "node/handle-callback-err"?: RuleNoConfig | [AllowWarnDeny, HandleCallbackErrConfig]; "node/no-exports-assign"?: RuleNoConfig; "node/no-mixed-requires"?: RuleNoConfig | [AllowWarnDeny, NoMixedRequiresConfig]; "node/no-new-require"?: RuleNoConfig; "node/no-path-concat"?: RuleNoConfig; "node/no-process-env"?: RuleNoConfig | [AllowWarnDeny, NoProcessEnvConfig]; "node/no-sync"?: RuleNoConfig | [AllowWarnDeny, NoSyncConfig]; "node/no-top-level-await"?: RuleNoConfig | [AllowWarnDeny, NoTopLevelAwaitConfig]; "object-shorthand"?: RuleNoConfig | [AllowWarnDeny, ShorthandType] | [AllowWarnDeny, ShorthandType, ObjectShorthandOptions]; "one-var"?: RuleNoConfig | [AllowWarnDeny, OneVar]; "operator-assignment"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever]; "oxc/approx-constant"?: RuleNoConfig; "oxc/bad-array-method-on-arguments"?: RuleNoConfig; "oxc/bad-bitwise-operator"?: RuleNoConfig; "oxc/bad-char-at-comparison"?: RuleNoConfig; "oxc/bad-comparison-sequence"?: RuleNoConfig; "oxc/bad-match-all-arg"?: RuleNoConfig; "oxc/bad-min-max-func"?: RuleNoConfig; "oxc/bad-object-literal-comparison"?: RuleNoConfig; "oxc/bad-replace-all-arg"?: RuleNoConfig; "oxc/branches-sharing-code"?: RuleNoConfig; "oxc/const-comparisons"?: RuleNoConfig; "oxc/double-comparisons"?: RuleNoConfig; "oxc/erasing-op"?: RuleNoConfig; "oxc/misrefactored-assign-op"?: RuleNoConfig; "oxc/missing-throw"?: RuleNoConfig; "oxc/no-accumulating-spread"?: RuleNoConfig; "oxc/no-async-await"?: RuleNoConfig; "oxc/no-async-endpoint-handlers"?: RuleNoConfig | [AllowWarnDeny, NoAsyncEndpointHandlersConfig]; "oxc/no-barrel-file"?: RuleNoConfig | [AllowWarnDeny, NoBarrelFile]; "oxc/no-const-enum"?: RuleNoConfig; "oxc/no-map-spread"?: RuleNoConfig | [AllowWarnDeny, NoMapSpreadConfig]; "oxc/no-optional-chaining"?: RuleNoConfig | [AllowWarnDeny, NoOptionalChainingConfig]; "oxc/no-rest-spread-properties"?: RuleNoConfig | [AllowWarnDeny, NoRestSpreadPropertiesOptions]; "oxc/no-this-in-exported-function"?: RuleNoConfig; "oxc/number-arg-out-of-range"?: RuleNoConfig; "oxc/only-used-in-recursion"?: RuleNoConfig; "oxc/uninvoked-array-callback"?: RuleNoConfig; "prefer-arrow-callback"?: RuleNoConfig | [AllowWarnDeny, PreferArrowCallbackConfig]; "prefer-const"?: RuleNoConfig | [AllowWarnDeny, PreferConstConfig]; "prefer-destructuring"?: RuleNoConfig | [AllowWarnDeny, PreferDestructuringOption] | [AllowWarnDeny, PreferDestructuringOption, PreferDestructuringEnforcementConfig]; "prefer-exponentiation-operator"?: RuleNoConfig; "prefer-named-capture-group"?: RuleNoConfig; "prefer-numeric-literals"?: RuleNoConfig; "prefer-object-has-own"?: RuleNoConfig; "prefer-object-spread"?: RuleNoConfig; "prefer-promise-reject-errors"?: RuleNoConfig | [AllowWarnDeny, PreferPromiseRejectErrors]; "prefer-regex-literals"?: RuleNoConfig | [AllowWarnDeny, PreferRegexLiteralsConfig]; "prefer-rest-params"?: RuleNoConfig; "prefer-spread"?: RuleNoConfig; "prefer-template"?: RuleNoConfig; "preserve-caught-error"?: RuleNoConfig | [AllowWarnDeny, PreserveCaughtErrorOptions]; "promise/always-return"?: RuleNoConfig | [AllowWarnDeny, AlwaysReturnConfig]; "promise/avoid-new"?: RuleNoConfig; "promise/catch-or-return"?: RuleNoConfig | [AllowWarnDeny, CatchOrReturnConfig]; "promise/no-callback-in-promise"?: RuleNoConfig | [AllowWarnDeny, NoCallbackInPromiseConfig]; "promise/no-multiple-resolved"?: RuleNoConfig; "promise/no-nesting"?: RuleNoConfig; "promise/no-new-statics"?: RuleNoConfig; "promise/no-promise-in-callback"?: RuleNoConfig | [AllowWarnDeny, NoPromiseInCallbackConfig]; "promise/no-return-in-finally"?: RuleNoConfig; "promise/no-return-wrap"?: RuleNoConfig | [AllowWarnDeny, NoReturnWrap]; "promise/param-names"?: RuleNoConfig | [AllowWarnDeny, ParamNamesConfig]; "promise/prefer-await-to-callbacks"?: RuleNoConfig; "promise/prefer-await-to-then"?: RuleNoConfig | [AllowWarnDeny, PreferAwaitToThenConfig]; "promise/prefer-catch"?: RuleNoConfig; "promise/spec-only"?: RuleNoConfig | [AllowWarnDeny, SpecOnlyConfig]; "promise/valid-params"?: RuleNoConfig; radix?: RuleNoConfig | [AllowWarnDeny, RadixType]; "react-perf/jsx-no-jsx-as-prop"?: RuleNoConfig | [AllowWarnDeny, ReactPerfConfig]; "react-perf/jsx-no-new-array-as-prop"?: RuleNoConfig | [AllowWarnDeny, ReactPerfConfig]; "react-perf/jsx-no-new-function-as-prop"?: RuleNoConfig | [AllowWarnDeny, ReactPerfConfig]; "react-perf/jsx-no-new-object-as-prop"?: RuleNoConfig | [AllowWarnDeny, ReactPerfConfig]; "react/button-has-type"?: RuleNoConfig | [AllowWarnDeny, ButtonHasType]; "react/capitalized-calls"?: RuleNoConfig; "react/checked-requires-onchange-or-readonly"?: RuleNoConfig | [AllowWarnDeny, CheckedRequiresOnchangeOrReadonly]; "react/display-name"?: RuleNoConfig | [AllowWarnDeny, DisplayNameConfig]; "react/error-boundaries"?: RuleNoConfig; "react/exhaustive-deps"?: RuleNoConfig | [AllowWarnDeny, ExhaustiveDepsConfig]; "react/exhaustive-effect-dependencies"?: RuleNoConfig; "react/forbid-component-props"?: RuleNoConfig | [AllowWarnDeny, ForbidComponentPropsConfig]; "react/forbid-dom-props"?: RuleNoConfig | [AllowWarnDeny, ForbidDomPropsConfig]; "react/forbid-elements"?: RuleNoConfig | [AllowWarnDeny, ForbidElementsConfig]; "react/forward-ref-uses-ref"?: RuleNoConfig; "react/function-component-definition"?: RuleNoConfig | [AllowWarnDeny, FunctionComponentDefinitionConfig]; "react/globals"?: RuleNoConfig; "react/hook-use-state"?: RuleNoConfig | [AllowWarnDeny, HookUseStateConfig]; "react/hooks"?: RuleNoConfig; "react/iframe-missing-sandbox"?: RuleNoConfig; "react/immutability"?: RuleNoConfig; "react/incompatible-library"?: RuleNoConfig; "react/invariant"?: RuleNoConfig; "react/jsx-boolean-value"?: RuleNoConfig | [AllowWarnDeny, EnforceBooleanAttribute] | [AllowWarnDeny, EnforceBooleanAttribute, JsxBooleanValueOptions]; "react/jsx-curly-brace-presence"?: RuleNoConfig | [AllowWarnDeny, JsxCurlyBracePresenceConfig]; "react/jsx-filename-extension"?: RuleNoConfig | [AllowWarnDeny, JsxFilenameExtensionConfig]; "react/jsx-fragments"?: RuleNoConfig | [AllowWarnDeny, FragmentMode]; "react/jsx-handler-names"?: RuleNoConfig | [AllowWarnDeny, JsxHandlerNamesConfig]; "react/jsx-key"?: RuleNoConfig | [AllowWarnDeny, JsxKeyConfig]; "react/jsx-max-depth"?: RuleNoConfig | [AllowWarnDeny, JsxMaxDepthConfig]; "react/jsx-no-comment-textnodes"?: RuleNoConfig; "react/jsx-no-constructed-context-values"?: RuleNoConfig; "react/jsx-no-duplicate-props"?: RuleNoConfig; "react/jsx-no-literals"?: RuleNoConfig | [AllowWarnDeny, JsxNoLiteralsConfig]; "react/jsx-no-script-url"?: RuleNoConfig | ([AllowWarnDeny, JsxNoScriptUrlComponent[]] | [AllowWarnDeny, JsxNoScriptUrlComponent[], JsxNoScriptUrlOptions] | [AllowWarnDeny, JsxNoScriptUrlOptions]); "react/jsx-no-target-blank"?: RuleNoConfig | [AllowWarnDeny, JsxNoTargetBlank]; "react/jsx-no-undef"?: RuleNoConfig; "react/jsx-no-useless-fragment"?: RuleNoConfig | [AllowWarnDeny, JsxNoUselessFragment]; "react/jsx-pascal-case"?: RuleNoConfig | [AllowWarnDeny, JsxPascalCaseConfig]; "react/jsx-props-no-spread-multi"?: RuleNoConfig; "react/jsx-props-no-spreading"?: RuleNoConfig | [AllowWarnDeny, JsxPropsNoSpreadingConfig]; "react/memo-dependencies"?: RuleNoConfig; "react/no-array-index-key"?: RuleNoConfig; "react/no-children-prop"?: RuleNoConfig; "react/no-clone-element"?: RuleNoConfig; "react/no-danger"?: RuleNoConfig; "react/no-danger-with-children"?: RuleNoConfig; "react/no-deriving-state-in-effects"?: RuleNoConfig; "react/no-did-mount-set-state"?: RuleNoConfig | [AllowWarnDeny, AllowedOrDisallowInFunc]; "react/no-did-update-set-state"?: RuleNoConfig | [AllowWarnDeny, AllowedOrDisallowInFunc]; "react/no-direct-mutation-state"?: RuleNoConfig; "react/no-find-dom-node"?: RuleNoConfig; "react/no-is-mounted"?: RuleNoConfig; "react/no-multi-comp"?: RuleNoConfig | [AllowWarnDeny, NoMultiCompConfig]; "react/no-namespace"?: RuleNoConfig; "react/no-object-type-as-default-prop"?: RuleNoConfig; "react/no-react-children"?: RuleNoConfig; "react/no-redundant-should-component-update"?: RuleNoConfig; "react/no-render-return-value"?: RuleNoConfig; "react/no-set-state"?: RuleNoConfig; "react/no-string-refs"?: RuleNoConfig | [AllowWarnDeny, NoStringRefs]; "react/no-this-in-sfc"?: RuleNoConfig; "react/no-unescaped-entities"?: RuleNoConfig; "react/no-unknown-property"?: RuleNoConfig | [AllowWarnDeny, NoUnknownPropertyConfig]; "react/no-unsafe"?: RuleNoConfig | [AllowWarnDeny, NoUnsafeConfig]; "react/no-unstable-nested-components"?: RuleNoConfig | [AllowWarnDeny, NoUnstableNestedComponentsConfig]; "react/no-will-update-set-state"?: RuleNoConfig | [AllowWarnDeny, AllowedOrDisallowInFunc]; "react/only-export-components"?: RuleNoConfig | [AllowWarnDeny, OnlyExportComponentsConfig]; "react/prefer-es6-class"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever]; "react/prefer-function-component"?: RuleNoConfig | [AllowWarnDeny, PreferFunctionComponent]; "react/preserve-manual-memoization"?: RuleNoConfig; "react/purity"?: RuleNoConfig; "react/react-in-jsx-scope"?: RuleNoConfig; "react/refs"?: RuleNoConfig; "react/require-render-return"?: RuleNoConfig; "react/rule-suppression"?: RuleNoConfig; "react/rules-of-hooks"?: RuleNoConfig; "react/self-closing-comp"?: RuleNoConfig | [AllowWarnDeny, SelfClosingComp]; "react/set-state-in-effect"?: RuleNoConfig; "react/set-state-in-render"?: RuleNoConfig; "react/state-in-constructor"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever]; "react/static-components"?: RuleNoConfig; "react/style-prop-object"?: RuleNoConfig | [AllowWarnDeny, StylePropObjectConfig]; "react/syntax"?: RuleNoConfig; "react/todo"?: RuleNoConfig; "react/unsupported-syntax"?: RuleNoConfig; "react/use-memo"?: RuleNoConfig; "react/void-dom-elements-no-children"?: RuleNoConfig; "react/void-use-memo"?: RuleNoConfig; "require-await"?: RuleNoConfig; "require-unicode-regexp"?: RuleNoConfig | [AllowWarnDeny, RequireUnicodeRegexpConfig]; "require-yield"?: RuleNoConfig; "sort-imports"?: RuleNoConfig | [AllowWarnDeny, SortImportsOptions]; "sort-keys"?: RuleNoConfig | [AllowWarnDeny, SortOrder] | [AllowWarnDeny, SortOrder, SortKeysOptions]; "sort-vars"?: RuleNoConfig | [AllowWarnDeny, SortVars]; "symbol-description"?: RuleNoConfig; "typescript/adjacent-overload-signatures"?: RuleNoConfig; "typescript/array-type"?: RuleNoConfig | [AllowWarnDeny, ArrayTypeConfig]; "typescript/await-thenable"?: RuleNoConfig; "typescript/ban-ts-comment"?: RuleNoConfig | [AllowWarnDeny, BanTsCommentConfig]; "typescript/ban-tslint-comment"?: RuleNoConfig; "typescript/ban-types"?: RuleNoConfig; "typescript/class-literal-property-style"?: RuleNoConfig | [AllowWarnDeny, ClassLiteralPropertyStyleOption]; "typescript/consistent-generic-constructors"?: RuleNoConfig | [AllowWarnDeny, PreferGenericType]; "typescript/consistent-indexed-object-style"?: RuleNoConfig | [AllowWarnDeny, ConsistentIndexedObjectStyleConfig]; "typescript/consistent-return"?: RuleNoConfig | [AllowWarnDeny, ConsistentReturnConfig]; "typescript/consistent-type-assertions"?: RuleNoConfig | [AllowWarnDeny, ConsistentTypeAssertionsConfig]; "typescript/consistent-type-definitions"?: RuleNoConfig | [AllowWarnDeny, ConsistentTypeDefinitionsConfig]; "typescript/consistent-type-exports"?: RuleNoConfig | [AllowWarnDeny, ConsistentTypeExportsConfig]; "typescript/consistent-type-imports"?: RuleNoConfig | [AllowWarnDeny, ConsistentTypeImportsConfig]; "typescript/dot-notation"?: RuleNoConfig | [AllowWarnDeny, DotNotationConfig]; "typescript/explicit-function-return-type"?: RuleNoConfig | [AllowWarnDeny, ExplicitFunctionReturnTypeConfig]; "typescript/explicit-member-accessibility"?: RuleNoConfig | [AllowWarnDeny, ExplicitMemberAccessibilityConfig]; "typescript/explicit-module-boundary-types"?: RuleNoConfig | [AllowWarnDeny, ExplicitModuleBoundaryTypesConfig]; "typescript/method-signature-style"?: RuleNoConfig | [AllowWarnDeny, MethodSignatureStyleConfig]; "typescript/no-array-delete"?: RuleNoConfig; "typescript/no-base-to-string"?: RuleNoConfig | [AllowWarnDeny, NoBaseToStringConfig]; "typescript/no-confusing-non-null-assertion"?: RuleNoConfig; "typescript/no-confusing-void-expression"?: RuleNoConfig | [AllowWarnDeny, NoConfusingVoidExpressionConfig]; "typescript/no-deprecated"?: RuleNoConfig | [AllowWarnDeny, NoDeprecatedConfig]; "typescript/no-duplicate-enum-values"?: RuleNoConfig; "typescript/no-duplicate-type-constituents"?: RuleNoConfig | [AllowWarnDeny, NoDuplicateTypeConstituentsConfig]; "typescript/no-dynamic-delete"?: RuleNoConfig; "typescript/no-empty-interface"?: RuleNoConfig | [AllowWarnDeny, NoEmptyInterface]; "typescript/no-empty-object-type"?: RuleNoConfig | [AllowWarnDeny, NoEmptyObjectTypeConfig]; "typescript/no-explicit-any"?: RuleNoConfig | [AllowWarnDeny, NoExplicitAny]; "typescript/no-extra-non-null-assertion"?: RuleNoConfig; "typescript/no-extraneous-class"?: RuleNoConfig | [AllowWarnDeny, NoExtraneousClass]; "typescript/no-floating-promises"?: RuleNoConfig | [AllowWarnDeny, NoFloatingPromisesConfig]; "typescript/no-for-in-array"?: RuleNoConfig; "typescript/no-implied-eval"?: RuleNoConfig; "typescript/no-import-type-side-effects"?: RuleNoConfig; "typescript/no-inferrable-types"?: RuleNoConfig | [AllowWarnDeny, NoInferrableTypes]; "typescript/no-invalid-void-type"?: RuleNoConfig | [AllowWarnDeny, NoInvalidVoidTypeConfig]; "typescript/no-meaningless-void-operator"?: RuleNoConfig | [AllowWarnDeny, NoMeaninglessVoidOperatorConfig]; "typescript/no-misused-new"?: RuleNoConfig; "typescript/no-misused-promises"?: RuleNoConfig | [AllowWarnDeny, NoMisusedPromisesConfig]; "typescript/no-misused-spread"?: RuleNoConfig | [AllowWarnDeny, NoMisusedSpreadConfig]; "typescript/no-mixed-enums"?: RuleNoConfig; "typescript/no-namespace"?: RuleNoConfig | [AllowWarnDeny, NoNamespace]; "typescript/no-non-null-asserted-nullish-coalescing"?: RuleNoConfig; "typescript/no-non-null-asserted-optional-chain"?: RuleNoConfig; "typescript/no-non-null-assertion"?: RuleNoConfig; "typescript/no-redundant-type-constituents"?: RuleNoConfig; "typescript/no-require-imports"?: RuleNoConfig | [AllowWarnDeny, NoRequireImportsConfig]; "typescript/no-restricted-types"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedTypesConfig]; "typescript/no-this-alias"?: RuleNoConfig | [AllowWarnDeny, NoThisAliasConfig]; "typescript/no-unnecessary-boolean-literal-compare"?: RuleNoConfig | [AllowWarnDeny, NoUnnecessaryBooleanLiteralCompareConfig]; "typescript/no-unnecessary-condition"?: RuleNoConfig | [AllowWarnDeny, NoUnnecessaryConditionConfig]; "typescript/no-unnecessary-parameter-property-assignment"?: RuleNoConfig; "typescript/no-unnecessary-qualifier"?: RuleNoConfig; "typescript/no-unnecessary-template-expression"?: RuleNoConfig; "typescript/no-unnecessary-type-arguments"?: RuleNoConfig; "typescript/no-unnecessary-type-assertion"?: RuleNoConfig | [AllowWarnDeny, NoUnnecessaryTypeAssertionConfig]; "typescript/no-unnecessary-type-constraint"?: RuleNoConfig; "typescript/no-unnecessary-type-conversion"?: RuleNoConfig; "typescript/no-unnecessary-type-parameters"?: RuleNoConfig; "typescript/no-unsafe-argument"?: RuleNoConfig; "typescript/no-unsafe-assignment"?: RuleNoConfig; "typescript/no-unsafe-call"?: RuleNoConfig; "typescript/no-unsafe-declaration-merging"?: RuleNoConfig; "typescript/no-unsafe-enum-comparison"?: RuleNoConfig; "typescript/no-unsafe-function-type"?: RuleNoConfig; "typescript/no-unsafe-member-access"?: RuleNoConfig | [AllowWarnDeny, NoUnsafeMemberAccessConfig]; "typescript/no-unsafe-return"?: RuleNoConfig; "typescript/no-unsafe-type-assertion"?: RuleNoConfig; "typescript/no-unsafe-unary-minus"?: RuleNoConfig; "typescript/no-useless-default-assignment"?: RuleNoConfig; "typescript/no-useless-empty-export"?: RuleNoConfig; "typescript/no-var-requires"?: RuleNoConfig; "typescript/no-wrapper-object-types"?: RuleNoConfig; "typescript/non-nullable-type-assertion-style"?: RuleNoConfig; "typescript/only-throw-error"?: RuleNoConfig | [AllowWarnDeny, OnlyThrowErrorConfig]; "typescript/parameter-properties"?: RuleNoConfig | [AllowWarnDeny, ParameterPropertiesConfig]; "typescript/prefer-as-const"?: RuleNoConfig; "typescript/prefer-enum-initializers"?: RuleNoConfig; "typescript/prefer-find"?: RuleNoConfig; "typescript/prefer-for-of"?: RuleNoConfig; "typescript/prefer-function-type"?: RuleNoConfig; "typescript/prefer-includes"?: RuleNoConfig; "typescript/prefer-literal-enum-member"?: RuleNoConfig | [AllowWarnDeny, PreferLiteralEnumMember]; "typescript/prefer-namespace-keyword"?: RuleNoConfig; "typescript/prefer-nullish-coalescing"?: RuleNoConfig | [AllowWarnDeny, PreferNullishCoalescingConfig]; "typescript/prefer-optional-chain"?: RuleNoConfig | [AllowWarnDeny, PreferOptionalChainConfig]; "typescript/prefer-promise-reject-errors"?: RuleNoConfig | [AllowWarnDeny, PreferPromiseRejectErrorsConfig]; "typescript/prefer-readonly"?: RuleNoConfig | [AllowWarnDeny, PreferReadonlyConfig]; "typescript/prefer-readonly-parameter-types"?: RuleNoConfig | [AllowWarnDeny, PreferReadonlyParameterTypesConfig]; "typescript/prefer-reduce-type-parameter"?: RuleNoConfig; "typescript/prefer-regexp-exec"?: RuleNoConfig; "typescript/prefer-return-this-type"?: RuleNoConfig; "typescript/prefer-string-starts-ends-with"?: RuleNoConfig | [AllowWarnDeny, PreferStringStartsEndsWithConfig]; "typescript/prefer-ts-expect-error"?: RuleNoConfig; "typescript/promise-function-async"?: RuleNoConfig | [AllowWarnDeny, PromiseFunctionAsyncConfig]; "typescript/related-getter-setter-pairs"?: RuleNoConfig; "typescript/require-array-sort-compare"?: RuleNoConfig | [AllowWarnDeny, RequireArraySortCompareConfig]; "typescript/require-await"?: RuleNoConfig; "typescript/restrict-plus-operands"?: RuleNoConfig | [AllowWarnDeny, RestrictPlusOperandsConfig]; "typescript/restrict-template-expressions"?: RuleNoConfig | [AllowWarnDeny, RestrictTemplateExpressionsConfig]; "typescript/return-await"?: RuleNoConfig | [AllowWarnDeny, ReturnAwaitOption]; "typescript/strict-boolean-expressions"?: RuleNoConfig | [AllowWarnDeny, StrictBooleanExpressionsConfig]; "typescript/strict-void-return"?: RuleNoConfig | [AllowWarnDeny, StrictVoidReturnConfig]; "typescript/switch-exhaustiveness-check"?: RuleNoConfig | [AllowWarnDeny, SwitchExhaustivenessCheckConfig]; "typescript/triple-slash-reference"?: RuleNoConfig | [AllowWarnDeny, TripleSlashReferenceConfig]; "typescript/unbound-method"?: RuleNoConfig | [AllowWarnDeny, UnboundMethodConfig]; "typescript/unified-signatures"?: RuleNoConfig | [AllowWarnDeny, UnifiedSignaturesOptions]; "typescript/use-unknown-in-catch-callback-variable"?: RuleNoConfig; "unicode-bom"?: RuleNoConfig | [AllowWarnDeny, BomOptionType]; "unicorn/catch-error-name"?: RuleNoConfig | [AllowWarnDeny, CatchErrorNameConfig]; "unicorn/consistent-assert"?: RuleNoConfig; "unicorn/consistent-date-clone"?: RuleNoConfig; "unicorn/consistent-empty-array-spread"?: RuleNoConfig; "unicorn/consistent-existence-index-check"?: RuleNoConfig; "unicorn/consistent-function-scoping"?: RuleNoConfig | [AllowWarnDeny, ConsistentFunctionScoping]; "unicorn/consistent-template-literal-escape"?: RuleNoConfig; "unicorn/custom-error-definition"?: RuleNoConfig; "unicorn/empty-brace-spaces"?: RuleNoConfig; "unicorn/error-message"?: RuleNoConfig; "unicorn/escape-case"?: RuleNoConfig; "unicorn/explicit-length-check"?: RuleNoConfig | [AllowWarnDeny, ExplicitLengthCheck]; "unicorn/explicit-timer-delay"?: RuleNoConfig | [AllowWarnDeny, ExplicitTimerDelayMode]; "unicorn/filename-case"?: DummyRule; "unicorn/import-style"?: RuleNoConfig | [AllowWarnDeny, ImportStyleConfig]; "unicorn/max-nested-calls"?: RuleNoConfig | [AllowWarnDeny, MaxNestedCalls]; "unicorn/new-for-builtins"?: RuleNoConfig; "unicorn/no-abusive-eslint-disable"?: RuleNoConfig; "unicorn/no-accessor-recursion"?: RuleNoConfig; "unicorn/no-anonymous-default-export"?: RuleNoConfig; "unicorn/no-array-callback-reference"?: RuleNoConfig; "unicorn/no-array-fill-with-reference-type"?: RuleNoConfig; "unicorn/no-array-for-each"?: RuleNoConfig; "unicorn/no-array-method-this-argument"?: RuleNoConfig; "unicorn/no-array-reduce"?: RuleNoConfig | [AllowWarnDeny, NoArrayReduce]; "unicorn/no-array-reverse"?: RuleNoConfig | [AllowWarnDeny, NoArrayReverse]; "unicorn/no-array-sort"?: RuleNoConfig | [AllowWarnDeny, NoArraySort]; "unicorn/no-await-expression-member"?: RuleNoConfig; "unicorn/no-await-in-promise-methods"?: RuleNoConfig; "unicorn/no-confusing-array-with"?: RuleNoConfig; "unicorn/no-console-spaces"?: RuleNoConfig; "unicorn/no-document-cookie"?: RuleNoConfig; "unicorn/no-empty-file"?: RuleNoConfig; "unicorn/no-hex-escape"?: RuleNoConfig; "unicorn/no-immediate-mutation"?: RuleNoConfig; "unicorn/no-instanceof-array"?: RuleNoConfig; "unicorn/no-instanceof-builtins"?: RuleNoConfig | [AllowWarnDeny, NoInstanceofBuiltinsConfig]; "unicorn/no-invalid-fetch-options"?: RuleNoConfig; "unicorn/no-invalid-remove-event-listener"?: RuleNoConfig; "unicorn/no-length-as-slice-end"?: RuleNoConfig; "unicorn/no-lonely-if"?: RuleNoConfig; "unicorn/no-magic-array-flat-depth"?: RuleNoConfig; "unicorn/no-negated-condition"?: RuleNoConfig; "unicorn/no-negation-in-equality-check"?: RuleNoConfig; "unicorn/no-nested-ternary"?: RuleNoConfig; "unicorn/no-new-array"?: RuleNoConfig; "unicorn/no-new-buffer"?: RuleNoConfig; "unicorn/no-null"?: RuleNoConfig | [AllowWarnDeny, NoNull]; "unicorn/no-object-as-default-parameter"?: RuleNoConfig; "unicorn/no-process-exit"?: RuleNoConfig; "unicorn/no-single-promise-in-promise-methods"?: RuleNoConfig; "unicorn/no-static-only-class"?: RuleNoConfig; "unicorn/no-thenable"?: RuleNoConfig; "unicorn/no-this-assignment"?: RuleNoConfig; "unicorn/no-typeof-undefined"?: RuleNoConfig | [AllowWarnDeny, NoTypeofUndefined]; "unicorn/no-unnecessary-array-flat-depth"?: RuleNoConfig; "unicorn/no-unnecessary-array-splice-count"?: RuleNoConfig; "unicorn/no-unnecessary-await"?: RuleNoConfig; "unicorn/no-unnecessary-slice-end"?: RuleNoConfig; "unicorn/no-unreadable-array-destructuring"?: RuleNoConfig; "unicorn/no-unreadable-iife"?: RuleNoConfig; "unicorn/no-useless-collection-argument"?: RuleNoConfig; "unicorn/no-useless-error-capture-stack-trace"?: RuleNoConfig; "unicorn/no-useless-fallback-in-spread"?: RuleNoConfig; "unicorn/no-useless-iterator-to-array"?: RuleNoConfig; "unicorn/no-useless-length-check"?: RuleNoConfig; "unicorn/no-useless-promise-resolve-reject"?: RuleNoConfig | [AllowWarnDeny, NoUselessPromiseResolveRejectOptions]; "unicorn/no-useless-spread"?: RuleNoConfig; "unicorn/no-useless-switch-case"?: RuleNoConfig; "unicorn/no-useless-undefined"?: RuleNoConfig | [AllowWarnDeny, NoUselessUndefined]; "unicorn/no-zero-fractions"?: RuleNoConfig; "unicorn/number-literal-case"?: RuleNoConfig; "unicorn/numeric-separators-style"?: RuleNoConfig | [AllowWarnDeny, NumericSeparatorsStyleConfig]; "unicorn/prefer-add-event-listener"?: RuleNoConfig; "unicorn/prefer-array-find"?: RuleNoConfig; "unicorn/prefer-array-flat"?: RuleNoConfig; "unicorn/prefer-array-flat-map"?: RuleNoConfig; "unicorn/prefer-array-index-of"?: RuleNoConfig; "unicorn/prefer-array-some"?: RuleNoConfig; "unicorn/prefer-at"?: RuleNoConfig | [AllowWarnDeny, PreferAtConfig]; "unicorn/prefer-bigint-literals"?: RuleNoConfig; "unicorn/prefer-blob-reading-methods"?: RuleNoConfig; "unicorn/prefer-class-fields"?: RuleNoConfig; "unicorn/prefer-classlist-toggle"?: RuleNoConfig; "unicorn/prefer-code-point"?: RuleNoConfig; "unicorn/prefer-date-now"?: RuleNoConfig; "unicorn/prefer-default-parameters"?: RuleNoConfig; "unicorn/prefer-dom-node-append"?: RuleNoConfig; "unicorn/prefer-dom-node-dataset"?: RuleNoConfig; "unicorn/prefer-dom-node-remove"?: RuleNoConfig; "unicorn/prefer-dom-node-text-content"?: RuleNoConfig; "unicorn/prefer-event-target"?: RuleNoConfig; "unicorn/prefer-export-from"?: RuleNoConfig | [AllowWarnDeny, PreferExportFrom]; "unicorn/prefer-global-this"?: RuleNoConfig; "unicorn/prefer-import-meta-properties"?: RuleNoConfig; "unicorn/prefer-includes"?: RuleNoConfig; "unicorn/prefer-keyboard-event-key"?: RuleNoConfig; "unicorn/prefer-logical-operator-over-ternary"?: RuleNoConfig; "unicorn/prefer-math-min-max"?: RuleNoConfig; "unicorn/prefer-math-trunc"?: RuleNoConfig; "unicorn/prefer-modern-dom-apis"?: RuleNoConfig; "unicorn/prefer-modern-math-apis"?: RuleNoConfig; "unicorn/prefer-module"?: RuleNoConfig; "unicorn/prefer-native-coercion-functions"?: RuleNoConfig; "unicorn/prefer-negative-index"?: RuleNoConfig; "unicorn/prefer-node-protocol"?: RuleNoConfig; "unicorn/prefer-number-coercion"?: RuleNoConfig; "unicorn/prefer-number-properties"?: RuleNoConfig | [AllowWarnDeny, PreferNumberPropertiesConfig]; "unicorn/prefer-object-from-entries"?: RuleNoConfig | [AllowWarnDeny, PreferObjectFromEntriesConfig]; "unicorn/prefer-optional-catch-binding"?: RuleNoConfig; "unicorn/prefer-prototype-methods"?: RuleNoConfig; "unicorn/prefer-query-selector"?: RuleNoConfig; "unicorn/prefer-reflect-apply"?: RuleNoConfig; "unicorn/prefer-regexp-test"?: RuleNoConfig; "unicorn/prefer-response-static-json"?: RuleNoConfig; "unicorn/prefer-set-has"?: RuleNoConfig; "unicorn/prefer-set-size"?: RuleNoConfig; "unicorn/prefer-single-call"?: RuleNoConfig | [AllowWarnDeny, PreferSingleCallConfig]; "unicorn/prefer-spread"?: RuleNoConfig; "unicorn/prefer-string-raw"?: RuleNoConfig; "unicorn/prefer-string-replace-all"?: RuleNoConfig; "unicorn/prefer-string-slice"?: RuleNoConfig; "unicorn/prefer-string-starts-ends-with"?: RuleNoConfig; "unicorn/prefer-string-trim-start-end"?: RuleNoConfig; "unicorn/prefer-structured-clone"?: RuleNoConfig | [AllowWarnDeny, PreferStructuredCloneConfig]; "unicorn/prefer-ternary"?: RuleNoConfig | [AllowWarnDeny, PreferTernaryOption]; "unicorn/prefer-top-level-await"?: RuleNoConfig; "unicorn/prefer-type-error"?: RuleNoConfig; "unicorn/relative-url-style"?: RuleNoConfig | [AllowWarnDeny, RelativeUrlStyleConfig]; "unicorn/require-array-join-separator"?: RuleNoConfig; "unicorn/require-module-attributes"?: RuleNoConfig; "unicorn/require-module-specifiers"?: RuleNoConfig; "unicorn/require-number-to-fixed-digits-argument"?: RuleNoConfig; "unicorn/require-post-message-target-origin"?: RuleNoConfig; "unicorn/switch-case-braces"?: RuleNoConfig | [AllowWarnDeny, SwitchCaseBracesConfig]; "unicorn/switch-case-break-position"?: RuleNoConfig; "unicorn/text-encoding-identifier-case"?: RuleNoConfig | [AllowWarnDeny, TextEncodingIdentifierCase]; "unicorn/throw-new-error"?: RuleNoConfig; "use-isnan"?: RuleNoConfig | [AllowWarnDeny, UseIsnan]; "valid-typeof"?: RuleNoConfig | [AllowWarnDeny, ValidTypeof]; "vars-on-top"?: RuleNoConfig; "vitest/consistent-each-for"?: RuleNoConfig | [AllowWarnDeny, ConsistentEachForJson]; "vitest/consistent-test-filename"?: RuleNoConfig | [AllowWarnDeny, ConsistentTestFilenameConfig]; "vitest/consistent-test-it"?: RuleNoConfig | [AllowWarnDeny, ConsistentTestItConfig]; "vitest/consistent-vitest-vi"?: RuleNoConfig | [AllowWarnDeny, ConsistentVitestConfig]; "vitest/expect-expect"?: RuleNoConfig | [AllowWarnDeny, ExpectExpectConfig]; "vitest/hoisted-apis-on-top"?: RuleNoConfig; "vitest/max-expects"?: RuleNoConfig | [AllowWarnDeny, MaxExpectsConfig]; "vitest/max-nested-describe"?: RuleNoConfig | [AllowWarnDeny, MaxNestedDescribeConfig]; "vitest/no-alias-methods"?: RuleNoConfig; "vitest/no-commented-out-tests"?: RuleNoConfig; "vitest/no-conditional-expect"?: RuleNoConfig; "vitest/no-conditional-in-test"?: RuleNoConfig; "vitest/no-conditional-tests"?: RuleNoConfig; "vitest/no-disabled-tests"?: RuleNoConfig; "vitest/no-duplicate-hooks"?: RuleNoConfig; "vitest/no-focused-tests"?: RuleNoConfig; "vitest/no-hooks"?: RuleNoConfig | [AllowWarnDeny, NoHooksConfig]; "vitest/no-identical-title"?: RuleNoConfig; "vitest/no-import-node-test"?: RuleNoConfig; "vitest/no-importing-vitest-globals"?: RuleNoConfig; "vitest/no-interpolation-in-snapshots"?: RuleNoConfig; "vitest/no-large-snapshots"?: RuleNoConfig | [AllowWarnDeny, NoLargeSnapshotsConfig]; "vitest/no-mocks-import"?: RuleNoConfig; "vitest/no-restricted-matchers"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedMatchersConfig]; "vitest/no-restricted-vi-methods"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedTestMethodsConfig]; "vitest/no-standalone-expect"?: RuleNoConfig | [AllowWarnDeny, NoStandaloneExpectConfig]; "vitest/no-test-prefixes"?: RuleNoConfig; "vitest/no-test-return-statement"?: RuleNoConfig; "vitest/no-unneeded-async-expect-function"?: RuleNoConfig; "vitest/padding-around-after-all-blocks"?: RuleNoConfig; "vitest/padding-around-test-blocks"?: RuleNoConfig; "vitest/prefer-called-exactly-once-with"?: RuleNoConfig; "vitest/prefer-called-once"?: RuleNoConfig; "vitest/prefer-called-times"?: RuleNoConfig; "vitest/prefer-called-with"?: RuleNoConfig; "vitest/prefer-comparison-matcher"?: RuleNoConfig; "vitest/prefer-describe-function-title"?: RuleNoConfig; "vitest/prefer-each"?: RuleNoConfig; "vitest/prefer-equality-matcher"?: RuleNoConfig; "vitest/prefer-expect-assertions"?: RuleNoConfig | [AllowWarnDeny, PreferExpectAssertionsConfig]; "vitest/prefer-expect-resolves"?: RuleNoConfig; "vitest/prefer-expect-type-of"?: RuleNoConfig; "vitest/prefer-hooks-in-order"?: RuleNoConfig; "vitest/prefer-hooks-on-top"?: RuleNoConfig; "vitest/prefer-import-in-mock"?: RuleNoConfig | [AllowWarnDeny, PreferImportInMockConfig]; "vitest/prefer-importing-vitest-globals"?: RuleNoConfig; "vitest/prefer-lowercase-title"?: RuleNoConfig | [AllowWarnDeny, PreferLowercaseTitleConfig]; "vitest/prefer-mock-promise-shorthand"?: RuleNoConfig; "vitest/prefer-mock-return-shorthand"?: RuleNoConfig; "vitest/prefer-snapshot-hint"?: RuleNoConfig | [AllowWarnDeny, SnapshotHintMode]; "vitest/prefer-spy-on"?: RuleNoConfig; "vitest/prefer-strict-boolean-matchers"?: RuleNoConfig; "vitest/prefer-strict-equal"?: RuleNoConfig; "vitest/prefer-to-be"?: RuleNoConfig; "vitest/prefer-to-be-falsy"?: RuleNoConfig; "vitest/prefer-to-be-object"?: RuleNoConfig; "vitest/prefer-to-be-truthy"?: RuleNoConfig; "vitest/prefer-to-contain"?: RuleNoConfig; "vitest/prefer-to-have-been-called-times"?: RuleNoConfig; "vitest/prefer-to-have-length"?: RuleNoConfig; "vitest/prefer-todo"?: RuleNoConfig; "vitest/require-awaited-expect-poll"?: RuleNoConfig; "vitest/require-hook"?: RuleNoConfig | [AllowWarnDeny, RequireHookConfig]; "vitest/require-local-test-context-for-concurrent-snapshots"?: RuleNoConfig; "vitest/require-mock-type-parameters"?: RuleNoConfig | [AllowWarnDeny, RequireMockTypeParametersConfig]; "vitest/require-test-timeout"?: RuleNoConfig; "vitest/require-to-throw-message"?: RuleNoConfig; "vitest/require-top-level-describe"?: RuleNoConfig | [AllowWarnDeny, RequireTopLevelDescribeConfig]; "vitest/valid-describe-callback"?: RuleNoConfig; "vitest/valid-expect"?: RuleNoConfig | [AllowWarnDeny, ValidExpectConfig]; "vitest/valid-expect-in-promise"?: RuleNoConfig; "vitest/valid-title"?: DummyRule; "vitest/warn-todo"?: RuleNoConfig; "vue/component-definition-name-casing"?: RuleNoConfig | [AllowWarnDeny, CaseType]; "vue/define-emits-declaration"?: RuleNoConfig | [AllowWarnDeny, DeclarationStyle]; "vue/define-props-declaration"?: RuleNoConfig | [AllowWarnDeny, DeclarationStyle2]; "vue/define-props-destructuring"?: RuleNoConfig | [AllowWarnDeny, DefinePropsDestructuring]; "vue/max-props"?: RuleNoConfig | [AllowWarnDeny, MaxProps]; "vue/next-tick-style"?: RuleNoConfig | [AllowWarnDeny, NextTickOption]; "vue/no-arrow-functions-in-watch"?: RuleNoConfig; "vue/no-async-in-computed-properties"?: RuleNoConfig | [AllowWarnDeny, NoAsyncInComputedPropertiesConfig]; "vue/no-computed-properties-in-data"?: RuleNoConfig; "vue/no-deprecated-data-object-declaration"?: RuleNoConfig; "vue/no-deprecated-delete-set"?: RuleNoConfig; "vue/no-deprecated-destroyed-lifecycle"?: RuleNoConfig; "vue/no-deprecated-events-api"?: RuleNoConfig; "vue/no-deprecated-model-definition"?: RuleNoConfig | [AllowWarnDeny, NoDeprecatedModelDefinitionConfig]; "vue/no-deprecated-props-default-this"?: RuleNoConfig; "vue/no-deprecated-vue-config-keycodes"?: RuleNoConfig; "vue/no-dupe-keys"?: RuleNoConfig | [AllowWarnDeny, NoDupeKeysConfig]; "vue/no-export-in-script-setup"?: RuleNoConfig; "vue/no-expose-after-await"?: RuleNoConfig; "vue/no-import-compiler-macros"?: RuleNoConfig; "vue/no-lifecycle-after-await"?: RuleNoConfig; "vue/no-multiple-slot-args"?: RuleNoConfig; "vue/no-required-prop-with-default"?: RuleNoConfig; "vue/no-reserved-component-names"?: RuleNoConfig | [AllowWarnDeny, NoReservedComponentNames]; "vue/no-reserved-keys"?: RuleNoConfig | [AllowWarnDeny, NoReservedKeysConfig]; "vue/no-reserved-props"?: RuleNoConfig | [AllowWarnDeny, NoReservedPropsConfig]; "vue/no-shared-component-data"?: RuleNoConfig; "vue/no-side-effects-in-computed-properties"?: RuleNoConfig; "vue/no-this-in-before-route-enter"?: RuleNoConfig; "vue/no-watch-after-await"?: RuleNoConfig; "vue/prefer-import-from-vue"?: RuleNoConfig; "vue/prop-name-casing"?: RuleNoConfig | [AllowWarnDeny, CaseType2] | [AllowWarnDeny, CaseType2, Options]; "vue/require-default-export"?: RuleNoConfig; "vue/require-default-prop"?: RuleNoConfig; "vue/require-direct-export"?: RuleNoConfig | [AllowWarnDeny, RequireDirectExport]; "vue/require-prop-type-constructor"?: RuleNoConfig; "vue/require-prop-types"?: RuleNoConfig; "vue/require-render-return"?: RuleNoConfig; "vue/require-slots-as-functions"?: RuleNoConfig; "vue/require-typed-ref"?: RuleNoConfig; "vue/return-in-computed-property"?: RuleNoConfig | [AllowWarnDeny, ReturnInComputedPropertyConfig]; "vue/return-in-emits-validator"?: RuleNoConfig; "vue/valid-define-emits"?: RuleNoConfig; "vue/valid-define-options"?: RuleNoConfig; "vue/valid-define-props"?: RuleNoConfig; "vue/valid-next-tick"?: RuleNoConfig; yoda?: RuleNoConfig | [AllowWarnDeny, AllowYoda] | [AllowWarnDeny, AllowYoda, YodaOptions]; [k: string]: DummyRule | RuleNoConfig | [AllowWarnDeny, AccessorPairsConfig] | [AllowWarnDeny, ArrayCallbackReturn] | [AllowWarnDeny, Mode2] | [AllowWarnDeny, Mode2, ArrowBodyStyleConfig] | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, OptionsJsonEnum] | [AllowWarnDeny, ClassMethodsUseThisConfig] | [AllowWarnDeny, ComplexityConfigEnum] | [AllowWarnDeny, CurlyType] | [AllowWarnDeny, CurlyType, CurlyConsistent] | [AllowWarnDeny, DefaultCaseConfig] | [AllowWarnDeny, CompareType] | [AllowWarnDeny, CompareType, EqeqeqOptions] | [AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingMode, FuncNameMatchingConfig] | [AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingConfig] | [AllowWarnDeny, FuncNamesConfigType] | [AllowWarnDeny, FuncNamesConfigType, FuncNamesGeneratorsConfig] | [AllowWarnDeny, Style] | [AllowWarnDeny, Style, FuncStyleConfig] | [AllowWarnDeny, GetterReturn] | [AllowWarnDeny, PairOrder] | [AllowWarnDeny, PairOrder, GroupedAccessorPairsConfig] | [AllowWarnDeny, ...string[]] | [AllowWarnDeny, IdLengthConfig] | [AllowWarnDeny, string] | [AllowWarnDeny, string, IdMatchOptions] | [AllowWarnDeny, Mode] | [AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ExtensionRule, ImportExtensionsObject] | [AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ImportExtensionsObject] | [AllowWarnDeny, AbsoluteFirst] | [AllowWarnDeny, MaxDependenciesConfigJson] | [AllowWarnDeny, Namespace] | [AllowWarnDeny, NewlineAfterImport] | [AllowWarnDeny, NoAbsolutePath] | [AllowWarnDeny, NoAnonymousDefaultExport] | [AllowWarnDeny, NoCommonjs] | [AllowWarnDeny, NoCycle] | [AllowWarnDeny, NoDuplicates] | [AllowWarnDeny, NoDynamicRequire] | [AllowWarnDeny, NoNamespaceConfig] | [AllowWarnDeny, NoNodejsModulesConfig] | [AllowWarnDeny, NoUnassignedImportConfig] | [AllowWarnDeny, PreferDefaultExport] | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, InitDeclarationsConfig] | [AllowWarnDeny, ConsistentTestItConfig] | [AllowWarnDeny, ExpectExpectConfig] | [AllowWarnDeny, MaxExpectsConfig] | [AllowWarnDeny, MaxNestedDescribeConfig] | [AllowWarnDeny, NoDeprecatedFunctionsConfig] | [AllowWarnDeny, NoHooksConfig] | [AllowWarnDeny, NoLargeSnapshotsConfig] | [AllowWarnDeny, NoRestrictedTestMethodsConfig] | [AllowWarnDeny, NoRestrictedMatchersConfig] | [AllowWarnDeny, NoStandaloneExpectConfig] | [AllowWarnDeny, PreferEndingWithAnExpectConfig] | [AllowWarnDeny, PreferExpectAssertionsConfig] | [AllowWarnDeny, PreferImportingJestGlobalsConfig] | [AllowWarnDeny, PreferLowercaseTitleConfig] | [AllowWarnDeny, SnapshotHintMode] | [AllowWarnDeny, RequireHookConfig] | [AllowWarnDeny, RequireTopLevelDescribeConfig] | [AllowWarnDeny, ValidExpectConfig] | [AllowWarnDeny, CheckTagNamesConfig] | [AllowWarnDeny, EmptyTagsConfig] | [AllowWarnDeny, NoBlankBlocks] | [AllowWarnDeny, NoDefaultsConfig] | [AllowWarnDeny, RequireParamConfig] | [AllowWarnDeny, RequireParamDescriptionConfig] | [AllowWarnDeny, RequireParamTypeConfig] | [AllowWarnDeny, RequireReturnsConfig] | [AllowWarnDeny, RequireYieldsConfig] | [AllowWarnDeny, AltTextConfigSchema] | [AllowWarnDeny, AnchorAmbiguousTextConfig] | [AllowWarnDeny, AnchorHasContentConfig] | [AllowWarnDeny, AnchorIsValidConfig] | [AllowWarnDeny, AriaRoleConfig] | [AllowWarnDeny, AutocompleteValidConfig] | [AllowWarnDeny, ControlHasAssociatedLabelConfig] | [AllowWarnDeny, HeadingHasContentConfig] | [AllowWarnDeny, ImgRedundantAltConfig] | [AllowWarnDeny, InteractiveSupportsFocusConfig] | [AllowWarnDeny, LabelHasAssociatedControlConfig] | [AllowWarnDeny, MediaHasCaptionConfig] | [AllowWarnDeny, MouseEventsHaveKeyEventsConfig] | [AllowWarnDeny, NoAutofocus] | [AllowWarnDeny, NoDistractingElementsConfig] | [AllowWarnDeny, NoInteractiveElementToNoninteractiveRoleConfig] | [AllowWarnDeny, NoNoninteractiveElementInteractionsConfig] | [AllowWarnDeny, NoNoninteractiveElementToInteractiveRoleConfig] | [AllowWarnDeny, NoNoninteractiveTabindexConfig] | [AllowWarnDeny, NoRedundantRolesConfig] | [AllowWarnDeny, NoStaticElementInteractionsConfig] | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, LogicalAssignmentOperatorsConfig] | [AllowWarnDeny, MaxClassesPerFileConfigEnum] | [AllowWarnDeny, MaxDepthConfigEnum] | [AllowWarnDeny, MaxLinesConfigEnum] | [AllowWarnDeny, MaxLinesPerFunctionConfigEnum] | [AllowWarnDeny, MaxNestedCallbacksConfigEnum] | [AllowWarnDeny, MaxParamsConfigEnum] | [AllowWarnDeny, MaxStatementsConfigEnum] | [AllowWarnDeny, NewCapConfig] | [AllowWarnDeny, NoBitwiseConfig] | [AllowWarnDeny, NoCondAssignConfig] | [AllowWarnDeny, NoConsoleConfig] | [AllowWarnDeny, NoConstantBinaryExpressionConfig] | [AllowWarnDeny, NoConstantCondition] | [AllowWarnDeny, NoDuplicateImports] | [AllowWarnDeny, NoElseReturn] | [AllowWarnDeny, NoEmpty] | [AllowWarnDeny, NoEmptyFunctionConfig] | [AllowWarnDeny, NoEmptyPattern] | [AllowWarnDeny, NoEval] | [AllowWarnDeny, NoExtendNativeConfig] | [AllowWarnDeny, NoExtraBooleanCast] | [AllowWarnDeny, NoFallthroughConfig] | [AllowWarnDeny, NoGlobalAssignConfig] | [AllowWarnDeny, NoImplicitCoercionConfig] | [AllowWarnDeny, NoImplicitGlobalsConfig] | [AllowWarnDeny, NoInlineCommentsConfig] | [AllowWarnDeny, NoInnerDeclarationsConfig] | [AllowWarnDeny, NoInnerDeclarationsConfig, NoInnerDeclarationsOptions] | [AllowWarnDeny, NoInvalidRegexpConfig] | [AllowWarnDeny, NoIrregularWhitespaceConfig] | [AllowWarnDeny, NoLabels] | [AllowWarnDeny, NoMagicNumbersConfig] | [AllowWarnDeny, NoMisleadingCharacterClass] | [AllowWarnDeny, NoMultiAssign] | [AllowWarnDeny, NoParamReassignConfig] | [AllowWarnDeny, NoPlusplus] | [AllowWarnDeny, NoPromiseExecutorReturnConfig] | [AllowWarnDeny, NoRedeclare] | [AllowWarnDeny, NoRestrictedExportsConfig] | [AllowWarnDeny, ...NoRestrictedGlobalsConfigEnum[]] | [AllowWarnDeny, ...NoRestrictedImportsConfigEnum[]] | [AllowWarnDeny, ...PropertyDetails[]] | [AllowWarnDeny, NoReturnAssignMode] | [AllowWarnDeny, NoSelfAssign] | [AllowWarnDeny, NoSequences] | [AllowWarnDeny, NoShadowConfig] | [AllowWarnDeny, NoShadowRestrictedNamesConfig] | [AllowWarnDeny, NoUndef] | [AllowWarnDeny, NoUnderscoreDangleConfig] | [AllowWarnDeny, NoUnmodifiedLoopCondition] | [AllowWarnDeny, NoUnneededTernary] | [AllowWarnDeny, NoUnreachableLoopConfig] | [AllowWarnDeny, NoUnsafeNegation] | [AllowWarnDeny, NoUnsafeOptionalChaining] | [AllowWarnDeny, NoUnusedExpressionsConfig] | [AllowWarnDeny, NoUnusedVarsConfig] | [AllowWarnDeny, NoUseBeforeDefineConfigJson] | [AllowWarnDeny, NoUselessComputedKey] | [AllowWarnDeny, NoUselessEscapeConfig] | [AllowWarnDeny, NoUselessRenameConfig] | [AllowWarnDeny, NoVoid] | [AllowWarnDeny, NoWarningCommentsConfig] | [AllowWarnDeny, CallbackReturn] | [AllowWarnDeny, ExportsStyleMode] | [AllowWarnDeny, ExportsStyleMode, ExportsStyleOptions] | [AllowWarnDeny, HandleCallbackErrConfig] | [AllowWarnDeny, NoMixedRequiresConfig] | [AllowWarnDeny, NoProcessEnvConfig] | [AllowWarnDeny, NoSyncConfig] | [AllowWarnDeny, NoTopLevelAwaitConfig] | [AllowWarnDeny, ShorthandType] | [AllowWarnDeny, ShorthandType, ObjectShorthandOptions] | [AllowWarnDeny, OneVar] | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, NoAsyncEndpointHandlersConfig] | [AllowWarnDeny, NoBarrelFile] | [AllowWarnDeny, NoMapSpreadConfig] | [AllowWarnDeny, NoOptionalChainingConfig] | [AllowWarnDeny, NoRestSpreadPropertiesOptions] | [AllowWarnDeny, PreferArrowCallbackConfig] | [AllowWarnDeny, PreferConstConfig] | [AllowWarnDeny, PreferDestructuringOption] | [AllowWarnDeny, PreferDestructuringOption, PreferDestructuringEnforcementConfig] | [AllowWarnDeny, PreferPromiseRejectErrors] | [AllowWarnDeny, PreferRegexLiteralsConfig] | [AllowWarnDeny, PreserveCaughtErrorOptions] | [AllowWarnDeny, AlwaysReturnConfig] | [AllowWarnDeny, CatchOrReturnConfig] | [AllowWarnDeny, NoCallbackInPromiseConfig] | [AllowWarnDeny, NoPromiseInCallbackConfig] | [AllowWarnDeny, NoReturnWrap] | [AllowWarnDeny, ParamNamesConfig] | [AllowWarnDeny, PreferAwaitToThenConfig] | [AllowWarnDeny, SpecOnlyConfig] | [AllowWarnDeny, RadixType] | [AllowWarnDeny, ReactPerfConfig] | [AllowWarnDeny, ButtonHasType] | [AllowWarnDeny, CheckedRequiresOnchangeOrReadonly] | [AllowWarnDeny, DisplayNameConfig] | [AllowWarnDeny, ExhaustiveDepsConfig] | [AllowWarnDeny, ForbidComponentPropsConfig] | [AllowWarnDeny, ForbidDomPropsConfig] | [AllowWarnDeny, ForbidElementsConfig] | [AllowWarnDeny, FunctionComponentDefinitionConfig] | [AllowWarnDeny, HookUseStateConfig] | [AllowWarnDeny, EnforceBooleanAttribute] | [AllowWarnDeny, EnforceBooleanAttribute, JsxBooleanValueOptions] | [AllowWarnDeny, JsxCurlyBracePresenceConfig] | [AllowWarnDeny, JsxFilenameExtensionConfig] | [AllowWarnDeny, FragmentMode] | [AllowWarnDeny, JsxHandlerNamesConfig] | [AllowWarnDeny, JsxKeyConfig] | [AllowWarnDeny, JsxMaxDepthConfig] | [AllowWarnDeny, JsxNoLiteralsConfig] | [AllowWarnDeny, JsxNoScriptUrlComponent[]] | [AllowWarnDeny, JsxNoScriptUrlComponent[], JsxNoScriptUrlOptions] | [AllowWarnDeny, JsxNoScriptUrlOptions] | [AllowWarnDeny, JsxNoTargetBlank] | [AllowWarnDeny, JsxNoUselessFragment] | [AllowWarnDeny, JsxPascalCaseConfig] | [AllowWarnDeny, JsxPropsNoSpreadingConfig] | [AllowWarnDeny, AllowedOrDisallowInFunc] | [AllowWarnDeny, NoMultiCompConfig] | [AllowWarnDeny, NoStringRefs] | [AllowWarnDeny, NoUnknownPropertyConfig] | [AllowWarnDeny, NoUnsafeConfig] | [AllowWarnDeny, NoUnstableNestedComponentsConfig] | [AllowWarnDeny, OnlyExportComponentsConfig] | [AllowWarnDeny, PreferFunctionComponent] | [AllowWarnDeny, SelfClosingComp] | [AllowWarnDeny, StylePropObjectConfig] | [AllowWarnDeny, RequireUnicodeRegexpConfig] | [AllowWarnDeny, SortImportsOptions] | [AllowWarnDeny, SortOrder] | [AllowWarnDeny, SortOrder, SortKeysOptions] | [AllowWarnDeny, SortVars] | [AllowWarnDeny, ArrayTypeConfig] | [AllowWarnDeny, BanTsCommentConfig] | [AllowWarnDeny, ClassLiteralPropertyStyleOption] | [AllowWarnDeny, PreferGenericType] | [AllowWarnDeny, ConsistentIndexedObjectStyleConfig] | [AllowWarnDeny, ConsistentReturnConfig] | [AllowWarnDeny, ConsistentTypeAssertionsConfig] | [AllowWarnDeny, ConsistentTypeDefinitionsConfig] | [AllowWarnDeny, ConsistentTypeExportsConfig] | [AllowWarnDeny, ConsistentTypeImportsConfig] | [AllowWarnDeny, DotNotationConfig] | [AllowWarnDeny, ExplicitFunctionReturnTypeConfig] | [AllowWarnDeny, ExplicitMemberAccessibilityConfig] | [AllowWarnDeny, ExplicitModuleBoundaryTypesConfig] | [AllowWarnDeny, MethodSignatureStyleConfig] | [AllowWarnDeny, NoBaseToStringConfig] | [AllowWarnDeny, NoConfusingVoidExpressionConfig] | [AllowWarnDeny, NoDeprecatedConfig] | [AllowWarnDeny, NoDuplicateTypeConstituentsConfig] | [AllowWarnDeny, NoEmptyInterface] | [AllowWarnDeny, NoEmptyObjectTypeConfig] | [AllowWarnDeny, NoExplicitAny] | [AllowWarnDeny, NoExtraneousClass] | [AllowWarnDeny, NoFloatingPromisesConfig] | [AllowWarnDeny, NoInferrableTypes] | [AllowWarnDeny, NoInvalidVoidTypeConfig] | [AllowWarnDeny, NoMeaninglessVoidOperatorConfig] | [AllowWarnDeny, NoMisusedPromisesConfig] | [AllowWarnDeny, NoMisusedSpreadConfig] | [AllowWarnDeny, NoNamespace] | [AllowWarnDeny, NoRequireImportsConfig] | [AllowWarnDeny, NoRestrictedTypesConfig] | [AllowWarnDeny, NoThisAliasConfig] | [AllowWarnDeny, NoUnnecessaryBooleanLiteralCompareConfig] | [AllowWarnDeny, NoUnnecessaryConditionConfig] | [AllowWarnDeny, NoUnnecessaryTypeAssertionConfig] | [AllowWarnDeny, NoUnsafeMemberAccessConfig] | [AllowWarnDeny, OnlyThrowErrorConfig] | [AllowWarnDeny, ParameterPropertiesConfig] | [AllowWarnDeny, PreferLiteralEnumMember] | [AllowWarnDeny, PreferNullishCoalescingConfig] | [AllowWarnDeny, PreferOptionalChainConfig] | [AllowWarnDeny, PreferPromiseRejectErrorsConfig] | [AllowWarnDeny, PreferReadonlyConfig] | [AllowWarnDeny, PreferReadonlyParameterTypesConfig] | [AllowWarnDeny, PreferStringStartsEndsWithConfig] | [AllowWarnDeny, PromiseFunctionAsyncConfig] | [AllowWarnDeny, RequireArraySortCompareConfig] | [AllowWarnDeny, RestrictPlusOperandsConfig] | [AllowWarnDeny, RestrictTemplateExpressionsConfig] | [AllowWarnDeny, ReturnAwaitOption] | [AllowWarnDeny, StrictBooleanExpressionsConfig] | [AllowWarnDeny, StrictVoidReturnConfig] | [AllowWarnDeny, SwitchExhaustivenessCheckConfig] | [AllowWarnDeny, TripleSlashReferenceConfig] | [AllowWarnDeny, UnboundMethodConfig] | [AllowWarnDeny, UnifiedSignaturesOptions] | [AllowWarnDeny, BomOptionType] | [AllowWarnDeny, CatchErrorNameConfig] | [AllowWarnDeny, ConsistentFunctionScoping] | [AllowWarnDeny, ExplicitLengthCheck] | [AllowWarnDeny, ExplicitTimerDelayMode] | [AllowWarnDeny, ImportStyleConfig] | [AllowWarnDeny, MaxNestedCalls] | [AllowWarnDeny, NoArrayReduce] | [AllowWarnDeny, NoArrayReverse] | [AllowWarnDeny, NoArraySort] | [AllowWarnDeny, NoInstanceofBuiltinsConfig] | [AllowWarnDeny, NoNull] | [AllowWarnDeny, NoTypeofUndefined] | [AllowWarnDeny, NoUselessPromiseResolveRejectOptions] | [AllowWarnDeny, NoUselessUndefined] | [AllowWarnDeny, NumericSeparatorsStyleConfig] | [AllowWarnDeny, PreferAtConfig] | [AllowWarnDeny, PreferExportFrom] | [AllowWarnDeny, PreferNumberPropertiesConfig] | [AllowWarnDeny, PreferObjectFromEntriesConfig] | [AllowWarnDeny, PreferSingleCallConfig] | [AllowWarnDeny, PreferStructuredCloneConfig] | [AllowWarnDeny, PreferTernaryOption] | [AllowWarnDeny, RelativeUrlStyleConfig] | [AllowWarnDeny, SwitchCaseBracesConfig] | [AllowWarnDeny, TextEncodingIdentifierCase] | [AllowWarnDeny, UseIsnan] | [AllowWarnDeny, ValidTypeof] | [AllowWarnDeny, ConsistentEachForJson] | [AllowWarnDeny, ConsistentTestFilenameConfig] | [AllowWarnDeny, ConsistentVitestConfig] | [AllowWarnDeny, PreferImportInMockConfig] | [AllowWarnDeny, RequireMockTypeParametersConfig] | [AllowWarnDeny, CaseType] | [AllowWarnDeny, DeclarationStyle] | [AllowWarnDeny, DeclarationStyle2] | [AllowWarnDeny, DefinePropsDestructuring] | [AllowWarnDeny, MaxProps] | [AllowWarnDeny, NextTickOption] | [AllowWarnDeny, NoAsyncInComputedPropertiesConfig] | [AllowWarnDeny, NoDeprecatedModelDefinitionConfig] | [AllowWarnDeny, NoDupeKeysConfig] | [AllowWarnDeny, NoReservedComponentNames] | [AllowWarnDeny, NoReservedKeysConfig] | [AllowWarnDeny, NoReservedPropsConfig] | [AllowWarnDeny, CaseType2] | [AllowWarnDeny, CaseType2, Options] | [AllowWarnDeny, RequireDirectExport] | [AllowWarnDeny, ReturnInComputedPropertyConfig] | [AllowWarnDeny, AllowYoda] | [AllowWarnDeny, AllowYoda, YodaOptions] | undefined; } interface AccessorPairsConfig { /** * Enforce the rule for class members. */ enforceForClassMembers?: boolean; /** * Enforce the rule for TypeScript interfaces and types. */ enforceForTSTypes?: boolean; /** * Report a getter without a setter. */ getWithoutSet?: boolean; /** * Report a setter without a getter. */ setWithoutGet?: boolean; } interface ArrayCallbackReturn { /** * When set to true, allows callbacks of methods that require a return value to * implicitly return undefined with a return statement containing no expression. */ allowImplicit?: boolean; /** * When set to true, rule will not report the return value with a void operator. * Works only if `checkForEach` option is set to true. */ allowVoid?: boolean; /** * When set to true, rule will also report forEach callbacks that return a value. */ checkForEach?: boolean; } interface ArrowBodyStyleConfig { /** * Requires braces and an explicit return for object literals. This option only applies when * the first option is `"as-needed"`. */ requireReturnForObjectLiteral?: boolean; } interface CommentConfigJson { /** * If true, consecutive comments will be ignored after the first comment. */ ignoreConsecutiveComments?: boolean; /** * If true, inline comments (comments in the middle of code) will be ignored. */ ignoreInlineComments?: boolean; /** * A regex pattern. Comments that match the pattern will not cause violations. */ ignorePattern?: string; } interface ClassMethodsUseThisConfig { /** * Enforce this rule for class fields that are functions. */ enforceForClassFields?: boolean; /** * List of method names to exempt from this rule. Names can include the hash for private methods. * Example: `save`, `#rerender` */ exceptMethods?: string[]; /** * Whether to ignore classes that implement interfaces. */ ignoreClassesWithImplements?: IgnoreClassWithImplements; /** * Whether to ignore methods that are overridden. */ ignoreOverrideMethods?: boolean; } interface ComplexityConfig { /** * Maximum amount of cyclomatic complexity */ max?: number; /** * The cyclomatic complexity variant to use */ variant?: Variant; } interface DefaultCaseConfig { /** * A regex pattern used to detect comments that mark the absence * of a `default` case as intentional. * * Default value: `no default`. * * Examples of **incorrect** code for this rule with the `{ "commentPattern": "^skip\\sdefault" }` option: * ```js * switch (a) { * case 1: * break; * // no default * } * ``` * * Examples of **correct** code for this rule with the `{ "commentPattern": "^skip\\sdefault" }` option: * ```js * switch (a) { * case 1: * break; * // skip default * } * ``` */ commentPattern?: string; } interface EqeqeqOptions { /** * Configuration for whether to allow/disallow comparisons against `null`, * e.g. `foo == null` or `foo != null` */ null?: NullType; } interface FuncNameMatchingConfig { /** * If `considerPropertyDescriptor` is set to `true`, the check will take into account the use of `Object.create`, `Object.defineProperty`, `Object.defineProperties`, and `Reflect.defineProperty`. */ considerPropertyDescriptor?: boolean; /** * If `includeCommonJSModuleExports` is set to `true`, `module.exports` and `module["exports"]` will be checked by this rule. */ includeCommonJSModuleExports?: boolean; } interface FuncNamesGeneratorsConfig { /** * Configuration for generator function expressions. If not specified, uses the * primary configuration. * * Accepts `always`, `as-needed`, or `never`. * * Generator functions are those defined using the `function*` syntax. * ```js * function* foobar(i) { * yield i; * yield i + 10; * } * ``` */ generators?: FuncNamesConfigType; } interface FuncStyleConfig { /** * When true, arrow functions are allowed regardless of the style setting. */ allowArrowFunctions?: boolean; /** * When true, functions with type annotations are allowed regardless of the style setting. */ allowTypeAnnotation?: boolean; /** * Override the style specifically for named exports. Can be "expression", "declaration", or "ignore" (default). */ overrides?: Override; } interface Override { namedExports?: NamedExports; } interface GetterReturn { /** * When set to `true`, allows getters to implicitly return `undefined` with a `return` statement containing no expression. */ allowImplicit?: boolean; } interface GroupedAccessorPairsConfig { /** * When `enforceForTSTypes` is enabled, this rule also applies to TypeScript interfaces * and type aliases. * * Examples of **incorrect** TypeScript code: * ```ts * interface Foo { * get a(): string; * someProperty: string; * set a(value: string); * } * * type Bar = { * get b(): string; * someProperty: string; * set b(value: string); * }; * ``` * * Examples of **correct** TypeScript code: * ```ts * interface Foo { * get a(): string; * set a(value: string); * someProperty: string; * } * * type Bar = { * get b(): string; * set b(value: string); * someProperty: string; * }; * ``` */ enforceForTSTypes?: boolean; } interface IdLengthConfig { /** * Whether to check TypeScript generic type parameter names. * Defaults to `true`. */ checkGeneric?: boolean; /** * An array of regex patterns for identifiers to exclude from the rule. * For example, `["^x.*"]` would exclude all identifiers starting with "x". */ exceptionPatterns?: string[]; /** * An array of identifier names that are excluded from the rule. * For example, `["x", "y", "z"]` would allow single-letter identifiers "x", "y", and "z". */ exceptions?: string[]; /** * The maximum number of graphemes allowed in an identifier. * Defaults to no maximum (effectively unlimited). */ max?: number; /** * The minimum number of graphemes required in an identifier. */ min?: number; /** * Whether to check property names for length. */ properties?: AlwaysNever; } interface IdMatchOptions { /** * Whether class field names are checked, including public fields, * accessor properties, and private field names. */ classFields?: boolean; /** * Whether to ignore shorthand and aliased bindings introduced by object * destructuring, such as `foo` in `const { foo } = obj` and `alias` in * `const { foo: alias } = obj`. This does not suppress computed key * references such as `const { [key]: value } = obj`. */ ignoreDestructuring?: boolean; /** * Whether to check only variable and function declaration names. * References, member names, labels, class names, TypeScript declarations, * and function or arrow parameters are skipped. */ onlyDeclarations?: boolean; /** * Whether object literal property names, class method names, and assigned * member names such as `obj.prop = value` are checked. */ properties?: boolean; } interface ImportExtensionsConfig { /** * Whether to check type imports when enforcing extension rules. */ checkTypeImports?: boolean; /** * Whether to ignore package imports when enforcing extension rules. */ ignorePackages?: boolean; /** * Path group overrides for bespoke import specifiers. */ pathGroupOverrides?: PathGroupOverrideConfig[]; /** * Per-extension rules. */ pattern?: { [k: string]: ExtensionRule | undefined; }; } interface PathGroupOverrideConfig { /** * Action to take when pattern matches. */ action: PathGroupAction; /** * Glob pattern to match import specifiers. */ pattern: string; } interface MaxDependenciesConfig { /** * Whether to ignore type imports when counting dependencies. * * ```ts * // Neither of these count as dependencies if `ignoreTypeImports` is true: * import type { Foo } from './foo'; * import { type Foo } from './foo'; * ``` */ ignoreTypeImports?: boolean; /** * Maximum number of dependencies allowed in a file. */ max?: number; } interface Namespace { /** * Whether to allow computed references to an imported namespace. */ allowComputed?: boolean; } interface NewlineAfterImport { considerComments?: boolean; count?: number; exactCount?: boolean; } interface NoAbsolutePath { /** * If set to `true`, dependency paths for AMD-style define and require calls will be resolved: * * ```js * /* import/no-absolute-path: ["error", { "commonjs": false, "amd": true }] * / * define(['/foo'], function (foo) { /*...* / }) // reported * require(['/foo'], function (foo) { /*...* / }) // reported * * const foo = require('/foo') // ignored because of explicit `commonjs: false` * ``` */ amd?: boolean; /** * If set to `true`, dependency paths for CommonJS-style require calls will be resolved: * * ```js * var foo = require('/foo'); // reported * ``` */ commonjs?: boolean; /** * If set to `true`, dependency paths for ES module import statements will be resolved: * * ```js * import foo from '/foo'; // reported * ``` */ esmodule?: boolean; } interface NoAnonymousDefaultExport { /** * Allow anonymous class as default export. */ allowAnonymousClass?: boolean; /** * Allow anonymous function as default export. */ allowAnonymousFunction?: boolean; /** * Allow anonymous array as default export. */ allowArray?: boolean; /** * Allow anonymous arrow function as default export. */ allowArrowFunction?: boolean; /** * Allow anonymous call expression as default export. */ allowCallExpression?: boolean; /** * Allow anonymous literal as default export. */ allowLiteral?: boolean; /** * Allow anonymous new expression as default export. */ allowNew?: boolean; /** * Allow anonymous object as default export. */ allowObject?: boolean; } interface NoCommonjs { /** * When set to `true`, allows conditional `require()` calls (e.g., inside `if` statements or try-catch blocks). * This is useful for places where you need to conditionally load via commonjs requires if ESM imports are not supported. */ allowConditionalRequire?: boolean; /** * If `allowPrimitiveModules` option is set to true, the following is valid: * * ```js * module.exports = "foo"; * module.exports = function rule(context) { * return { /* ... * / }; * }; * ``` * * but this is still reported: * * ```js * module.exports = { x: "y" }; * exports.z = function bark() { /* ... * / }; * ``` */ allowPrimitiveModules?: boolean; /** * If set to `true`, `require` calls are valid: * * ```js * var mod = require("./mod"); * ``` * * but `module.exports` is reported as usual. */ allowRequire?: boolean; } interface NoCycle { /** * Allow cyclic dependency if there is at least one dynamic import in the chain */ allowUnsafeDynamicCyclicDependency?: boolean; /** * Ignore external modules */ ignoreExternal?: boolean; /** * Ignore type-only imports */ ignoreTypes?: boolean; /** * Maximum dependency depth to traverse */ maxDepth?: number; } interface NoDuplicates { /** * When set to `true`, the rule will consider the query string part of the import path * when determining if imports are duplicates. This is useful when using loaders like * webpack that use query strings to configure how a module should be loaded. * * Examples of **correct** code with this option set to `true`: * ```javascript * import x from './bar?optionX'; * import y from './bar?optionY'; * ``` */ considerQueryString?: boolean; /** * When set to `true`, prefer inline type imports instead of separate type import * statements for TypeScript code. * * Examples of **correct** code with this option set to `true`: * ```typescript * import { Foo, type Bar } from './module'; * ``` */ preferInline?: boolean; } interface NoDynamicRequire { /** * When `true`, also check `import()` expressions for dynamic module specifiers. */ esmodule?: boolean; } interface NoNamespaceConfig { /** * An array of glob strings for modules that should be ignored by the rule. * For example, `["*.json"]` will ignore all JSON imports. */ ignore?: string[]; } interface NoNodejsModulesConfig { /** * Array of names of allowed modules. Defaults to an empty array. */ allow: string[]; } interface NoUnassignedImportConfig { /** * A list of glob patterns to allow unassigned imports for specific modules. * For example: * `{ "allow": ["** /*.css"] }` will allow unassigned imports for any module ending with `.css`. */ allow?: string[]; } interface PreferDefaultExport { /** * Configuration option to specify the target type for preferring default exports. */ target?: Target; } interface InitDeclarationsConfig { /** * When set to `true`, allows uninitialized variables in the init expression of `for`, `for-in`, and `for-of` loops. * Only applies when mode is set to `"never"`. */ ignoreForLoopInit?: boolean; } interface ConsistentTestItConfig { /** * Decides whether to use `test` or `it`. * * Examples of **incorrect** code for `{ "fn": "test" }`: * ```javascript * it('foo'); * it.only('foo'); * ``` * * Examples of **correct** code for `{ "fn": "test" }`: * ```javascript * test('foo'); * test.only('foo'); * ``` * * Examples of **incorrect** code for `{ "fn": "it" }`: * ```javascript * test('foo'); * test.only('foo'); * ``` * * Examples of **correct** code for `{ "fn": "it" }`: * ```javascript * it('foo'); * it.only('foo'); * ``` */ fn?: TestCaseName; /** * Decides whether to use `test` or `it` within a `describe` scope. * If only `fn` is provided, this will default to the value of `fn`. * * Examples of **incorrect** code for `{ "withinDescribe": "test" }`: * ```javascript * describe('foo', function () { * it('bar'); * }); * ``` * * Examples of **correct** code for `{ "withinDescribe": "test" }`: * ```javascript * describe('foo', function () { * test('bar'); * }); * ``` */ withinDescribe?: TestCaseName; } interface ExpectExpectConfig { /** * An array of function names that should also be treated as test blocks. */ additionalTestBlockFunctions?: string[]; /** * A list of function names that should be treated as assertion functions. * * NOTE: The default value is `["expect"]` for Jest and * `["expect", "expectTypeOf", "assert", "assertType"]` for Vitest. */ assertFunctionNames?: string[]; } interface MaxExpectsConfig { /** * Maximum number of `expect()` assertion calls allowed within a single test. */ max?: number; } interface MaxNestedDescribeConfig { /** * Maximum allowed depth of nested describe calls. */ max?: number; } interface NoDeprecatedFunctionsConfig { /** * Jest configuration options. * Deprecated config, it will be removed in future versions. * Use please instead { "settings": { "jest": {"version": 29 } } } in `Oxlint config file`. * Beware the value from the config have higher priority than the rule config. */ jest?: JestConfigJson; } interface JestConfigJson { /** * The version of Jest being used. */ version?: string; } interface NoHooksConfig { /** * An array of hook function names that are permitted for use. */ allow?: string[]; } interface NoLargeSnapshotsConfig { /** * A map of snapshot file paths to arrays of snapshot names that are allowed to exceed the size limit. * Each snapshot name is interpreted as a Rust regular expression. If it is not a valid regular * expression, it is matched as an exact literal string instead. */ allowedSnapshots?: { [k: string]: string[] | undefined; }; /** * Maximum number of lines allowed for inline snapshots. */ inlineMaxSize?: number; /** * Maximum number of lines allowed for external snapshot files. */ maxSize?: number; } interface NoRestrictedTestMethodsConfig { [k: string]: string | null | undefined; } interface NoRestrictedMatchersConfig { [k: string]: string | null | undefined; } interface NoStandaloneExpectConfig { /** * An array of function names that should also be treated as test blocks. */ additionalTestBlockFunctions?: string[]; } interface PreferEndingWithAnExpectConfig { /** * An array of function names that should also be treated as test blocks. */ additionalTestBlockFunctions?: string[]; /** * A list of function names that should be treated as assertion functions. * Default: `["expect"]` */ assertFunctionNames?: string[]; } interface PreferExpectAssertionsConfig { onlyFunctionsWithAsyncKeyword?: boolean; onlyFunctionsWithExpectInCallback?: boolean; onlyFunctionsWithExpectInLoop?: boolean; } interface PreferImportingJestGlobalsConfig { /** * Jest function types to enforce importing for. */ types?: JestFnType[]; } interface PreferLowercaseTitleConfig { /** * This array option allows specifying prefixes, which contain capitals that titles * can start with. This can be useful when writing tests for API endpoints, where * you'd like to prefix with the HTTP method. * By default, nothing is allowed (the equivalent of `{ "allowedPrefixes": [] }`). * * Example of **correct** code for the `{ "allowedPrefixes": ["GET"] }` option: * ```js * /* jest/prefer-lowercase-title: ["error", { "allowedPrefixes": ["GET"] }] * / * describe('GET /live'); * ``` */ allowedPrefixes?: string[]; /** * This array option controls which Jest or Vitest functions are checked by this rule. There * are four possible values: * - `"describe"` * - `"test"` * - `"it"` * - `"bench"` * * By default, none of these options are enabled (the equivalent of * `{ "ignore": [] }`). * * Example of **correct** code for the `{ "ignore": ["describe"] }` option: * ```js * /* jest/prefer-lowercase-title: ["error", { "ignore": ["describe"] }] * / * describe('Uppercase description'); * ``` * * Example of **correct** code for the `{ "ignore": ["test"] }` option: * ```js * /* jest/prefer-lowercase-title: ["error", { "ignore": ["test"] }] * / * test('Uppercase description'); * ``` * * Example of **correct** code for the `{ "ignore": ["it"] }` option: * ```js * /* jest/prefer-lowercase-title: ["error", { "ignore": ["it"] }] * / * it('Uppercase description'); * ``` */ ignore?: string[]; /** * This option can be set to allow only the top-level `describe` blocks to have a * title starting with an upper-case letter. * * Example of **correct** code for the `{ "ignoreTopLevelDescribe": true }` option: * ```js * /* jest/prefer-lowercase-title: ["error", { "ignoreTopLevelDescribe": true }] * / * describe('MyClass', () => { * describe('#myMethod', () => { * it('does things', () => { * // * }); * }); * }); * ``` */ ignoreTopLevelDescribe?: boolean; /** * This option can be set to only validate that the first character of a test name is lowercased. * * Example of **correct** code for the `{ "lowercaseFirstCharacterOnly": true }` option: * ```js * /* vitest/prefer-lowercase-title: ["error", { "lowercaseFirstCharacterOnly": true }] * / * describe('myClass', () => { * describe('myMethod', () => { * it('does things', () => { * // * }); * }); * }); * ``` * * Example of **incorrect** code for the `{ "lowercaseFirstCharacterOnly": true }` option: * ```js * /* vitest/prefer-lowercase-title: ["error", { "lowercaseFirstCharacterOnly": true }] * / * describe('MyClass', () => { * describe('MyMethod', () => { * it('does things', () => { * // * }); * }); * }); * ``` */ lowercaseFirstCharacterOnly?: boolean; } interface RequireHookConfig { /** * An array of function names that are allowed to be called outside of hooks. */ allowedFunctionCalls?: string[]; } interface RequireTopLevelDescribeConfig { /** * The maximum number of top-level `describe` blocks allowed in a test file. */ maxNumberOfTopLevelDescribes?: number; } interface ValidExpectConfig { /** * When `true`, async assertions must be awaited in all contexts (not just return statements). */ alwaysAwait?: boolean; /** * List of matchers that are considered async and therefore require awaiting (e.g. `toResolve`, `toReject`). */ asyncMatchers?: string[]; /** * Maximum number of arguments `expect` should be called with. */ maxArgs?: number; /** * Minimum number of arguments `expect` should be called with. */ minArgs?: number; } interface CheckTagNamesConfig { /** * Additional tag names to allow. */ definedTags?: string[]; /** * Whether to allow JSX-related tags: * - `jsx` * - `jsxFrag` * - `jsxImportSource` * - `jsxRuntime` */ jsxTags?: boolean; /** * If typed is `true`, disallow tags that are unnecessary/duplicative of TypeScript functionality. */ typed?: boolean; } interface EmptyTagsConfig { /** * Additional tags to check for their descriptions. */ tags?: string[]; } interface NoBlankBlocks { /** * Whether to automatically remove blank JSDoc blocks. */ enableFixer?: boolean; } interface NoDefaultsConfig { /** * If true, report the presence of optional param names (square brackets) on `@param` tags. */ noOptionalParamNames?: boolean; } interface RequireParamConfig { /** * Whether to check constructor methods. */ checkConstructors?: boolean; /** * Whether to check destructured parameters. */ checkDestructured?: boolean; /** * Whether to check destructured parameters when you have code like * `function doSomething({ a, b }) { ... }`. Because there is no named * parameter in this example, when this option is `true` you must * have a `@param` tag that corresponds to `{a, b}`. */ checkDestructuredRoots?: boolean; /** * Whether to check getter methods. */ checkGetters?: boolean; /** * Whether to check rest properties. */ checkRestProperty?: boolean; /** * Whether to check setter methods. */ checkSetters?: boolean; /** * Regex pattern to match types that exempt parameters from checking. */ checkTypesPattern?: string; /** * List of JSDoc tags that exempt functions from `@param` checking. */ exemptedBy?: string[]; /** * Set to `true` to ignore reporting when all params are missing. Defaults to `false`. */ ignoreWhenAllParamsMissing?: boolean; /** * Set if you wish TypeScript interfaces to exempt checks for the existence of `@param`'s. * Will check for a type defining the function itself (on a variable declaration) or if there is a single destructured object with a type. Defaults to `false`. */ interfaceExemptsParamsCheck?: boolean; /** * Set to `true` if you wish to expect documentation of properties on objects supplied as default values. Defaults to `false`. */ useDefaultObjectProperties?: boolean; } interface RequireParamDescriptionConfig { /** * The description string to set by default for destructured roots. Defaults to "The root object". */ defaultDestructuredRootDescription?: string; /** * Whether to set a default destructured root description. * For example, you may wish to avoid manually having to set the description for a @param corresponding to a destructured root object as it should always be the same type of object. * Uses `defaultDestructuredRootDescription` for the description string. Defaults to `false`. */ setDefaultDestructuredRootDescription?: boolean; } interface RequireParamTypeConfig { /** * The type string to set by default for destructured roots. Defaults to "object". */ defaultDestructuredRootType?: string; /** * Whether to set a default destructured root type. For example, you may wish to avoid manually having to set the type for a `@param` corresponding to a destructured root object as it is always going to be an object. Uses `defaultDestructuredRootType` for the type string. Defaults to `false`. */ setDefaultDestructuredRootType?: boolean; } interface RequireReturnsConfig { /** * Whether to check constructor methods. */ checkConstructors?: boolean; /** * Whether to check getter methods. */ checkGetters?: boolean; /** * Tags that exempt functions from requiring `@returns`. */ exemptedBy?: string[]; /** * Whether to require a `@returns` tag even if the function doesn't return a value. */ forceRequireReturn?: boolean; /** * Whether to require a `@returns` tag for async functions. */ forceReturnsWithAsync?: boolean; } interface RequireYieldsConfig { /** * Functions with these tags will be exempted from the lint rule. */ exemptedBy?: string[]; /** * When `true`, all generator functions must have a `@yields` tag, even if they don't yield a value or have an empty body. */ forceRequireYields?: boolean; /** * When `true`, require `@yields` when a `@generator` tag is present. */ withGeneratorTag?: boolean; } interface AltTextConfigSchema { /** * Custom components to check for alt text on `area` elements. */ area?: string[]; /** * Custom components to check for alt text on any of the supported elements. */ elements?: AltTextElements[]; /** * Custom components to check for alt text on `img` elements. */ img?: string[]; /** * Custom components to check for alt text on `input[type="image"]` elements. */ 'input[type="image"]'?: string[]; /** * Custom components to check for alt text on `object` elements. */ object?: string[]; } interface AnchorAmbiguousTextConfig { /** * List of ambiguous words or phrases that should be flagged in anchor text. */ words?: string[]; } interface AnchorHasContentConfig { /** * Additional custom component names to treat as anchor elements. */ components?: string[]; } interface AnchorIsValidConfig { /** * Sub-rule aspects to run. */ aspects?: AnchorIsValidAspect[]; /** * Custom components to treat as anchor elements. */ components?: string[]; /** * Custom prop names to treat as link destinations. */ specialLink?: string[]; } interface AriaRoleConfig { /** * Custom roles that should be allowed in addition to the ARIA spec. */ allowedInvalidRoles?: string[]; /** * Determines if developer-created components are checked. */ ignoreNonDOM?: boolean; } interface AutocompleteValidConfig { /** * List of custom component names that should be treated as input elements. */ inputComponents?: string[]; } interface ControlHasAssociatedLabelConfig { /** * Custom JSX components to be treated as interactive controls. */ controlComponents?: string[]; /** * Maximum depth to search for an accessible label within the element. * Defaults to `2`. */ depth?: number; /** * Elements to ignore. * Defaults to `["audio", "canvas", "embed", "input", "textarea", "tr", "video"]`. */ ignoreElements?: string[]; /** * Interactive roles to ignore. * Defaults to `["grid", "listbox", "menu", "menubar", "radiogroup", "row", "tablist", "toolbar", "tree", "treegrid"]`. */ ignoreRoles?: string[]; /** * Additional attributes to check for accessible label text. */ labelAttributes?: string[]; } interface HeadingHasContentConfig { /** * Additional custom component names to treat as heading elements. * These will be validated in addition to the standard h1-h6 elements. */ components?: string[]; } interface ImgRedundantAltConfig { /** * JSX element types to validate (component names) where the rule applies. * For example, `["img", "Image"]`. */ components?: string[]; /** * Words considered redundant in alt text that should trigger a warning. */ words?: string[]; } interface InteractiveSupportsFocusConfig { /** * An array of interactive ARIA roles that should be considered tabbable (require `tabIndex={0}`). * Interactive roles not in this list are only required to be focusable (`tabIndex={-1}` is sufficient). * Defaults to `["button", "checkbox", "link", "searchbox", "spinbutton", "switch", "textbox"]`. */ tabbable?: string[]; } interface LabelHasAssociatedControlConfig { /** * The type of association required between the label and the control. */ assert?: Assert; /** * Custom JSX components to be treated as form controls. */ controlComponents?: string[]; /** * Maximum depth to search for a nested control. */ depth?: number; /** * Attributes to check for accessible label text. */ labelAttributes?: string[]; /** * Custom JSX components to be treated as labels. */ labelComponents?: string[]; } interface MediaHasCaptionConfig { /** * Element names to treat as `