import { z } from 'zod'; import type { DocumentMap } from '../../services/Document.service.js'; /** * The docType value for DashboardTask documents. */ export declare const DashboardTask_docType = "task"; /** * The schema for {@link DashboardTask} documents. */ export declare const DashboardTaskSchema: z.ZodObject<{ docType: z.ZodDefault>; sharedWith: z.ZodDefault>>>; assignedTo: z.ZodOptional>>>; recurrenceInfo: z.ZodOptional; everyXTimeUnit: z.ZodOptional; x: z.ZodInt; }, z.core.$strip>>>; weekDaySet: z.ZodOptional>>; everyXWeekdayOfMonth: z.ZodOptional]>; }, z.core.$strip>>>; }, z.core.$strip>; recurrenceBasis: z.ZodEnum; recurrenceEffect: z.ZodEnum; }, z.core.$strip>>>; parentRecurringTaskInfo: z.ZodOptional>; startDate: z.ZodOptional>; dueDate: z.ZodOptional>; }, z.core.$strip>>>; title: z.ZodDefault; completed: z.ZodDefault; parentTaskId: z.ZodOptional>>>; description: z.ZodOptional>; createdDate: z.ZodDefault; lastUpdatedDate: z.ZodDefault; startDate: z.ZodOptional>; dueDate: z.ZodOptional>; tags: z.ZodDefault> & z.core.$partial, z.ZodArray>>; category: z.ZodDefault; filterSettings: z.ZodDefault> & z.core.$partial, z.ZodObject<{ userId: z.ZodPipe>; completed: z.ZodDefault>; grandChildrenTasks: z.ZodDefault>; startDate: z.ZodDefault; }, z.core.$strip>>; tags: z.ZodDefault>>; }, z.core.$strip>>>; sortSettings: z.ZodDefault> & z.core.$partial, z.ZodObject<{ userId: z.ZodPipe>; sortList: z.ZodDefault; sortDirection: z.ZodEnum; }, z.core.$strip>>>; }, z.core.$strip>>>; _id: z.ZodPipe, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>; userId: z.ZodPipe>; }, z.core.$strip>; /** * A utility type for a map of tasks. */ export type DashboardTaskMap = DocumentMap; /** * When thinking about the logic of tasks, the following thoughts come to mind: * * What would you expect a task manager to do in the case that you have a task * with a bunch of subtasks, and you share that single task with another person? * * - Should the subtasks be automatically shared as well no matter what? (Would make behavior simpler for the user) * - Should there instead be an option to share the subtasks automatically? * - In the case that the other user adds a subtask to the original task you shared, would you expect to see that subtask? * - If there is an option to not share the subtasks automatically, what happens when the other user adds a subtask to the one you shared? * * Because of the complexity for the user in not automatically sharing subtasks, * it seems better to always automatically share subtasks. In a theoretical sense, * sharing a task with someone seems to imply the shared ownership of completing * the overall task, including all the subtasks. * * Recurring Tasks: * * - The user sets a task as recurring with a frequency? Only that task is marked, because when the recurrence comes up, the frontend will update that task and all sub tasks. * - The date + time for the recurrence happens? If the users browser is open, the frontend will trigger the update ideally. This needs to be checked if this can be done in a performant way. */ export type DashboardTask = z.infer; //# sourceMappingURL=Task.d.ts.map