import { AUDIT, ID, MARKDOWN, DATE, REF_URL, TAG, ATTACHMENT, MEMBER, COMMENT, CHECKLIST, SCHEMA } from './base-types.js'; import { Assert, IsEqual } from './types.js'; import 'zod'; type TaskData = AUDIT & { id: ID; projectId?: ID; name: string; description?: MARKDOWN; status: string; priority: string; order: number; startDate?: DATE; endDate?: DATE; parentTaskId?: ID; subTasks?: ID[]; completed?: boolean; links?: REF_URL[]; tags?: TAG[]; attachments?: ATTACHMENT[]; assignedTo?: MEMBER[]; watching?: MEMBER[]; comments?: COMMENT[]; acceptanceCriteria?: CHECKLIST[]; checkList?: CHECKLIST[]; }; type TaskSchema = SCHEMA & { properties: { [k in keyof TaskData]-?: any; }; required: (keyof TaskData)[]; }; declare const taskSchema: TaskSchema; type TaskFields = keyof typeof taskSchema.properties; type TaskDataKeys = keyof TaskData; type _TaskKeysEqual = Assert>; export { type TaskData, type TaskDataKeys, type TaskFields, type _TaskKeysEqual, taskSchema };