/** * Dry-run preview functions for task deletion. * Ported from lib/tasks/delete-preview.sh * * @epic T4454 * @task T4529 */ import type { Task } from '@cleocode/contracts'; /** Impact severity levels. */ export type Severity = 'high' | 'medium' | 'low'; /** An impact warning. */ export interface DeleteWarning { severity: Severity; code: string; message: string; } /** Affected tasks info. */ export interface AffectedTasks { primary: Pick | null; children: Pick[]; totalCount: number; error?: string; } /** Impact analysis. */ export interface DeleteImpact { pendingLost: number; activeLost: number; blockedLost: number; doneLost: number; dependentsAffected: string[]; } /** Full preview result. */ export interface DeletePreview { success: boolean; dryRun: true; wouldDelete?: AffectedTasks; impact?: DeleteImpact; warnings?: DeleteWarning[]; warningCount?: number; strategy?: string; reason?: string | null; timestamp?: string; error?: { code: string; message: string; suggestion?: string; childCount?: number; }; } /** * Calculate which tasks would be affected by a delete operation. */ export declare function calculateAffectedTasks(taskId: string, strategy: string, tasks: Task[]): AffectedTasks; /** * Calculate impact of deletion. */ export declare function calculateImpact(affected: AffectedTasks, tasks: Task[]): DeleteImpact; /** * Generate warnings based on impact analysis. */ export declare function generateWarnings(affected: AffectedTasks, impact: DeleteImpact, strategy: string): DeleteWarning[]; /** * Main preview function - coordinates all preview calculations. */ export declare function previewDelete(taskId: string, tasks: Task[], options?: { strategy?: string; reason?: string; }): DeletePreview; //# sourceMappingURL=delete-preview.d.ts.map