/**
 * Impact analysis module - dependency-aware prediction of downstream effects.
 *
 * Builds on the existing dependency graph infrastructure in phases/deps.ts
 * and orchestration/analyze.ts to provide:
 *   - Task impact assessment (direct + transitive dependents)
 *   - Change impact prediction (cancel, block, complete, reprioritize)
 *   - Blast radius calculation (scope quantification)
 *   - Free-text impact prediction (predictImpact) — T043
 *
 * @module intelligence
 */
import type { DataAccessor } from '../store/data-accessor.js';
import type { BlastRadius, ChangeImpact, ChangeType, ImpactAssessment, ImpactReport } from './types.js';
/**
 * Analyze the full downstream impact of a task.
 *
 * Computes direct and transitive dependents, affected lifecycle pipelines,
 * blocked work counts, critical path membership, and blast radius.
 *
 * @param taskId - The task to analyze
 * @param accessor - DataAccessor instance (or auto-created from cwd)
 * @param cwd - Working directory (used if accessor is not provided)
 * @returns Full impact assessment
 */
export declare function analyzeTaskImpact(taskId: string, accessor?: DataAccessor, cwd?: string): Promise<ImpactAssessment>;
/**
 * Analyze the downstream effects of a specific change to a task.
 *
 * Predicts what happens when a task is cancelled, blocked, completed,
 * or reprioritized, including cascading status changes.
 *
 * @param taskId - The task being changed
 * @param changeType - The type of change
 * @param accessor - DataAccessor instance (or auto-created from cwd)
 * @param cwd - Working directory (used if accessor is not provided)
 * @returns Predicted change impact
 */
export declare function analyzeChangeImpact(taskId: string, changeType: ChangeType, accessor?: DataAccessor, cwd?: string): Promise<ChangeImpact>;
/**
 * Calculate the blast radius for a task.
 *
 * Quantifies how many tasks, epics, and what percentage of the project
 * would be impacted by changes to this task.
 *
 * @param taskId - The task to analyze
 * @param accessor - DataAccessor instance (or auto-created from cwd)
 * @param cwd - Working directory (used if accessor is not provided)
 * @returns Blast radius metrics
 */
export declare function calculateBlastRadius(taskId: string, accessor?: DataAccessor, cwd?: string): Promise<BlastRadius>;
/**
 * Predict the downstream impact of a free-text change description.
 *
 * Uses fuzzy keyword matching to identify candidate tasks that relate to
 * the change, then walks the reverse dependency graph to enumerate all
 * downstream tasks that may be affected.
 *
 * @remarks
 * The matching is purely lexical (no embeddings). Tasks are ranked by
 * how many tokens from the change description appear in their title and
 * description. The top `matchLimit` (default: 5) matched tasks are used
 * as seeds for downstream dependency tracing.
 *
 * @example
 * ```ts
 * import { predictImpact } from '@cleocode/core';
 *
 * const report = await predictImpact('Modify authentication flow', process.cwd());
 * console.log(report.summary);
 * // "3 tasks matched 'Modify authentication flow'; 7 downstream tasks affected."
 * for (const task of report.affectedTasks) {
 *   console.log(`${task.id} (${task.exposure}): ${task.reason}`);
 * }
 * ```
 *
 * @param change - Free-text description of the proposed change (e.g. "Modify X")
 * @param cwd - Working directory used to locate the tasks database
 * @param accessor - Optional pre-created DataAccessor (useful in tests)
 * @param matchLimit - Maximum number of seed tasks to match (default: 5)
 * @returns Full impact prediction report
 */
export declare function predictImpact(change: string, cwd?: string, accessor?: DataAccessor, matchLimit?: number): Promise<ImpactReport>;
//# sourceMappingURL=impact.d.ts.map