import { z } from 'zod'; export declare const pluginOptionsSchema: z.ZodDiscriminatedUnion<"name", [z.ZodObject<{ name: z.ZodLiteral<"shadowdog-rake">; options: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: "shadowdog-rake"; options?: {} | undefined; }, { name: "shadowdog-rake"; options?: {} | undefined; }>, z.ZodObject<{ name: z.ZodLiteral<"shadowdog-local-cache">; options: z.ZodDefault; read: z.ZodDefault; write: z.ZodDefault; }, "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; bucketName: z.ZodString; read: z.ZodDefault; write: z.ZodDefault; }, "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>; }, "strip", z.ZodTypeAny, { name: "shadowdog-tag"; options?: {} | undefined; }, { name: "shadowdog-tag"; options?: {} | undefined; }>, z.ZodObject<{ name: z.ZodLiteral<"shadowdog-tree">; options: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: "shadowdog-tree"; options?: {} | undefined; }, { name: "shadowdog-tree"; options?: {} | undefined; }>, z.ZodObject<{ name: z.ZodLiteral<"shadowdog-socket">; options: z.ZodDefault; }, "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>; }, "strip", z.ZodTypeAny, { name: "shadowdog-git"; options?: {} | undefined; }, { name: "shadowdog-git"; options?: {} | undefined; }>, z.ZodObject<{ name: z.ZodLiteral<"shadowdog-lock">; options: z.ZodDefault; }, "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; }>, z.ZodObject<{ name: z.ZodLiteral<"shadowdog-mcp">; options: z.ZodDefault>; }, "strip", z.ZodTypeAny, { options: {}; name: "shadowdog-mcp"; }, { name: "shadowdog-mcp"; options?: {} | undefined; }>]>; export type PluginConfig['name']> = Extract, { 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", "shadowdog-mcp"]>;