import { z } from 'zod';
export declare const pluginOptionsSchema: z.ZodDiscriminatedUnion<"name", [z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-rake">;
    options: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
}, "strip", z.ZodTypeAny, {
    name: "shadowdog-rake";
    options?: {} | undefined;
}, {
    name: "shadowdog-rake";
    options?: {} | undefined;
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-local-cache">;
    options: z.ZodDefault<z.ZodObject<{
        path: z.ZodDefault<z.ZodString>;
        read: z.ZodDefault<z.ZodBoolean>;
        write: z.ZodDefault<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        read: boolean;
        write: boolean;
    }, {
        path?: string | undefined;
        read?: boolean | undefined;
        write?: boolean | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    options: {
        path: string;
        read: boolean;
        write: boolean;
    };
    name: "shadowdog-local-cache";
}, {
    name: "shadowdog-local-cache";
    options?: {
        path?: string | undefined;
        read?: boolean | undefined;
        write?: boolean | undefined;
    } | undefined;
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-remote-aws-s3-cache">;
    options: z.ZodObject<{
        path: z.ZodDefault<z.ZodString>;
        bucketName: z.ZodString;
        read: z.ZodDefault<z.ZodBoolean>;
        write: z.ZodDefault<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        read: boolean;
        write: boolean;
        bucketName: string;
    }, {
        bucketName: string;
        path?: string | undefined;
        read?: boolean | undefined;
        write?: boolean | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    options: {
        path: string;
        read: boolean;
        write: boolean;
        bucketName: string;
    };
    name: "shadowdog-remote-aws-s3-cache";
}, {
    options: {
        bucketName: string;
        path?: string | undefined;
        read?: boolean | undefined;
        write?: boolean | undefined;
    };
    name: "shadowdog-remote-aws-s3-cache";
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-tag">;
    options: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
}, "strip", z.ZodTypeAny, {
    name: "shadowdog-tag";
    options?: {} | undefined;
}, {
    name: "shadowdog-tag";
    options?: {} | undefined;
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-tree">;
    options: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
}, "strip", z.ZodTypeAny, {
    name: "shadowdog-tree";
    options?: {} | undefined;
}, {
    name: "shadowdog-tree";
    options?: {} | undefined;
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-socket">;
    options: z.ZodDefault<z.ZodObject<{
        path: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
    }, {
        path?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    options: {
        path: string;
    };
    name: "shadowdog-socket";
}, {
    name: "shadowdog-socket";
    options?: {
        path?: string | undefined;
    } | undefined;
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-git">;
    options: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
}, "strip", z.ZodTypeAny, {
    name: "shadowdog-git";
    options?: {} | undefined;
}, {
    name: "shadowdog-git";
    options?: {} | undefined;
}>, z.ZodObject<{
    name: z.ZodLiteral<"shadowdog-lock">;
    options: z.ZodDefault<z.ZodObject<{
        path: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        path: string;
    }, {
        path?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    options: {
        path: string;
    };
    name: "shadowdog-lock";
}, {
    name: "shadowdog-lock";
    options?: {
        path?: string | undefined;
    } | undefined;
}>]>;
export type PluginConfig<T extends z.infer<typeof pluginOptionsSchema>['name']> = Extract<z.infer<typeof pluginOptionsSchema>, {
    name: T;
}>['options'];
export declare const PluginNameEnum: z.ZodEnum<["shadowdog-rake", "shadowdog-local-cache", "shadowdog-remote-aws-s3-cache", "shadowdog-tag", "shadowdog-tree", "shadowdog-socket", "shadowdog-git", "shadowdog-lock"]>;
