import { AtomicTask, TaskStatus, TaskPriority, TaskType, FunctionalArea } from '../../types/task.js'; import { FileOperationResult } from '../../utils/file-utils.js'; export interface CreateTaskParams { title: string; description: string; projectId: string; epicId?: string; priority?: TaskPriority; type?: TaskType; functionalArea?: FunctionalArea; estimatedHours?: number; filePaths?: string[]; acceptanceCriteria?: string[]; tags?: string[]; assignedAgent?: string; } export interface UpdateTaskParams { title?: string; description?: string; status?: TaskStatus; priority?: TaskPriority; type?: TaskType; estimatedHours?: number; actualHours?: number; filePaths?: string[]; acceptanceCriteria?: string[]; tags?: string[]; assignedAgent?: string; } export interface TaskQueryParams { projectId?: string; epicId?: string; status?: TaskStatus; priority?: TaskPriority; type?: TaskType; assignedAgent?: string; tags?: string[]; createdAfter?: Date; createdBefore?: Date; limit?: number; offset?: number; } export interface CreateEpicParams { title: string; description: string; projectId: string; priority?: TaskPriority; estimatedHours?: number; tags?: string[]; } export declare class TaskOperations { private static instance; private securityEngine; private constructor(); private acquireLock; private releaseLock; private sanitizeData; static getInstance(): TaskOperations; static resetInstance(): void; createTask(params: CreateTaskParams, createdBy?: string): Promise>; getTask(taskId: string): Promise>; updateTask(taskId: string, params: UpdateTaskParams, updatedBy?: string): Promise>; deleteTask(taskId: string, deletedBy?: string): Promise>; listTasks(query?: TaskQueryParams): Promise>; searchTasks(searchQuery: string, query?: TaskQueryParams): Promise>; private validateCreateTaskParams; private validateUpdateTaskParams; private applyTaskFilters; updateTaskStatus(taskId: string, status: TaskStatus, updatedBy?: string): Promise>; updateTaskMetadata(taskId: string, metadata: Record, updatedBy?: string): Promise>; getTaskStatus(taskId: string): Promise>; getTaskMetadata(taskId: string): Promise>>; addTaskTags(taskId: string, tags: string[], updatedBy?: string): Promise>; removeTaskTags(taskId: string, tags: string[], updatedBy?: string): Promise>; } export declare function getTaskOperations(): TaskOperations; //# sourceMappingURL=task-operations.d.ts.map