import type { IconName } from "../external/icons"; import type { TaskResult } from "./task"; export default interface Project { id: string groupId: string | null name: string description: string icon: IconName active: boolean createdTime: string favorite: boolean subtractAmount: number tags: string[] startTime?: string endTime?: string statusTag?: string } export interface ProjectResult extends Project { tasks: TaskResult[] } export interface ProjectFilter { active?: boolean favorite?: boolean expiring?: boolean includeSemiActive?: boolean } export interface ProjectInput { name: string groupId?: string description: string icon: IconName active: boolean subtractAmount: number startTime?: string | Date endTime?: string | Date statusTag?: string favorite?: boolean tags?: string[] } export interface ProjectUpdate { name?: string description?: string groupId?: string icon?: string active?: boolean startTime?: string | Date clearStartTime?: boolean endTime?: string | Date clearEndTime?: boolean statusTag?: string clearStatusTag?: boolean subtractAmount?: number favorite?: boolean setTags?: string[] }