import * as eslint from 'eslint';
import { Linter } from 'eslint';
import * as eslint_plugin_antfu from 'eslint-plugin-antfu';
import * as _pluginReact from 'eslint-plugin-react';
import * as _pluginReactHooks from 'eslint-plugin-react-hooks';
import * as _pluginNode from 'eslint-plugin-n';
import * as _parserAstro from 'astro-eslint-parser';
export { default as pluginVue } from 'eslint-plugin-vue';
import * as vueEslintParser from 'vue-eslint-parser';
export { vueEslintParser as parserVue };
import * as eslintPluginImportX from 'eslint-plugin-import-x';
export { eslintPluginImportX as pluginImport };
import * as eslintPluginJsonc from 'eslint-plugin-jsonc';
export { eslintPluginJsonc as pluginJsonc };
import * as eslintPluginYml from 'eslint-plugin-yml';
export { eslintPluginYml as pluginYml };
import * as jsoncEslintParser from 'jsonc-eslint-parser';
export { jsoncEslintParser as parserJsonc };
import * as yamlEslintParser from 'yaml-eslint-parser';
export { yamlEslintParser as parserYml };
export { default as pluginPrettier } from 'eslint-plugin-prettier';
export { default as pluginPrettierRecommended } from 'eslint-plugin-prettier/recommended';
export { default as tseslint } from 'typescript-eslint';

declare function resolveAstro(): Promise<Linter.Config[]>;

declare const comments: () => Linter.Config[];

interface FlatConfigItem {
    ignores: string[];
}
declare const ignores: () => Linter.Config[];
declare const gitignores: FlatConfigItem[];

declare const imports: () => Linter.Config[];

declare const javascript: () => Linter.Config[];

declare const jsonc: () => Linter.Config[];

declare const markdown: () => Linter.Config[];

declare const node: () => Linter.Config[];

declare const sortImports: () => Linter.Config[];
declare const sortObjects: () => Linter.Config[];

declare const prettier: () => Linter.Config[];

declare const react: () => Linter.Config[];

declare const sortPackageJson: () => Linter.Config[];
declare const sortTsconfig: () => Linter.Config[];

declare function asyncSvelte(): Promise<Linter.Config[]>;

declare const typescriptCore: Linter.Config[];
declare const typescript: () => Linter.Config[];

declare const unicorn: () => Linter.Config[];

declare const vue: () => Linter.Config[];

declare const yml: () => Linter.Config[];

declare const isInEditor: boolean;
declare const hasTypeScript: boolean;
declare const hasVue: boolean;
declare const hasReact: boolean;
declare const hasSvelte: boolean;
declare const hasSveltePrettier: boolean;
declare const hasAstro: boolean;
declare const hasAstroPrettier: boolean;
declare const hasTailwindcss: boolean;
declare const hasTailwindcssPrettire: boolean;

declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
declare const GLOB_JS = "**/*.?([cm])js";
declare const GLOB_JSX = "**/*.?([cm])jsx";
declare const GLOB_TS = "**/*.?([cm])ts";
declare const GLOB_TSX = "**/*.?([cm])tsx";
declare const GLOB_ASTRO = "**/*.astro";
declare const GLOB_SVELTE: string[];
declare const GLOB_STYLE = "**/*.{c,le,sc}ss";
declare const GLOB_CSS = "**/*.css";
declare const GLOB_LESS = "**/*.less";
declare const GLOB_SCSS = "**/*.scss";
declare const GLOB_JSON = "**/*.json";
declare const GLOB_JSON5 = "**/*.json5";
declare const GLOB_JSONC = "**/*.jsonc";
declare const GLOB_MARKDOWN = "**/*.md";
declare const GLOB_VUE = "**/*.vue";
declare const GLOB_YAML = "**/*.y?(a)ml";
declare const GLOB_HTML = "**/*.htm?(l)";
declare const GLOB_ALL_SRC: string[];
declare const GLOB_TSCONFIG: string[];
declare const GLOB_PACKAGEJSON = /** @type {const} */ "**/package.json";
declare const GLOB_NODE_MODULES = /** @type {const} */ "**/node_modules";
declare const GLOB_DIST = /** @type {const} */ "**/dist";
declare const GLOB_LOCKFILE: string[];
declare const GLOB_EXCLUDE: string[];

declare const pluginAntfu: typeof eslint_plugin_antfu.default;
declare const pluginComments: any;
declare const pluginMarkdown: any;
declare const pluginUnicorn: eslint.ESLint.Plugin & {
    configs: {
        recommended: eslint.Linter.FlatConfig;
        all: eslint.Linter.FlatConfig;
        "flat/all": eslint.Linter.FlatConfig;
        "flat/recommended": eslint.Linter.FlatConfig;
    };
};

declare const pluginReact: {
    deprecatedRules: Partial<{
        'boolean-prop-naming': eslint.Rule.RuleModule;
        'button-has-type': eslint.Rule.RuleModule;
        'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
        'default-props-match-prop-types': eslint.Rule.RuleModule;
        'destructuring-assignment': eslint.Rule.RuleModule;
        'display-name': eslint.Rule.RuleModule;
        'forbid-component-props': eslint.Rule.RuleModule;
        'forbid-dom-props': eslint.Rule.RuleModule;
        'forbid-elements': eslint.Rule.RuleModule;
        'forbid-foreign-prop-types': eslint.Rule.RuleModule;
        'forbid-prop-types': eslint.Rule.RuleModule;
        'forward-ref-uses-ref': eslint.Rule.RuleModule;
        'function-component-definition': eslint.Rule.RuleModule;
        'hook-use-state': eslint.Rule.RuleModule;
        'iframe-missing-sandbox': eslint.Rule.RuleModule;
        'jsx-boolean-value': eslint.Rule.RuleModule;
        'jsx-child-element-spacing': eslint.Rule.RuleModule;
        'jsx-closing-bracket-location': eslint.Rule.RuleModule;
        'jsx-closing-tag-location': eslint.Rule.RuleModule;
        'jsx-curly-spacing': eslint.Rule.RuleModule;
        'jsx-curly-newline': eslint.Rule.RuleModule;
        'jsx-equals-spacing': eslint.Rule.RuleModule;
        'jsx-filename-extension': eslint.Rule.RuleModule;
        'jsx-first-prop-new-line': eslint.Rule.RuleModule;
        'jsx-handler-names': eslint.Rule.RuleModule;
        'jsx-indent': eslint.Rule.RuleModule;
        'jsx-indent-props': eslint.Rule.RuleModule;
        'jsx-key': eslint.Rule.RuleModule;
        'jsx-max-depth': eslint.Rule.RuleModule;
        'jsx-max-props-per-line': eslint.Rule.RuleModule;
        'jsx-newline': eslint.Rule.RuleModule;
        'jsx-no-bind': eslint.Rule.RuleModule;
        'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
        'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
        'jsx-no-duplicate-props': eslint.Rule.RuleModule;
        'jsx-no-leaked-render': eslint.Rule.RuleModule;
        'jsx-no-literals': eslint.Rule.RuleModule;
        'jsx-no-script-url': eslint.Rule.RuleModule;
        'jsx-no-target-blank': eslint.Rule.RuleModule;
        'jsx-no-useless-fragment': eslint.Rule.RuleModule;
        'jsx-one-expression-per-line': eslint.Rule.RuleModule;
        'jsx-no-undef': eslint.Rule.RuleModule;
        'jsx-curly-brace-presence': eslint.Rule.RuleModule;
        'jsx-pascal-case': eslint.Rule.RuleModule;
        'jsx-fragments': eslint.Rule.RuleModule;
        'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
        'jsx-props-no-spreading': eslint.Rule.RuleModule;
        'jsx-props-no-spread-multi': eslint.Rule.RuleModule;
        'jsx-sort-default-props': eslint.Rule.RuleModule;
        'jsx-sort-props': eslint.Rule.RuleModule;
        'jsx-space-before-closing': eslint.Rule.RuleModule;
        'jsx-tag-spacing': eslint.Rule.RuleModule;
        'jsx-uses-react': eslint.Rule.RuleModule;
        'jsx-uses-vars': eslint.Rule.RuleModule;
        'jsx-wrap-multilines': eslint.Rule.RuleModule;
        'no-invalid-html-attribute': eslint.Rule.RuleModule;
        'no-access-state-in-setstate': eslint.Rule.RuleModule;
        'no-adjacent-inline-elements': eslint.Rule.RuleModule;
        'no-array-index-key': eslint.Rule.RuleModule;
        'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
        'no-children-prop': eslint.Rule.RuleModule;
        'no-danger': eslint.Rule.RuleModule;
        'no-danger-with-children': eslint.Rule.RuleModule;
        'no-deprecated': eslint.Rule.RuleModule;
        'no-did-mount-set-state': eslint.Rule.RuleModule;
        'no-did-update-set-state': eslint.Rule.RuleModule;
        'no-direct-mutation-state': eslint.Rule.RuleModule;
        'no-find-dom-node': eslint.Rule.RuleModule;
        'no-is-mounted': eslint.Rule.RuleModule;
        'no-multi-comp': eslint.Rule.RuleModule;
        'no-namespace': eslint.Rule.RuleModule;
        'no-set-state': eslint.Rule.RuleModule;
        'no-string-refs': eslint.Rule.RuleModule;
        'no-redundant-should-component-update': eslint.Rule.RuleModule;
        'no-render-return-value': eslint.Rule.RuleModule;
        'no-this-in-sfc': eslint.Rule.RuleModule;
        'no-typos': eslint.Rule.RuleModule;
        'no-unescaped-entities': eslint.Rule.RuleModule;
        'no-unknown-property': eslint.Rule.RuleModule;
        'no-unsafe': eslint.Rule.RuleModule;
        'no-unstable-nested-components': eslint.Rule.RuleModule;
        'no-unused-class-component-methods': eslint.Rule.RuleModule;
        'no-unused-prop-types': eslint.Rule.RuleModule;
        'no-unused-state': eslint.Rule.RuleModule;
        'no-object-type-as-default-prop': eslint.Rule.RuleModule;
        'no-will-update-set-state': eslint.Rule.RuleModule;
        'prefer-es6-class': eslint.Rule.RuleModule;
        'prefer-exact-props': eslint.Rule.RuleModule;
        'prefer-read-only-props': eslint.Rule.RuleModule;
        'prefer-stateless-function': eslint.Rule.RuleModule;
        'prop-types': eslint.Rule.RuleModule;
        'react-in-jsx-scope': eslint.Rule.RuleModule;
        'require-default-props': eslint.Rule.RuleModule;
        'require-optimization': eslint.Rule.RuleModule;
        'require-render-return': eslint.Rule.RuleModule;
        'self-closing-comp': eslint.Rule.RuleModule;
        'sort-comp': eslint.Rule.RuleModule;
        'sort-default-props': eslint.Rule.RuleModule;
        'sort-prop-types': eslint.Rule.RuleModule;
        'state-in-constructor': eslint.Rule.RuleModule;
        'static-property-placement': eslint.Rule.RuleModule;
        'style-prop-object': eslint.Rule.RuleModule;
        'void-dom-elements-no-children': eslint.Rule.RuleModule;
    }>;
    rules: {
        'boolean-prop-naming': eslint.Rule.RuleModule;
        'button-has-type': eslint.Rule.RuleModule;
        'checked-requires-onchange-or-readonly': eslint.Rule.RuleModule;
        'default-props-match-prop-types': eslint.Rule.RuleModule;
        'destructuring-assignment': eslint.Rule.RuleModule;
        'display-name': eslint.Rule.RuleModule;
        'forbid-component-props': eslint.Rule.RuleModule;
        'forbid-dom-props': eslint.Rule.RuleModule;
        'forbid-elements': eslint.Rule.RuleModule;
        'forbid-foreign-prop-types': eslint.Rule.RuleModule;
        'forbid-prop-types': eslint.Rule.RuleModule;
        'forward-ref-uses-ref': eslint.Rule.RuleModule;
        'function-component-definition': eslint.Rule.RuleModule;
        'hook-use-state': eslint.Rule.RuleModule;
        'iframe-missing-sandbox': eslint.Rule.RuleModule;
        'jsx-boolean-value': eslint.Rule.RuleModule;
        'jsx-child-element-spacing': eslint.Rule.RuleModule;
        'jsx-closing-bracket-location': eslint.Rule.RuleModule;
        'jsx-closing-tag-location': eslint.Rule.RuleModule;
        'jsx-curly-spacing': eslint.Rule.RuleModule;
        'jsx-curly-newline': eslint.Rule.RuleModule;
        'jsx-equals-spacing': eslint.Rule.RuleModule;
        'jsx-filename-extension': eslint.Rule.RuleModule;
        'jsx-first-prop-new-line': eslint.Rule.RuleModule;
        'jsx-handler-names': eslint.Rule.RuleModule;
        'jsx-indent': eslint.Rule.RuleModule;
        'jsx-indent-props': eslint.Rule.RuleModule;
        'jsx-key': eslint.Rule.RuleModule;
        'jsx-max-depth': eslint.Rule.RuleModule;
        'jsx-max-props-per-line': eslint.Rule.RuleModule;
        'jsx-newline': eslint.Rule.RuleModule;
        'jsx-no-bind': eslint.Rule.RuleModule;
        'jsx-no-comment-textnodes': eslint.Rule.RuleModule;
        'jsx-no-constructed-context-values': eslint.Rule.RuleModule;
        'jsx-no-duplicate-props': eslint.Rule.RuleModule;
        'jsx-no-leaked-render': eslint.Rule.RuleModule;
        'jsx-no-literals': eslint.Rule.RuleModule;
        'jsx-no-script-url': eslint.Rule.RuleModule;
        'jsx-no-target-blank': eslint.Rule.RuleModule;
        'jsx-no-useless-fragment': eslint.Rule.RuleModule;
        'jsx-one-expression-per-line': eslint.Rule.RuleModule;
        'jsx-no-undef': eslint.Rule.RuleModule;
        'jsx-curly-brace-presence': eslint.Rule.RuleModule;
        'jsx-pascal-case': eslint.Rule.RuleModule;
        'jsx-fragments': eslint.Rule.RuleModule;
        'jsx-props-no-multi-spaces': eslint.Rule.RuleModule;
        'jsx-props-no-spreading': eslint.Rule.RuleModule;
        'jsx-props-no-spread-multi': eslint.Rule.RuleModule;
        'jsx-sort-default-props': eslint.Rule.RuleModule;
        'jsx-sort-props': eslint.Rule.RuleModule;
        'jsx-space-before-closing': eslint.Rule.RuleModule;
        'jsx-tag-spacing': eslint.Rule.RuleModule;
        'jsx-uses-react': eslint.Rule.RuleModule;
        'jsx-uses-vars': eslint.Rule.RuleModule;
        'jsx-wrap-multilines': eslint.Rule.RuleModule;
        'no-invalid-html-attribute': eslint.Rule.RuleModule;
        'no-access-state-in-setstate': eslint.Rule.RuleModule;
        'no-adjacent-inline-elements': eslint.Rule.RuleModule;
        'no-array-index-key': eslint.Rule.RuleModule;
        'no-arrow-function-lifecycle': eslint.Rule.RuleModule;
        'no-children-prop': eslint.Rule.RuleModule;
        'no-danger': eslint.Rule.RuleModule;
        'no-danger-with-children': eslint.Rule.RuleModule;
        'no-deprecated': eslint.Rule.RuleModule;
        'no-did-mount-set-state': eslint.Rule.RuleModule;
        'no-did-update-set-state': eslint.Rule.RuleModule;
        'no-direct-mutation-state': eslint.Rule.RuleModule;
        'no-find-dom-node': eslint.Rule.RuleModule;
        'no-is-mounted': eslint.Rule.RuleModule;
        'no-multi-comp': eslint.Rule.RuleModule;
        'no-namespace': eslint.Rule.RuleModule;
        'no-set-state': eslint.Rule.RuleModule;
        'no-string-refs': eslint.Rule.RuleModule;
        'no-redundant-should-component-update': eslint.Rule.RuleModule;
        'no-render-return-value': eslint.Rule.RuleModule;
        'no-this-in-sfc': eslint.Rule.RuleModule;
        'no-typos': eslint.Rule.RuleModule;
        'no-unescaped-entities': eslint.Rule.RuleModule;
        'no-unknown-property': eslint.Rule.RuleModule;
        'no-unsafe': eslint.Rule.RuleModule;
        'no-unstable-nested-components': eslint.Rule.RuleModule;
        'no-unused-class-component-methods': eslint.Rule.RuleModule;
        'no-unused-prop-types': eslint.Rule.RuleModule;
        'no-unused-state': eslint.Rule.RuleModule;
        'no-object-type-as-default-prop': eslint.Rule.RuleModule;
        'no-will-update-set-state': eslint.Rule.RuleModule;
        'prefer-es6-class': eslint.Rule.RuleModule;
        'prefer-exact-props': eslint.Rule.RuleModule;
        'prefer-read-only-props': eslint.Rule.RuleModule;
        'prefer-stateless-function': eslint.Rule.RuleModule;
        'prop-types': eslint.Rule.RuleModule;
        'react-in-jsx-scope': eslint.Rule.RuleModule;
        'require-default-props': eslint.Rule.RuleModule;
        'require-optimization': eslint.Rule.RuleModule;
        'require-render-return': eslint.Rule.RuleModule;
        'self-closing-comp': eslint.Rule.RuleModule;
        'sort-comp': eslint.Rule.RuleModule;
        'sort-default-props': eslint.Rule.RuleModule;
        'sort-prop-types': eslint.Rule.RuleModule;
        'state-in-constructor': eslint.Rule.RuleModule;
        'static-property-placement': eslint.Rule.RuleModule;
        'style-prop-object': eslint.Rule.RuleModule;
        'void-dom-elements-no-children': eslint.Rule.RuleModule;
    };
    configs: {
        recommended: {
            plugins: ["react"];
            parserOptions: {
                ecmaFeatures: {
                    jsx: boolean;
                };
            };
            rules: {
                "react/display-name": 2;
                "react/jsx-key": 2;
                "react/jsx-no-comment-textnodes": 2;
                "react/jsx-no-duplicate-props": 2;
                "react/jsx-no-target-blank": 2;
                "react/jsx-no-undef": 2;
                "react/jsx-uses-react": 2;
                "react/jsx-uses-vars": 2;
                "react/no-children-prop": 2;
                "react/no-danger-with-children": 2;
                "react/no-deprecated": 2;
                "react/no-direct-mutation-state": 2;
                "react/no-find-dom-node": 2;
                "react/no-is-mounted": 2;
                "react/no-render-return-value": 2;
                "react/no-string-refs": 2;
                "react/no-unescaped-entities": 2;
                "react/no-unknown-property": 2;
                "react/no-unsafe": 0;
                "react/prop-types": 2;
                "react/react-in-jsx-scope": 2;
                "react/require-render-return": 2;
            };
        };
        all: {
            plugins: ["react"];
            parserOptions: {
                ecmaFeatures: {
                    jsx: boolean;
                };
            };
            rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
        };
        'jsx-runtime': {
            plugins: ["react"];
            parserOptions: {
                ecmaFeatures: {
                    jsx: boolean;
                };
                jsxPragma: any;
            };
            rules: {
                "react/react-in-jsx-scope": 0;
                "react/jsx-uses-react": 0;
            };
        };
        flat: Record<string, _pluginReact.ReactFlatConfig>;
    } & {
        flat: Record<string, _pluginReact.ReactFlatConfig>;
    };
};

declare const pluginReactHooks: typeof _pluginReactHooks;

declare const pluginPerfectionist: any;
declare const pluginUnusedImports: any;

declare const pluginNode: eslint.ESLint.Plugin & {
    configs: _pluginNode.Configs;
};

declare const pluginAstro: {
    meta: {
        name: string;
        version: string;
    };
    environments: {
        astro: {
            globals: {
                Astro: boolean;
                Fragment: boolean;
            };
        };
    };
    rules: {
        [key: string]: eslint.Rule.RuleModule;
    };
    processors: {
        ".astro": eslint.Linter.Processor<string | eslint.Linter.ProcessorFile>;
        astro: eslint.Linter.Processor<string | eslint.Linter.ProcessorFile>;
        "client-side-ts": eslint.Linter.Processor<string | eslint.Linter.ProcessorFile>;
    };
} & {
    configs: {
        base: eslint.Linter.Config[];
        recommended: eslint.Linter.Config[];
        all: eslint.Linter.Config[];
        "jsx-a11y-strict": eslint.Linter.Config[];
        "jsx-a11y-recommended": eslint.Linter.Config[];
        "flat/base": eslint.Linter.Config[];
        "flat/recommended": eslint.Linter.Config[];
        "flat/all": eslint.Linter.Config[];
        "flat/jsx-a11y-strict": eslint.Linter.Config[];
        "flat/jsx-a11y-recommended": eslint.Linter.Config[];
    };
};

declare const parserAstro: typeof _parserAstro;

declare function defineConfig(config?: Linter.Config | Linter.Config[], { astro: enableAstro, gitignore: enableGitignore, jsonc: enableJsonc, markdown: enableMarkdown, prettier: enablePrettier, react: enableReact, sortImports: enableSortImports, sortObjects: enableSortObjects, svelte: enableSvelte, typescript: enableTypescript, vue: enableVue, yml: enableYml, }?: Partial<{
    react: boolean;
    vue: boolean;
    astro: boolean;
    svelte: boolean;
    typescript: boolean;
    sortImports: boolean;
    sortObjects: boolean;
    prettier: boolean;
    markdown: boolean;
    gitignore: boolean;
    jsonc: boolean;
    yml: boolean;
}>): Promise<Linter.Config[]>;

export { GLOB_ALL_SRC, GLOB_ASTRO, GLOB_CSS, GLOB_DIST, GLOB_EXCLUDE, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_LOCKFILE, GLOB_MARKDOWN, GLOB_NODE_MODULES, GLOB_PACKAGEJSON, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_VUE, GLOB_YAML, asyncSvelte, comments, defineConfig, gitignores, hasAstro, hasAstroPrettier, hasReact, hasSvelte, hasSveltePrettier, hasTailwindcss, hasTailwindcssPrettire, hasTypeScript, hasVue, ignores, imports, isInEditor, javascript, jsonc, markdown, node, parserAstro, pluginAntfu, pluginAstro, pluginComments, pluginMarkdown, pluginNode, pluginPerfectionist, pluginReact, pluginReactHooks, pluginUnicorn, pluginUnusedImports, prettier, react, resolveAstro, sortImports, sortObjects, sortPackageJson, sortTsconfig, typescript, typescriptCore, unicorn, vue, yml };
