/**
 * Semantic Merge Engine
 *
 * DESIGN.md §4.4 — Patch Commutativity and Conflict Detection.
 * Two patches commute when they operate on disjoint entities.
 * Two patches conflict when they both modify the same entity
 * in incompatible ways.
 */
import type { SemanticPatch, SemanticMergeResult } from './types.js';
/**
 * Check if two patches commute (can be applied in either order).
 * Returns true if they operate on disjoint entities or are identical.
 */
export declare function patchesCommute(a: SemanticPatch, b: SemanticPatch): boolean;
/**
 * Merge two sets of semantic patches (ours and theirs) against a common base.
 * Produces a merged patch list or structured conflicts.
 */
export declare function semanticMerge(oursPatches: SemanticPatch[], theirsPatches: SemanticPatch[], filePath?: string): SemanticMergeResult;
//# sourceMappingURL=semantic-merge.d.ts.map