import { ZodSchemaType } from '@contractspec/lib.schema';
import * as z from 'zod';
declare const TaskSurfaceSchema: z.ZodEnum<{
    docs: "docs";
    ui: "ui";
    api: "api";
    policy: "policy";
    tests: "tests";
    workflows: "workflows";
    other: "other";
    db: "db";
}>;
export type TaskSurface = z.infer<typeof TaskSurfaceSchema>;
declare const TaskSchema: z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    surface: z.ZodArray<z.ZodEnum<{
        docs: "docs";
        ui: "ui";
        api: "api";
        policy: "policy";
        tests: "tests";
        workflows: "workflows";
        other: "other";
        db: "db";
    }>>;
    why: z.ZodString;
    acceptance: z.ZodArray<z.ZodString>;
    agentPrompt: z.ZodString;
    dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const TaskModel: ZodSchemaType<z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    surface: z.ZodArray<z.ZodEnum<{
        docs: "docs";
        ui: "ui";
        api: "api";
        policy: "policy";
        tests: "tests";
        workflows: "workflows";
        other: "other";
        db: "db";
    }>>;
    why: z.ZodString;
    acceptance: z.ZodArray<z.ZodString>;
    agentPrompt: z.ZodString;
    dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>>;
export type Task = z.infer<typeof TaskSchema>;
declare const TaskPackSchema: z.ZodObject<{
    packId: z.ZodString;
    patchId: z.ZodString;
    overview: z.ZodString;
    tasks: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        surface: z.ZodArray<z.ZodEnum<{
            docs: "docs";
            ui: "ui";
            api: "api";
            policy: "policy";
            tests: "tests";
            workflows: "workflows";
            other: "other";
            db: "db";
        }>>;
        why: z.ZodString;
        acceptance: z.ZodArray<z.ZodString>;
        agentPrompt: z.ZodString;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const TaskPackModel: ZodSchemaType<z.ZodObject<{
    packId: z.ZodString;
    patchId: z.ZodString;
    overview: z.ZodString;
    tasks: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
        surface: z.ZodArray<z.ZodEnum<{
            docs: "docs";
            ui: "ui";
            api: "api";
            policy: "policy";
            tests: "tests";
            workflows: "workflows";
            other: "other";
            db: "db";
        }>>;
        why: z.ZodString;
        acceptance: z.ZodArray<z.ZodString>;
        agentPrompt: z.ZodString;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>;
}, z.core.$strip>>;
export type TaskPack = z.infer<typeof TaskPackSchema>;
export {};
