import { IContactInfo } from "../Contacts"; import { UserInfo } from "../Users"; import { ICalendarItemBase } from "./Common"; export type TaskStatus = "NEEDS_ACTION" | "IN_PROGRESS" | "COMPLETED" | "CANCELLED"; export type TaskPriority = 1 | 2 | 3 | 4; export interface ICalendarTask extends ICalendarItemBase { kind: "TASK"; /** Optional deadline */ dueAt?: Date; /** If dueAt is date-only in UI, store 00:00 + hasTime=false */ hasTime?: boolean; status: TaskStatus; priority?: TaskPriority; completedAt?: Date; completedBy?: UserInfo; /** Optional: support subtasks */ relatedContact: IContactInfo; }