import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
import { RuleModule, SharedConfig, ClassicConfig } from '@typescript-eslint/utils/ts-eslint';
import { Rule } from 'eslint';
import { PluginDocs } from './PluginDocs.js';

declare const _default: {
    rules: {
        'forbid-array-expressions': RuleModule<"always" | "onlySingleElement", ["always" | "onlySingleElement"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-array-expressions.md";
            };
        } & Rule.RuleModule;
        'forbid-false-inside-object-expressions': RuleModule<"falseLiterals", [], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-false-inside-object-expressions.md";
            };
        } & Rule.RuleModule;
        'forbid-true-inside-object-expressions': RuleModule<"default", ["always" | "allowMixed"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-true-inside-object-expressions.md";
            };
        } & Rule.RuleModule;
        'no-redundant-clsx': RuleModule<"default", [{
            selector: string;
        }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/no-redundant-clsx.md";
            };
        } & Rule.RuleModule;
        'no-spreading': RuleModule<"default", ["object"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/no-spreading.md";
            };
        } & Rule.RuleModule;
        'prefer-logical-over-objects': RuleModule<"default", [{
            startingFrom: number;
            endingWith: number;
        }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-logical-over-objects.md";
            };
        } & Rule.RuleModule;
        'prefer-merged-neighboring-elements': RuleModule<"object", ["object"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-merged-neighboring-elements.md";
            };
        } & Rule.RuleModule;
        'prefer-objects-over-logical': RuleModule<"default", [{
            startingFrom: number;
            endingWith: number;
        }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
            name: string;
        } & {
            meta: {
                url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-objects-over-logical.md";
            };
        } & Rule.RuleModule;
    };
    configs: {
        flat: {
            all: {
                plugins: {
                    clsx: {
                        rules: {
                            'forbid-array-expressions': RuleModule<"always" | "onlySingleElement", ["always" | "onlySingleElement"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-array-expressions.md";
                                };
                            } & Rule.RuleModule;
                            'forbid-false-inside-object-expressions': RuleModule<"falseLiterals", [], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-false-inside-object-expressions.md";
                                };
                            } & Rule.RuleModule;
                            'forbid-true-inside-object-expressions': RuleModule<"default", ["always" | "allowMixed"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-true-inside-object-expressions.md";
                                };
                            } & Rule.RuleModule;
                            'no-redundant-clsx': RuleModule<"default", [{
                                selector: string;
                            }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/no-redundant-clsx.md";
                                };
                            } & Rule.RuleModule;
                            'no-spreading': RuleModule<"default", ["object"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/no-spreading.md";
                                };
                            } & Rule.RuleModule;
                            'prefer-logical-over-objects': RuleModule<"default", [{
                                startingFrom: number;
                                endingWith: number;
                            }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-logical-over-objects.md";
                                };
                            } & Rule.RuleModule;
                            'prefer-merged-neighboring-elements': RuleModule<"object", ["object"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-merged-neighboring-elements.md";
                                };
                            } & Rule.RuleModule;
                            'prefer-objects-over-logical': RuleModule<"default", [{
                                startingFrom: number;
                                endingWith: number;
                            }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-objects-over-logical.md";
                                };
                            } & Rule.RuleModule;
                        };
                    };
                };
                rules: SharedConfig.RulesRecord;
            };
            recommended: {
                plugins: {
                    clsx: {
                        rules: {
                            'forbid-array-expressions': RuleModule<"always" | "onlySingleElement", ["always" | "onlySingleElement"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-array-expressions.md";
                                };
                            } & Rule.RuleModule;
                            'forbid-false-inside-object-expressions': RuleModule<"falseLiterals", [], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-false-inside-object-expressions.md";
                                };
                            } & Rule.RuleModule;
                            'forbid-true-inside-object-expressions': RuleModule<"default", ["always" | "allowMixed"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/forbid-true-inside-object-expressions.md";
                                };
                            } & Rule.RuleModule;
                            'no-redundant-clsx': RuleModule<"default", [{
                                selector: string;
                            }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/no-redundant-clsx.md";
                                };
                            } & Rule.RuleModule;
                            'no-spreading': RuleModule<"default", ["object"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/no-spreading.md";
                                };
                            } & Rule.RuleModule;
                            'prefer-logical-over-objects': RuleModule<"default", [{
                                startingFrom: number;
                                endingWith: number;
                            }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-logical-over-objects.md";
                                };
                            } & Rule.RuleModule;
                            'prefer-merged-neighboring-elements': RuleModule<"object", ["object"], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-merged-neighboring-elements.md";
                                };
                            } & Rule.RuleModule;
                            'prefer-objects-over-logical': RuleModule<"default", [{
                                startingFrom: number;
                                endingWith: number;
                            }], PluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener> & {
                                name: string;
                            } & {
                                meta: {
                                    url: "https://github.com/temoncher/eslint-plugin-clsx/tree/HEAD/docs/rules/prefer-objects-over-logical.md";
                                };
                            } & Rule.RuleModule;
                        };
                    };
                };
                rules: SharedConfig.RulesRecord;
            };
        };
        all: ClassicConfig.Config;
        recommended: ClassicConfig.Config;
    };
};

export { _default as default };
