import { z } from 'zod';
export declare const eslintTargetSchema: z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
    eslintrc: z.ZodOptional<z.ZodString>;
    patterns: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
}, "strip", z.ZodTypeAny, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>]>, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}, string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>;
export type ESLintTarget = z.infer<typeof eslintTargetSchema>;
export declare const eslintPluginConfigSchema: z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
    eslintrc: z.ZodOptional<z.ZodString>;
    patterns: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
}, "strip", z.ZodTypeAny, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>]>, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}, string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>, z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>, z.ZodObject<{
    eslintrc: z.ZodOptional<z.ZodString>;
    patterns: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
}, "strip", z.ZodTypeAny, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>]>, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}, string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>, "many">]>, {
    patterns: string | string[];
    eslintrc?: string | undefined;
}[], string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
} | (string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
})[]>;
export type ESLintPluginConfig = z.input<typeof eslintPluginConfigSchema>;
export type ESLintPluginRunnerConfig = {
    targets: ESLintTarget[];
    slugs: string[];
};
declare const customGroupSchema: z.ZodObject<{
    slug: z.ZodString;
    title: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    docsUrl: z.ZodOptional<z.ZodString>;
    rules: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>;
}, "strip", z.ZodTypeAny, {
    slug: string;
    title: string;
    rules: string[] | Record<string, number>;
    description?: string | undefined;
    docsUrl?: string | undefined;
}, {
    slug: string;
    title: string;
    rules: string[] | Record<string, number>;
    description?: string | undefined;
    docsUrl?: string | undefined;
}>;
export type CustomGroup = z.infer<typeof customGroupSchema>;
export declare const eslintPluginOptionsSchema: z.ZodObject<{
    groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
        slug: z.ZodString;
        title: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        docsUrl: z.ZodOptional<z.ZodString>;
        rules: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodNumber>, Record<string, number>, Record<string, number>>]>;
    }, "strip", z.ZodTypeAny, {
        slug: string;
        title: string;
        rules: string[] | Record<string, number>;
        description?: string | undefined;
        docsUrl?: string | undefined;
    }, {
        slug: string;
        title: string;
        rules: string[] | Record<string, number>;
        description?: string | undefined;
        docsUrl?: string | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    groups?: {
        slug: string;
        title: string;
        rules: string[] | Record<string, number>;
        description?: string | undefined;
        docsUrl?: string | undefined;
    }[] | undefined;
}, {
    groups?: {
        slug: string;
        title: string;
        rules: string[] | Record<string, number>;
        description?: string | undefined;
        docsUrl?: string | undefined;
    }[] | undefined;
}>;
export type ESLintPluginOptions = z.infer<typeof eslintPluginOptionsSchema>;
export {};
