import type { LineageEvent } from './types.js';
export type EntityEventClass = 'logic' | 'cosmetic' | 'neutral' | 'unknown';
/** A window seed proves presence at the boundary, not a change in that commit. */
export declare function isEntityWindowSeed(event: LineageEvent): boolean;
/**
 * Classify one persisted lineage event without guessing across missing evidence.
 *
 * This is shared by history-derived aggregates so hotspots and co-change agree
 * on what "changed" means. In particular, pure moves/renames do not become
 * behavioural coupling merely because two entities travelled in one commit.
 */
export declare function classifyEntityEvent(event: LineageEvent): EntityEventClass;
