import * as eslint from 'eslint'; import { Rule } from 'eslint'; /** * TypeScript 类型定义 - WSX ESLint 插件 */ interface WSXRuleContext extends Rule.RuleContext { report: (descriptor: Rule.ReportDescriptor) => void; } interface WSXRuleModule extends Rule.RuleModule { create: (context: WSXRuleContext) => Rule.RuleListener; defaultOptions?: unknown[]; } interface WSXConfig { parser?: string; parserOptions?: { ecmaVersion?: string | number; sourceType?: "script" | "module"; ecmaFeatures?: { jsx?: boolean; }; jsxPragma?: string; jsxFragmentName?: string; experimentalDecorators?: boolean; }; plugins?: string[]; rules?: Record; globals?: Record; settings?: Record; } interface WSXPluginMeta { name: string; version: string; } interface WSXPlugin { meta: WSXPluginMeta; rules: Record; configs: Record; [key: string]: unknown; } declare const plugin: WSXPlugin; declare const flat: { recommended: eslint.Linter.FlatConfig; }; declare const rules: Record; declare const configs: Record; export { configs, plugin as default, flat, rules };