import type { PluginConfig } from '@code-pushup/models';
import { type ESLintPluginConfig, type ESLintPluginOptions } from './config.js';
/**
 * Instantiates Code PushUp ESLint plugin for use in core config.
 *
 * @example
 * import eslintPlugin from '@code-pushup/eslint-plugin'
 *
 * export default {
 *   // ... core config ...
 *   plugins: [
 *     // ... other plugins ...
 *     await eslintPlugin({
 *       eslintrc: '.eslintrc.json',
 *       patterns: ['src', 'test/*.spec.js']
 *     })
 *   ]
 * }
 *
 * @param config Configuration options.
 * @param options Optional settings for customizing the plugin behavior.
 * @returns Plugin configuration as a promise.
 */
export declare function eslintPlugin(config: ESLintPluginConfig, options?: ESLintPluginOptions): Promise<PluginConfig>;
