import { Dependency, DependencyType, DependencyGraph } from '../../types/dependency.js'; import { FileOperationResult } from '../../utils/file-utils.js'; export interface CreateDependencyParams { fromTaskId: string; toTaskId: string; type: DependencyType; description: string; critical?: boolean; } export interface UpdateDependencyParams { type?: DependencyType; description?: string; critical?: boolean; } export interface DependencyValidationResult { valid: boolean; errors: string[]; warnings: string[]; } export declare class DependencyOperations { private static instance; private validator; private constructor(); static getInstance(): DependencyOperations; static resetInstance(): void; createDependency(params: CreateDependencyParams, createdBy?: string): Promise>; getDependency(dependencyId: string): Promise>; updateDependency(dependencyId: string, params: UpdateDependencyParams, updatedBy?: string): Promise>; deleteDependency(dependencyId: string, deletedBy?: string): Promise>; getDependenciesForTask(taskId: string): Promise>; getDependentsForTask(taskId: string): Promise>; generateDependencyGraph(projectId: string): Promise>; validateProjectDependencies(projectId: string): Promise>>; loadDependencyGraph(projectId: string): Promise>; private checkCircularDependency; private updateTaskDependencyLists; private removeFromTaskDependencyLists; private calculateExecutionOrder; private calculateCriticalPath; private validateCreateParams; private validateUpdateParams; } export declare function getDependencyOperations(): DependencyOperations; //# sourceMappingURL=dependency-operations.d.ts.map