Skip to content

TypeScript Type Definitions

export type Priority = 'urgent' | 'high' | 'medium' | 'low' | 'none';
export type SemanticStatus = 'not_started' | 'in_progress' | 'completed' | 'canceled';
export type TaskStatus =
| 'backlog'
| 'todo'
| 'in_progress'
| 'in_review'
| 'done'
| 'canceled'
| (string & {});
export interface StatusDefinition {
key: string;
label: string;
category: SemanticStatus;
}
export interface Task {
id: string;
projectId: string;
title: string;
description?: string;
status: TaskStatus;
semanticStatus?: SemanticStatus;
priority: Priority;
assigneeId?: string;
reporterId?: string;
sprintId?: string;
dueDate?: string;
estimatedHours?: number;
loggedHours?: number;
tags?: string[];
customFields?: Record<string, unknown>;
parentId?: string;
createdAt: string;
updatedAt: string;
}
export interface Project {
id: string;
name: string;
description?: string;
key?: string;
status?: string;
statuses?: StatusDefinition[];
customFieldsSchema?: Record<string, CustomFieldDefinition>;
createdAt: string;
updatedAt: string;
}
export type DependencyType =
| 'finish_to_start'
| 'start_to_start'
| 'finish_to_finish'
| 'start_to_finish';
export interface Dependency {
id: string;
projectId: string;
sourceTaskId: string;
targetTaskId: string;
type: DependencyType;
lagHours?: number;
createdAt: string;
}