import { z } from 'zod';
/** Transforms string/array patterns into normalized object format. */
export declare const eslintTargetSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodObject<{
    eslintrc: z.ZodOptional<z.ZodString>;
    patterns: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
}, z.core.$strip>]>, z.ZodTransform<{
    patterns: string | string[];
    eslintrc?: string | undefined;
}, string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>>;
export type ESLintTarget = z.infer<typeof eslintTargetSchema>;
/** First parameter of {@link eslintPlugin}. Defaults to current directory. */
export declare const eslintPluginConfigSchema: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodObject<{
    eslintrc: z.ZodOptional<z.ZodString>;
    patterns: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
}, z.core.$strip>]>, z.ZodTransform<{
    patterns: string | string[];
    eslintrc?: string | undefined;
}, string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>>, z.ZodArray<z.ZodPipe<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodObject<{
    eslintrc: z.ZodOptional<z.ZodString>;
    patterns: z.ZodDefault<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>>;
}, z.core.$strip>]>, z.ZodTransform<{
    patterns: string | string[];
    eslintrc?: string | undefined;
}, string | string[] | {
    patterns: string | string[];
    eslintrc?: string | undefined;
}>>>]>>>, z.ZodTransform<{
    patterns: string | string[];
    eslintrc?: string | undefined;
}[], {
    patterns: string | string[];
    eslintrc?: string | undefined;
} | {
    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<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodNumber>]>;
}, z.core.$strip>;
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<readonly [z.ZodArray<z.ZodString>, z.ZodRecord<z.ZodString, z.ZodNumber>]>;
    }, z.core.$strip>>>;
    artifacts: z.ZodOptional<z.ZodObject<{
        generateArtifactsCommand: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
            command: z.ZodString;
            args: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>]>>;
        artifactsPaths: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
    }, z.core.$strip>>;
    scoreTargets: z.ZodOptional<z.ZodUnion<readonly [z.ZodOptional<z.ZodNumber>, z.ZodRecord<z.ZodString, z.ZodNonOptional<z.ZodOptional<z.ZodNumber>>>]>>;
}, z.core.$strip>;
export type ESLintPluginOptions = z.infer<typeof eslintPluginOptionsSchema>;
export {};
