/* cSpell:disable */ import { type Linter } from 'eslint'; type SpreadOptionsIfIsArray< T extends readonly [Linter.StringSeverity, unknown], > = T[1] extends readonly unknown[] ? readonly [Linter.StringSeverity, ...T[1]] : T; namespace OnlyExportComponents { /** * ### schema * * ```json * [ * { * "type": "object", * "properties": { * "extraHOCs": { * "type": "array", * "items": { * "type": "string" * } * }, * "allowExportNames": { * "type": "array", * "items": { * "type": "string" * } * }, * "allowConstantExport": { * "type": "boolean" * }, * "checkJS": { * "type": "boolean" * } * }, * "additionalProperties": false * } * ] * ``` */ export type Options = Readonly<{ extraHOCs?: readonly string[]; allowExportNames?: readonly string[]; allowConstantExport?: boolean; checkJS?: boolean; }>; export type RuleEntry = | 'off' | Linter.Severity | SpreadOptionsIfIsArray; } export type EslintReactRefreshRules = Readonly<{ 'react-refresh/only-export-components': OnlyExportComponents.RuleEntry; }>; export type EslintReactRefreshRulesOption = Readonly<{ 'react-refresh/only-export-components': OnlyExportComponents.Options; }>;