import { z } from 'zod'; export type TaskType = 'task' | 'bug' | 'feature' | 'epic' | 'chore' | 'story'; export type TaskStatus = 'open' | 'in_progress' | 'blocked' | 'done' | 'wont_do'; export type TaskPriority = 0 | 1 | 2 | 3 | 4; export type DependencyType = 'blocks' | 'related' | 'discovered_from'; export type TaskActivityType = 'claimed' | 'released' | 'commented' | 'updated' | 'created' | 'closed'; export interface Task { id: string; title: string; description?: string; type: TaskType; status: TaskStatus; priority: TaskPriority; assignee?: string; worktreeBranch?: string; labels: string[]; notes?: string; parentId?: string; createdAt: string; updatedAt: string; closedAt?: string; closedReason?: string; } export interface TaskDependency { id: number; fromTask: string; toTask: string; depType: DependencyType; createdAt: string; } export interface TaskHistoryEntry { id: number; taskId: string; field: string; oldValue?: string; newValue?: string; changedBy?: string; changedAt: string; } export interface TaskActivity { id: number; taskId: string; agentId: string; activity: TaskActivityType; details?: string; timestamp: string; } export interface TaskSummary { id: number; originalIds: string[]; summary: string; labels: string[]; closedPeriod: string; createdAt: string; } export interface TaskWithRelations extends Task { blockedBy: string[]; blocks: string[]; relatedTo: string[]; children: string[]; parent?: Task; isBlocked: boolean; isReady: boolean; } export interface CreateTaskInput { title: string; description?: string; type?: TaskType; priority?: TaskPriority; labels?: string[]; parentId?: string; assignee?: string; notes?: string; } export interface UpdateTaskInput { title?: string; description?: string; type?: TaskType; status?: TaskStatus; priority?: TaskPriority; assignee?: string; worktreeBranch?: string; labels?: string[]; notes?: string; } export interface TaskFilter { status?: TaskStatus | TaskStatus[]; type?: TaskType | TaskType[]; priority?: TaskPriority | TaskPriority[]; assignee?: string; labels?: string[]; parentId?: string; isBlocked?: boolean; isReady?: boolean; search?: string; } export interface TaskStats { total: number; byStatus: Record; byType: Record; byPriority: Record; blocked: number; ready: number; overdue: number; } export interface TaskJSONL { id: string; title: string; description?: string; type: TaskType; status: TaskStatus; priority: TaskPriority; assignee?: string; worktreeBranch?: string; labels: string[]; notes?: string; parentId?: string; createdAt: string; updatedAt: string; closedAt?: string; closedReason?: string; dependencies: Array<{ toTask: string; depType: DependencyType; }>; } export declare const TaskTypeSchema: z.ZodEnum<["task", "bug", "feature", "epic", "chore", "story"]>; export declare const TaskStatusSchema: z.ZodEnum<["open", "in_progress", "blocked", "done", "wont_do"]>; export declare const TaskPrioritySchema: z.ZodNumber; export declare const DependencyTypeSchema: z.ZodEnum<["blocks", "related", "discovered_from"]>; export declare const CreateTaskInputSchema: z.ZodObject<{ title: z.ZodString; description: z.ZodOptional; type: z.ZodDefault>; priority: z.ZodDefault; labels: z.ZodDefault>; parentId: z.ZodOptional; assignee: z.ZodOptional; notes: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "chore" | "feature" | "task" | "bug" | "epic" | "story"; priority: number; title: string; labels: string[]; description?: string | undefined; parentId?: string | undefined; assignee?: string | undefined; notes?: string | undefined; }, { title: string; type?: "chore" | "feature" | "task" | "bug" | "epic" | "story" | undefined; description?: string | undefined; priority?: number | undefined; labels?: string[] | undefined; parentId?: string | undefined; assignee?: string | undefined; notes?: string | undefined; }>; export declare const UpdateTaskInputSchema: z.ZodObject<{ title: z.ZodOptional; description: z.ZodOptional; type: z.ZodOptional>; status: z.ZodOptional>; priority: z.ZodOptional; assignee: z.ZodOptional>; worktreeBranch: z.ZodOptional>; labels: z.ZodOptional>; notes: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type?: "chore" | "feature" | "task" | "bug" | "epic" | "story" | undefined; status?: "open" | "in_progress" | "blocked" | "done" | "wont_do" | undefined; description?: string | undefined; priority?: number | undefined; title?: string | undefined; labels?: string[] | undefined; assignee?: string | null | undefined; notes?: string | null | undefined; worktreeBranch?: string | null | undefined; }, { type?: "chore" | "feature" | "task" | "bug" | "epic" | "story" | undefined; status?: "open" | "in_progress" | "blocked" | "done" | "wont_do" | undefined; description?: string | undefined; priority?: number | undefined; title?: string | undefined; labels?: string[] | undefined; assignee?: string | null | undefined; notes?: string | null | undefined; worktreeBranch?: string | null | undefined; }>; export declare const TaskFilterSchema: z.ZodObject<{ status: z.ZodOptional, z.ZodArray, "many">]>>; type: z.ZodOptional, z.ZodArray, "many">]>>; priority: z.ZodOptional]>>; assignee: z.ZodOptional; labels: z.ZodOptional>; parentId: z.ZodOptional; isBlocked: z.ZodOptional; isReady: z.ZodOptional; search: z.ZodOptional; }, "strip", z.ZodTypeAny, { type?: "chore" | "feature" | "task" | "bug" | "epic" | "story" | ("chore" | "feature" | "task" | "bug" | "epic" | "story")[] | undefined; status?: "open" | "in_progress" | "blocked" | "done" | "wont_do" | ("open" | "in_progress" | "blocked" | "done" | "wont_do")[] | undefined; priority?: number | number[] | undefined; search?: string | undefined; labels?: string[] | undefined; parentId?: string | undefined; assignee?: string | undefined; isBlocked?: boolean | undefined; isReady?: boolean | undefined; }, { type?: "chore" | "feature" | "task" | "bug" | "epic" | "story" | ("chore" | "feature" | "task" | "bug" | "epic" | "story")[] | undefined; status?: "open" | "in_progress" | "blocked" | "done" | "wont_do" | ("open" | "in_progress" | "blocked" | "done" | "wont_do")[] | undefined; priority?: number | number[] | undefined; search?: string | undefined; labels?: string[] | undefined; parentId?: string | undefined; assignee?: string | undefined; isBlocked?: boolean | undefined; isReady?: boolean | undefined; }>; export declare const PRIORITY_LABELS: Record; export declare const STATUS_ICONS: Record; export declare const TYPE_ICONS: Record; //# sourceMappingURL=types.d.ts.map