import type { DateTimeTzString } from "../types/DateTimeTzString"; import type { Category } from "./Category"; import type { ExternalFileLink } from "./ExternalFileLink"; import type { IssueAttachmentFile } from "./IssueAttachmentFile"; import type { IssueStatus } from "./IssueStatus"; import type { IssueType } from "./IssueType"; import type { Milestone } from "./Milestone"; import type { Priority } from "./Priority"; import type { Resolution } from "./Resolution"; import type { SharedFile } from "./SharedFile"; import type { Star } from "./Star"; import type { User } from "./User"; import type { Version } from "./Version"; export interface Issue { readonly id: number; readonly projectId: number; readonly issueKey: string; readonly keyId: number; readonly issueType: IssueType; readonly summary: string; readonly description: string; readonly resolution?: Resolution; readonly priority: Priority; readonly status: IssueStatus; readonly assignee?: User; readonly category: Category[]; readonly versions: Version[]; readonly milestone: Milestone[]; readonly startDate: DateTimeTzString | null; readonly dueDate: DateTimeTzString | null; readonly estimatedHours: number | null; readonly actualHours: number | null; readonly parentIssueId: number | null; readonly createdUser: User; readonly created: DateTimeTzString; readonly updatedUser: User; readonly updated: DateTimeTzString; readonly customFields: []; readonly attachments: IssueAttachmentFile[]; readonly sharedFiles: SharedFile[]; readonly externalFileLinks: ExternalFileLink[]; readonly stars: Star[]; }