import { Epic, TaskStatus, TaskPriority, FunctionalArea } from '../types/task.js'; import { FileOperationResult } from '../utils/file-utils.js'; export interface CreateEpicParams { title: string; description: string; projectId: string; priority?: TaskPriority; functionalArea?: FunctionalArea; estimatedHours?: number; tags?: string[]; dependencies?: string[]; } export interface UpdateEpicParams { title?: string; description?: string; status?: TaskStatus; priority?: TaskPriority; estimatedHours?: number; tags?: string[]; dependencies?: string[]; } export interface EpicQueryParams { projectId?: string; status?: TaskStatus; priority?: TaskPriority; tags?: string[]; createdAfter?: Date; createdBefore?: Date; limit?: number; offset?: number; } export interface EpicProgress { epicId: string; totalTasks: number; completedTasks: number; inProgressTasks: number; pendingTasks: number; blockedTasks: number; progressPercentage: number; estimatedHours: number; actualHours: number; remainingHours: number; } export declare class EpicService { private static instance; private constructor(); static getInstance(): EpicService; static resetInstance(): void; createEpic(params: CreateEpicParams, createdBy?: string): Promise>; getEpic(epicId: string): Promise>; updateEpic(epicId: string, params: UpdateEpicParams, updatedBy?: string): Promise>; deleteEpic(epicId: string, deletedBy?: string): Promise>; listEpics(query?: EpicQueryParams): Promise>; addTaskToEpic(epicId: string, taskId: string): Promise>; removeTaskFromEpic(epicId: string, taskId: string): Promise>; getEpicProgress(epicId: string): Promise>; private validateCreateEpicParams; private validateUpdateEpicParams; private applyEpicFilters; } export declare function getEpicService(): EpicService; //# sourceMappingURL=epic-service.d.ts.map