import type { PrototypeRowPath } from './prototypeOccurrence.js'; /** Names are opaque relative segments; the scene root name is excluded. */ export interface PrototypeMotionLayer { nodeId: string; names: readonly string[]; kind: string; rowPath: PrototypeRowPath; instancePath: readonly string[]; root?: boolean; value: T; } export interface PrototypeMotionMatch { pairs: { from: PrototypeMotionLayer; to: PrototypeMotionLayer; }[]; leaving: PrototypeMotionLayer[]; entering: PrototypeMotionLayer[]; diagnostics: { code: string; message: string; }[]; } /** Uncertain matches remain separate so the caller can crossfade them. Caller values stay untouched. */ export declare function matchPrototypeMotionLayers(from: readonly PrototypeMotionLayer[], to: readonly PrototypeMotionLayer[]): PrototypeMotionMatch;