/**
 * Strategy pattern for child handling during task deletion/cancellation.
 * Ported from lib/tasks/deletion-strategy.sh
 *
 * Strategies: block (fail if has children), cascade (cancel all), orphan (remove parent ref)
 *
 * @epic T4454
 * @task T4529
 */
import type { Task } from '@cleocode/contracts';
/** Valid child handling strategies. */
export type ChildStrategy = 'block' | 'cascade' | 'orphan';
export declare const VALID_STRATEGIES: ChildStrategy[];
/** Result from a strategy handler. */
export interface StrategyResult {
    success: boolean;
    strategy: ChildStrategy;
    taskId: string;
    affectedTasks: string[];
    affectedCount?: number;
    message: string;
    error?: {
        code: string;
        message: string;
        childCount?: number;
        childIds?: string[];
        suggestion?: string;
    };
}
/**
 * Validate a strategy name.
 */
export declare function isValidStrategy(strategy: string): strategy is ChildStrategy;
/**
 * Handle children using the specified strategy.
 * Returns the modified tasks array and the strategy result.
 */
export declare function handleChildren(taskId: string, strategy: ChildStrategy, tasks: Task[], options?: {
    force?: boolean;
    cascadeThreshold?: number;
    allowCascade?: boolean;
}): {
    tasks: Task[];
    result: StrategyResult;
};
//# sourceMappingURL=deletion-strategy.d.ts.map