import { TypedDocumentNode } from "@graphql-typed-document-node/core"; export interface WorkItem { id: string; iid: string; title: string; description?: string; state: WorkItemState; workItemType: { id: string; name: string; }; widgets: WorkItemWidget[]; createdAt: string; updatedAt: string; closedAt?: string; webUrl: string; } export interface WorkItemUpdateInput { id: string; title?: string; stateEvent?: string; descriptionWidget?: { description: string; }; assigneesWidget?: { assigneeIds: string[]; }; labelsWidget?: { addLabelIds?: string[]; removeLabelIds?: string[]; }; milestoneWidget?: { milestoneId: string; }; startAndDueDateWidget?: { startDate?: string | null; dueDate?: string | null; isFixed?: boolean; }; hierarchyWidget?: { parentId?: string | null; childrenIds?: string[]; adjacentWorkItemId?: string; relativePosition?: "BEFORE" | "AFTER"; }; timeTrackingWidget?: { timeEstimate?: string; timelog?: { timeSpent: string; spentAt?: string; summary?: string; }; }; weightWidget?: { weight?: number | null; }; iterationWidget?: { iterationId?: string | null; }; healthStatusWidget?: { healthStatus?: string | null; }; progressWidget?: { currentValue: number; }; colorWidget?: { color: string; }; verificationStatusWidget?: { verificationStatus: "PASSED" | "FAILED"; }; } export type WorkItemState = "OPEN" | "CLOSED"; export type WorkItemTypeEnum = "EPIC" | "ISSUE" | "TASK" | "INCIDENT" | "TEST_CASE" | "REQUIREMENT" | "OBJECTIVE" | "KEY_RESULT"; export declare const WorkItemWidgetTypes: { readonly ASSIGNEES: "ASSIGNEES"; readonly DESCRIPTION: "DESCRIPTION"; readonly HIERARCHY: "HIERARCHY"; readonly LABELS: "LABELS"; readonly MILESTONE: "MILESTONE"; readonly NOTES: "NOTES"; readonly START_AND_DUE_DATE: "START_AND_DUE_DATE"; readonly HEALTH_STATUS: "HEALTH_STATUS"; readonly WEIGHT: "WEIGHT"; readonly ITERATION: "ITERATION"; readonly PROGRESS: "PROGRESS"; readonly STATUS: "STATUS"; readonly REQUIREMENT_LEGACY: "REQUIREMENT_LEGACY"; readonly TEST_REPORTS: "TEST_REPORTS"; readonly NOTIFICATIONS: "NOTIFICATIONS"; readonly CURRENT_USER_TODOS: "CURRENT_USER_TODOS"; readonly AWARD_EMOJI: "AWARD_EMOJI"; readonly LINKED_ITEMS: "LINKED_ITEMS"; readonly COLOR: "COLOR"; readonly PARTICIPANTS: "PARTICIPANTS"; readonly DESIGNS: "DESIGNS"; readonly DEVELOPMENT: "DEVELOPMENT"; readonly CRM_CONTACTS: "CRM_CONTACTS"; readonly TIME_TRACKING: "TIME_TRACKING"; readonly EMAIL_PARTICIPANTS: "EMAIL_PARTICIPANTS"; readonly CUSTOM_FIELDS: "CUSTOM_FIELDS"; readonly ERROR_TRACKING: "ERROR_TRACKING"; readonly LINKED_RESOURCES: "LINKED_RESOURCES"; readonly VULNERABILITIES: "VULNERABILITIES"; readonly VERIFICATION_STATUS: "VERIFICATION_STATUS"; }; export type WorkItemWidgetType = (typeof WorkItemWidgetTypes)[keyof typeof WorkItemWidgetTypes]; export interface WorkItemWidget { type: WorkItemWidgetType; } export interface WorkItemAssigneesWidget extends WorkItemWidget { type: "ASSIGNEES"; allowsMultipleAssignees: boolean; canInviteMembers: boolean; assignees: { nodes: User[]; }; } export interface WorkItemDescriptionWidget extends WorkItemWidget { type: "DESCRIPTION"; description: string; descriptionHtml: string; edited: boolean; lastEditedAt?: string; lastEditedBy?: User; } export interface WorkItemHierarchyWidget extends WorkItemWidget { type: "HIERARCHY"; parent?: WorkItem; children: { nodes: WorkItem[]; }; hasChildren: boolean; } export interface WorkItemLabelsWidget extends WorkItemWidget { type: "LABELS"; allowsScopedLabels: boolean; labels: { nodes: Label[]; }; } export interface User { id: string; username: string; name: string; avatarUrl?: string; webUrl: string; } export interface Label { id: string; title: string; description?: string; color: string; textColor: string; } export interface Milestone { id: string; title: string; description?: string; state: MilestoneStateEnum; dueDate?: string; startDate?: string; webUrl: string; } export type MilestoneStateEnum = "active" | "closed"; export interface WorkItemMilestoneWidget extends WorkItemWidget { type: "MILESTONE"; milestone?: Milestone; } export interface WorkItemNotesWidget extends WorkItemWidget { type: "NOTES"; discussions: { nodes: Discussion[]; }; } export interface WorkItemStartAndDueDateWidget extends WorkItemWidget { type: "START_AND_DUE_DATE"; startDate?: string; dueDate?: string; isFixed: boolean; } export interface WorkItemHealthStatusWidget extends WorkItemWidget { type: "HEALTH_STATUS"; healthStatus?: HealthStatusEnum; } export interface WorkItemWeightWidget extends WorkItemWidget { type: "WEIGHT"; weight?: number; } export interface WorkItemStatusWidget extends WorkItemWidget { type: "STATUS"; status?: string; } export interface WorkItemTimelog { id: string; timeSpent: number; spentAt?: string; summary?: string; user?: { id: string; username: string; }; note?: { body: string; }; } export interface WorkItemTimeTrackingWidget extends WorkItemWidget { type: "TIME_TRACKING"; timeEstimate?: number; totalTimeSpent?: number; humanTimeEstimate?: string; humanTotalTimeSpent?: string; timelogs?: { nodes: WorkItemTimelog[]; }; } export interface WorkItemParticipantsWidget extends WorkItemWidget { type: "PARTICIPANTS"; participants: { nodes: User[]; }; } export interface WorkItemProgressWidget extends WorkItemWidget { type: "PROGRESS"; currentValue?: number; endValue?: number; progress?: number; startValue?: number; } export interface WorkItemIterationWidget extends WorkItemWidget { type: "ITERATION"; iteration?: { id: string; title: string; startDate?: string; dueDate?: string; webUrl?: string; iterationCadence?: { id: string; title: string; }; }; } export interface WorkItemRequirementLegacyWidget extends WorkItemWidget { type: "REQUIREMENT_LEGACY"; } export interface WorkItemTestReportsWidget extends WorkItemWidget { type: "TEST_REPORTS"; testReports?: { nodes: TestReport[]; }; } export interface WorkItemVerificationStatusWidget extends WorkItemWidget { type: "VERIFICATION_STATUS"; verificationStatus?: string; } export interface WorkItemNotificationsWidget extends WorkItemWidget { type: "NOTIFICATIONS"; subscribed: boolean; emailsDisabled: boolean; } export interface WorkItemCurrentUserTodosWidget extends WorkItemWidget { type: "CURRENT_USER_TODOS"; currentUserTodos: { nodes: Todo[]; }; } export interface WorkItemAwardEmojiWidget extends WorkItemWidget { type: "AWARD_EMOJI"; awardEmoji: { nodes: AwardEmoji[]; }; upvotes: number; downvotes: number; } export interface WorkItemLinkedItemNode { linkType: string; workItem: WorkItem; } export interface WorkItemLinkedItemsWidget extends WorkItemWidget { type: "LINKED_ITEMS"; linkedItems: { nodes: WorkItemLinkedItemNode[]; }; } export interface WorkItemColorWidget extends WorkItemWidget { type: "COLOR"; color?: string; } export interface WorkItemDesignsWidget extends WorkItemWidget { type: "DESIGNS"; designs: { nodes: Design[]; }; } export interface WorkItemDevelopmentWidget extends WorkItemWidget { type: "DEVELOPMENT"; closingMergeRequests: { nodes: MergeRequest[]; }; featureFlags: { nodes: FeatureFlag[]; }; } export interface WorkItemCrmContactsWidget extends WorkItemWidget { type: "CRM_CONTACTS"; contacts: { nodes: Contact[]; }; } export interface WorkItemEmailParticipantsWidget extends WorkItemWidget { type: "EMAIL_PARTICIPANTS"; emailParticipants: { nodes: Array<{ email: string; }>; }; } export interface WorkItemCustomFieldsWidget extends WorkItemWidget { type: "CUSTOM_FIELDS"; customFields: { nodes: CustomField[]; }; } export interface WorkItemErrorTrackingWidget extends WorkItemWidget { type: "ERROR_TRACKING"; errorTrackingEnabled: boolean; errors: { nodes: Error[]; }; } export interface WorkItemLinkedResourcesWidget extends WorkItemWidget { type: "LINKED_RESOURCES"; linkedResources: { nodes: LinkedResource[]; }; } export interface WorkItemVulnerabilitiesWidget extends WorkItemWidget { type: "VULNERABILITIES"; relatedVulnerabilities: { nodes: Vulnerability[]; pageInfo: { hasNextPage: boolean; endCursor?: string; }; count: number; }; } export interface Discussion { id: string; resolvable: boolean; resolved: boolean; notes: { nodes: Note[]; }; } export interface Note { id: string; body: string; author: User; createdAt: string; updatedAt: string; system: boolean; } export type HealthStatusEnum = "onTrack" | "needsAttention" | "atRisk"; export interface TestReport { id: string; state: string; createdAt: string; author?: { id: string; username: string; }; } export interface Todo { id: string; action: string; author: User; createdAt: string; state: string; } export interface AwardEmoji { name: string; emoji: string; description: string; user: User; } export interface Design { id: string; filename: string; fullPath: string; image: string; imageV432x230: string; } export interface MergeRequest { id: string; iid: string; title: string; state: string; webUrl: string; } export interface FeatureFlag { id: string; name: string; description?: string; active: boolean; } export interface Contact { id: string; firstName: string; lastName: string; email: string; phone?: string; organization?: string; } export interface CustomField { id: string; name: string; value: string; type: string; } export interface Error { id: string; title: string; message: string; count: number; firstSeen: string; lastSeen: string; } export interface LinkedResource { id: string; url: string; type: string; title?: string; } export interface Vulnerability { id: string; state: string; severity: string; name: string; webUrl: string; } export declare const GET_GROUP_PROJECTS: TypedDocumentNode<{ group: { projects: { nodes: Array<{ id: string; fullPath: string; archived: boolean; }>; }; }; }, { groupPath: string; includeSubgroups?: boolean; }>; export declare const GET_NAMESPACE_TYPE: TypedDocumentNode<{ namespace: { __typename: string; fullPath: string; }; }, { namespacePath: string; }>; export declare const GET_NAMESPACE_WORK_ITEMS: TypedDocumentNode<{ namespace: { __typename: string; fullPath: string; workItems?: { nodes: WorkItem[]; pageInfo: { hasNextPage: boolean; endCursor?: string; }; } | null; } | null; }, { namespacePath: string; types?: string[]; first?: number; after?: string; }>; export declare const GET_WORK_ITEMS: TypedDocumentNode<{ group: { workItems: { nodes: WorkItem[]; }; }; }, { groupPath: string; types?: string[]; first?: number; after?: string; }>; export declare const GET_PROJECT_WORK_ITEMS: TypedDocumentNode<{ project: { workItems: { nodes: WorkItem[]; pageInfo: { hasNextPage: boolean; endCursor?: string; }; }; }; }, { projectPath: string; types?: string[]; first?: number; after?: string; }>; export declare const GET_WORK_ITEM_BY_IID: TypedDocumentNode<{ namespace: { workItem: WorkItem | null; } | null; }, { namespacePath: string; iid: string; }>; export declare const GET_WORK_ITEM: TypedDocumentNode<{ workItem: WorkItem; }, { id: string; }>; export declare const CREATE_WORK_ITEM: TypedDocumentNode<{ workItemCreate: { workItem: WorkItem; errors: string[]; }; }, { namespacePath: string; title: string; workItemTypeId: string; }>; export declare const CREATE_WORK_ITEM_WITH_DESCRIPTION: TypedDocumentNode<{ workItemCreate: { workItem: WorkItem; errors: string[]; }; }, { namespacePath: string; title: string; workItemTypeId: string; description: string; }>; export declare const UPDATE_WORK_ITEM: TypedDocumentNode<{ workItemUpdate: { workItem: WorkItem; errors: string[]; }; }, { input: WorkItemUpdateInput; }>; export declare const DELETE_WORK_ITEM: TypedDocumentNode<{ workItemDelete: { errors: string[]; }; }, { id: string; }>; export declare const TIMELOG_DELETE: TypedDocumentNode<{ timelogDelete: { timelog: { id: string; timeSpent: number; spentAt: string; summary: string | null; } | null; errors: string[]; }; }, { id: string; }>; export declare const GET_WORK_ITEM_TYPES: TypedDocumentNode<{ namespace: { workItemTypes: { nodes: { id: string; name: string; }[]; }; }; }, { namespacePath: string; }>; export interface WorkItemCreateInput { namespacePath: string; title: string; workItemTypeId: string; description?: string; assigneesWidget?: { assigneeIds: string[]; }; labelsWidget?: { labelIds: string[]; }; milestoneWidget?: { milestoneId: string; }; startAndDueDateWidget?: { startDate?: string | null; dueDate?: string | null; isFixed?: boolean; }; hierarchyWidget?: { parentId?: string | null; childrenIds?: string[]; }; weightWidget?: { weight?: number | null; }; iterationWidget?: { iterationId?: string | null; }; healthStatusWidget?: { healthStatus?: string | null; }; progressWidget?: { currentValue: number; }; colorWidget?: { color: string; }; } export declare const CREATE_WORK_ITEM_WITH_WIDGETS: TypedDocumentNode<{ workItemCreate: { workItem: WorkItem; errors: string[]; }; }, { input: WorkItemCreateInput; }>; export type WorkItemLinkType = "RELATED" | "BLOCKS" | "BLOCKED_BY"; export interface WorkItemAddLinkedItemsInput { id: string; workItemsIds: string[]; linkType: WorkItemLinkType; } export interface WorkItemRemoveLinkedItemsInput { id: string; workItemsIds: string[]; } export declare const WORK_ITEM_ADD_LINKED_ITEMS: TypedDocumentNode<{ workItemAddLinkedItems: { workItem: WorkItem; errors: string[]; message?: string; }; }, { input: WorkItemAddLinkedItemsInput; }>; export declare const WORK_ITEM_REMOVE_LINKED_ITEMS: TypedDocumentNode<{ workItemRemoveLinkedItems: { workItem: WorkItem; errors: string[]; message?: string; }; }, { input: WorkItemRemoveLinkedItemsInput; }>;