import { z } from 'zod'; /** * Task status values representing the lifecycle of a task */ export declare const TaskStatusSchema: z.ZodEnum<{ pending: "pending"; in_progress: "in_progress"; completed: "completed"; blocked: "blocked"; cancelled: "cancelled"; }>; export type TaskStatus = z.infer; /** * Individual task within a phase */ export declare const PlanTaskSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; description: z.ZodOptional; status: z.ZodDefault>; assignee: z.ZodOptional; depends_on: z.ZodDefault>; acceptance_criteria: z.ZodDefault>; metadata: z.ZodOptional>; }, z.core.$strip>; export type PlanTask = z.infer; /** * Phase status values */ export declare const PhaseStatusSchema: z.ZodEnum<{ pending: "pending"; in_progress: "in_progress"; completed: "completed"; blocked: "blocked"; }>; export type PhaseStatus = z.infer; /** * A phase containing multiple tasks */ export declare const PlanPhaseSchema: z.ZodObject<{ id: z.ZodUnion; name: z.ZodString; status: z.ZodDefault>; tasks: z.ZodDefault; status: z.ZodDefault>; assignee: z.ZodOptional; depends_on: z.ZodDefault>; acceptance_criteria: z.ZodDefault>; metadata: z.ZodOptional>; }, z.core.$strip>>>; started_at: z.ZodOptional; completed_at: z.ZodOptional; }, z.core.$strip>; export type PlanPhase = z.infer; /** * Plan metadata for tracking and versioning */ export declare const PlanMetadataSchema: z.ZodObject<{ created_at: z.ZodOptional; updated_at: z.ZodOptional; version: z.ZodDefault; author: z.ZodOptional; swarm: z.ZodOptional; migration_status: z.ZodOptional>; }, z.core.$strip>; export type PlanMetadata = z.infer; /** * Main plan document schema supporting both JSON and Markdown-derived structures */ export declare const PlanDocumentSchema: z.ZodObject<{ schema_version: z.ZodDefault; title: z.ZodString; swarm: z.ZodOptional; current_phase: z.ZodOptional>; phases: z.ZodDefault; name: z.ZodString; status: z.ZodDefault>; tasks: z.ZodDefault; status: z.ZodDefault>; assignee: z.ZodOptional; depends_on: z.ZodDefault>; acceptance_criteria: z.ZodDefault>; metadata: z.ZodOptional>; }, z.core.$strip>>>; started_at: z.ZodOptional; completed_at: z.ZodOptional; }, z.core.$strip>>>; metadata: z.ZodOptional; updated_at: z.ZodOptional; version: z.ZodDefault; author: z.ZodOptional; swarm: z.ZodOptional; migration_status: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; export type PlanDocument = z.infer; /** * Validation result for plan documents */ export interface PlanValidationResult { valid: boolean; errors: z.ZodError | null; data?: PlanDocument; } /** * Validate a plan document against the schema */ export declare function validatePlanDocument(data: unknown): PlanValidationResult; /** * Default empty plan document */ export declare function createEmptyPlan(title?: string): PlanDocument; /** * Get default values for plan metadata */ export declare function getPlanMetadataDefaults(): PlanMetadata;