import { z } from 'zod'; export declare const configSchema: z.ZodObject<{ $schema: z.ZodOptional; debounceTime: z.ZodDefault>; defaultIgnoredFiles: z.ZodDefault>>; plugins: z.ZodDefault; 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; }>]>, "many">>>; watchers: z.ZodArray>; files: z.ZodDefault>; environment: z.ZodDefault>; ignored: z.ZodDefault>; label: z.ZodOptional; commands: z.ZodArray; tags: z.ZodDefault>; artifacts: z.ZodDefault; ignore: z.ZodOptional>; }, "strict", z.ZodTypeAny, { output: string; description?: string | undefined; ignore?: string[] | undefined; }, { output: string; description?: string | undefined; ignore?: string[] | undefined; }>, "many">>; }, "strict", z.ZodTypeAny, { command: string; workingDirectory: string; tags: string[]; artifacts: { output: string; description?: string | undefined; ignore?: string[] | undefined; }[]; }, { command: string; workingDirectory?: string | undefined; tags?: string[] | undefined; artifacts?: { output: string; description?: string | undefined; ignore?: string[] | undefined; }[] | undefined; }>, "many">; }, "strict", z.ZodTypeAny, { enabled: boolean; files: string[]; environment: string[]; ignored: string[]; commands: { command: string; workingDirectory: string; tags: string[]; artifacts: { output: string; description?: string | undefined; ignore?: string[] | undefined; }[]; }[]; label?: string | undefined; }, { commands: { command: string; workingDirectory?: string | undefined; tags?: string[] | undefined; artifacts?: { output: string; description?: string | undefined; ignore?: string[] | undefined; }[] | undefined; }[]; enabled?: boolean | undefined; files?: string[] | undefined; environment?: string[] | undefined; ignored?: string[] | undefined; label?: string | undefined; }>, "many">; }, "strict", z.ZodTypeAny, { debounceTime: number; defaultIgnoredFiles: string[]; plugins: ({ name: "shadowdog-rake"; options?: {} | undefined; } | { options: { path: string; read: boolean; write: boolean; }; name: "shadowdog-local-cache"; } | { options: { path: string; read: boolean; write: boolean; bucketName: string; }; name: "shadowdog-remote-aws-s3-cache"; } | { name: "shadowdog-tag"; options?: {} | undefined; } | { name: "shadowdog-tree"; options?: {} | undefined; } | { options: { path: string; }; name: "shadowdog-socket"; } | { name: "shadowdog-git"; options?: {} | undefined; } | { options: { path: string; }; name: "shadowdog-lock"; } | { options: {}; name: "shadowdog-mcp"; })[]; watchers: { enabled: boolean; files: string[]; environment: string[]; ignored: string[]; commands: { command: string; workingDirectory: string; tags: string[]; artifacts: { output: string; description?: string | undefined; ignore?: string[] | undefined; }[]; }[]; label?: string | undefined; }[]; $schema?: string | undefined; }, { watchers: { commands: { command: string; workingDirectory?: string | undefined; tags?: string[] | undefined; artifacts?: { output: string; description?: string | undefined; ignore?: string[] | undefined; }[] | undefined; }[]; enabled?: boolean | undefined; files?: string[] | undefined; environment?: string[] | undefined; ignored?: string[] | undefined; label?: string | undefined; }[]; $schema?: string | undefined; debounceTime?: number | undefined; defaultIgnoredFiles?: string[] | undefined; plugins?: ({ name: "shadowdog-rake"; options?: {} | undefined; } | { name: "shadowdog-local-cache"; options?: { path?: string | undefined; read?: boolean | undefined; write?: boolean | undefined; } | undefined; } | { options: { bucketName: string; path?: string | undefined; read?: boolean | undefined; write?: boolean | undefined; }; name: "shadowdog-remote-aws-s3-cache"; } | { name: "shadowdog-tag"; options?: {} | undefined; } | { name: "shadowdog-tree"; options?: {} | undefined; } | { name: "shadowdog-socket"; options?: { path?: string | undefined; } | undefined; } | { name: "shadowdog-git"; options?: {} | undefined; } | { name: "shadowdog-lock"; options?: { path?: string | undefined; } | undefined; } | { name: "shadowdog-mcp"; options?: {} | undefined; })[] | undefined; }>; export type ConfigFile = z.infer; export type WatcherConfig = ConfigFile['watchers'][number]; export type CommandConfig = WatcherConfig['commands'][number]; export type ArtifactConfig = NonNullable[number]; export type PluginsConfig = ConfigFile['plugins']; export declare const loadConfig: (configFilePath: string) => ConfigFile;