import type { TaskStatus } from './task-status' import type { TaskEffort } from './task-effort' import type { TaskPriority } from './task-priority' import type { TaskTag } from './task-tag' import type { TaskGroup } from './task-group' import type { UserData } from './user-data' import type { Project } from './project' import type { TaskDocument } from './task-document' export type Task = { id: number '@id'?: string number: number title: string description: string | null status: TaskStatus | null effort: TaskEffort | null priority: TaskPriority | null assignee: UserData | null group: TaskGroup | null project: Project | null tags: TaskTag[] documents: TaskDocument[] archived: boolean clientTicket: { id: number number: number type: string status: string title: string } | null scheduledStart: string | null scheduledEnd: string | null deadline: string | null syncToCalendar: boolean calendarSyncError: string | null recurrence: { id: number '@id'?: string type: 'daily' | 'weekly' | 'monthly' | 'yearly' interval: number daysOfWeek: string[] | null dayOfMonth: number | null weekOfMonth: number | null endDate: string | null maxOccurrences: number | null occurrenceCount: number } | null } export type TaskWrite = { title: string description: string | null status: string | null effort: string | null priority: string | null assignee: string | null group: string | null project: string tags: string[] archived?: boolean clientTicket?: string | null scheduledStart?: string | null scheduledEnd?: string | null deadline?: string | null syncToCalendar?: boolean recurrence?: string | null }