import { Linter, ESLint } from 'eslint';
import globals from 'globals';
import tseslint from 'typescript-eslint';

type Globals = Linter.Globals;
type Plugins = {
    '@stylistic': ESLint.Plugin;
    'import-x': ESLint.Plugin;
    n: ESLint.Plugin;
    promise: ESLint.Plugin;
    'typescript-eslint': typeof tseslint;
};
type NeostandardOptions = {
    env?: (keyof typeof globals)[];
    files?: string[];
    filesTs?: string[];
    globals?: Globals | string[];
    ignores?: string[];
    noJsx?: boolean;
    noStyle?: boolean;
    semi?: boolean;
    ts?: boolean;
};
declare const plugins: Plugins;

type Options = {
    vue?: boolean;
    vueVersion?: 2 | 3;
    vitest: boolean;
} & NeostandardOptions;
declare const config: (options?: Options) => Linter.Config[];

export { config, plugins };
