/**
 * engine/living-spec/conflict-resolver.ts — SPEC-172: Merge conflict resolution
 *
 * Pure functions for detecting and resolving conflicts between spec changes and
 * code changes that occur simultaneously. Supports configurable resolution policies
 * and generates git-style conflict markers for unresolved conflicts.
 */
import type { ConflictCategory, ConflictItem, MergeConflictResolution, CodeDiff, MergeSpecDiff, ResolvedConflict, ResolutionPolicy } from '../../types/index.js';
/**
 * Compute a simple line-level diff between two spec strings.
 * Delegates to the shared line-diff utility and adds change detection.
 */
export declare function computeSpecDiff(originalSpec: string, newSpec: string): MergeSpecDiff;
/**
 * Build a CodeDiff from a list of changed file paths.
 * File paths prefixed with '+' are added, '-' removed, otherwise modified.
 */
export declare function buildCodeDiff(codeChanges: string[]): CodeDiff;
/**
 * Categorize a conflict item as semantic, structural, or cosmetic.
 *
 * - semantic: spec acceptance criteria directly contradict code behavior
 * - structural: additions/removals that create structural mismatches
 * - cosmetic: naming differences, whitespace, or formatting changes only
 */
export declare function categorizeConflict(conflict: ConflictItem): ConflictCategory;
/**
 * Detect conflicts between a spec diff and a code diff.
 * Returns conflict items representing mismatches that need resolution.
 */
export declare function detectConflicts(specDiff: MergeSpecDiff, codeDiff: CodeDiff): ConflictItem[];
/**
 * Attempt to auto-resolve a single conflict using the given policy.
 * Returns null if the policy requires human review (always-ask).
 */
export declare function autoResolve(conflict: ConflictItem, policy: ResolutionPolicy): ResolvedConflict | null;
/**
 * Resolve spec conflicts between an original spec, a new spec version, and code changes.
 * Returns a MergeConflictResolution with auto-resolved conflicts and those pending human review.
 */
export declare function resolveSpecConflict(originalSpec: string, newSpec: string, codeChanges: string[], specId: string, policy?: ResolutionPolicy): MergeConflictResolution;
/**
 * Generate git-style conflict markers for unresolved conflicts.
 */
export declare function generateConflictMarkers(pendingConflicts: ConflictItem[], originalSpec: string, newSpec: string): string[];
//# sourceMappingURL=conflict-resolver.d.ts.map