import { TSESLint } from '@typescript-eslint/utils';

/**
 * Shared ESLint Adapter Utilities
 *
 * Common infrastructure for bridging ganko's rule engine into
 * ESLint's plugin format. Used by each plugin's eslint-plugin.ts.
 */

type RuleModule = TSESLint.RuleModule<string>;

/**
 * ESLint Plugin
 *
 * Aggregates ganko rule engines (Solid, CSS) into a single ESLint plugin.
 */

interface SolidLintPlugin {
    readonly meta: {
        readonly name: string;
        readonly version: string;
    };
    readonly rules: Record<string, RuleModule>;
    readonly configs: Record<string, TSESLint.FlatConfig.ConfigArray>;
}
declare const plugin: SolidLintPlugin;

export { plugin as default };
