import { z } from 'zod'; interface CompileOptions { srcDir: string; outDir: string; } interface ManifestWorkflowEntry { id: string; path: string; hash: string; } interface Manifest { generatedAt: string; workflows: ManifestWorkflowEntry[]; } declare const StepSchema: z.ZodObject<{ id: z.ZodString; description: z.ZodOptional; prompt: z.ZodString; acceptance_criteria: z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { id: string; prompt: string; description?: string | undefined; acceptance_criteria?: string | string[] | undefined; }, { id: string; prompt: string; description?: string | undefined; acceptance_criteria?: string | string[] | undefined; }>; declare const WorkflowSchema: z.ZodObject<{ id: z.ZodString; description: z.ZodOptional; steps: z.ZodArray; prompt: z.ZodString; acceptance_criteria: z.ZodOptional]>>; }, "strip", z.ZodTypeAny, { id: string; prompt: string; description?: string | undefined; acceptance_criteria?: string | string[] | undefined; }, { id: string; prompt: string; description?: string | undefined; acceptance_criteria?: string | string[] | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { id: string; steps: { id: string; prompt: string; description?: string | undefined; acceptance_criteria?: string | string[] | undefined; }[]; description?: string | undefined; }, { id: string; steps: { id: string; prompt: string; description?: string | undefined; acceptance_criteria?: string | string[] | undefined; }[]; description?: string | undefined; }>; type WorkflowInput = z.infer; type StepInput = z.infer; declare function compile(options: CompileOptions): Promise; interface WatchOptions extends CompileOptions { debounceMs?: number; onEvent?: (evt: 'build-start' | 'build-success' | 'build-error', info?: { error?: Error; manifest?: Manifest; }) => void; } declare function watch(options: WatchOptions): Promise<() => Promise>; export { type StepInput, StepSchema, type WatchOptions, type WorkflowInput, WorkflowSchema, compile, watch };