import { BacklogItem } from "./backlogItem"; import { Project } from "./project"; import { Sprint } from "./sprint"; export interface AgileService { createProject: (project: Project) => Promise; getProject: (name: string) => Promise; deleteProject: (project: Project) => Promise; /** * Get backlog items by ID from agile provider * * @param {string[]} ids List of backlog item IDs * @returns {BacklogItem[]} List of backlog items corresponding to IDs */ getBacklogItems: (ids?: string[]) => Promise; /** * Create backlog items with agile provider * * @param {BacklogItem[]} items List of backlog items to create * @param {BacklogItem|undefined} parent Parent backlog item * @returns {BacklogItem[]} Newly created backlog items */ createBacklogItems: (items: BacklogItem[], parent?: BacklogItem) => Promise; /** * Delete backlog items from agile provider * * @param {string[]} ids List of backlog item IDs to delete */ deleteBacklogItems: (ids: string[]) => Promise; /** * Get a sprint by ID * * @param {string} id Sprint ID */ getSprint: (id: string) => Promise; /** * Create sprints with Agile provider * * @param {Sprint[]} sprints Sprints to create If no sprints provided, uses sprint config * @returns {Promise} Sprints */ createSprints: (sprints?: Sprint[]) => Promise; /** * Delete a sprint * * @param {string} id Sprint ID */ deleteSprint: (id: string) => Promise; }