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

declare const configs$d: {
    base: TSESLint.FlatConfig.Config;
    cjsAndEsm: TSESLint.FlatConfig.Config;
    cjs: TSESLint.FlatConfig.Config;
};

declare const configs$c: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$b: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$a: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$9: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$8: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$7: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$6: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$5: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$4: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$3: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$2: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs$1: {
    base: TSESLint.FlatConfig.Config;
};

declare const configs: {
    base: TSESLint.FlatConfig.Config;
};

interface DefaultConfigOptions {
    parserOptions?: NonNullable<ConfigWithExtends['languageOptions']>['parserOptions'];
    tsconfigRootDir?: string;
    enableRequireExtensionRule?: boolean;
    enableJest?: boolean;
    enableVitest?: boolean;
    enableMocha?: boolean;
    enableReact?: boolean;
    enableNextJs?: boolean;
    nextJsRootDir?: string;
    enableTestingLibrary?: boolean;
}
/**
 * @deprecated Use `tsEslintConfig` instead
 */
declare const defaultConfig: typeof tsEslintConfig;
/**
 * Exports the default configuration to be passed to `tsEslint.config`. Use this if you want more control of typescript-eslint configuration output.
 * @param {DefaultConfigOptions} options
 * @returns Array of typescript-eslint configurations
 */
declare function tsEslintConfig(options?: DefaultConfigOptions): ConfigWithExtends[];
/**
 * Exports eslint configurations. Use this if you do not need to explicitly import typescript-eslint in your project.
 * @param {object} options
 * @returns An array of eslint configurations
 */
declare function config(options?: DefaultConfigOptions): TSESLint.FlatConfig.ConfigArray;

export { config, defaultConfig, configs$d as eslintConfigs, configs$c as extensionConfigs, configs$b as importConfigs, configs$a as jestConfigs, configs$9 as jsdocConfigs, configs$8 as mochaConfigs, configs$7 as nextJsConfigs, configs$6 as promiseConfigs, configs$5 as reactConfigs, configs$4 as securityConfigs, configs$3 as testingLibraryConfigs, tsEslintConfig, configs$2 as typescriptEslintConfigs, configs$1 as unicornConfigs, configs as vitestConfigs };
export type { DefaultConfigOptions };
