/**
 * 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<Task, 'id' | 'title' | 'status' | 'type' | 'parentId' | 'labels'> | null;
    children: Pick<Task, 'id' | 'title' | 'status' | 'type' | 'parentId' | 'labels'>[];
    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