/** * Identity helpers — produce stable `logicalId` and per-mount * `instanceId` values for components, hooks, and slots. Mirrors the * shapes documented in `planning/02-data-model.md#logicalid`. */ export declare function nextGeneration(logicalId: string): number; export declare function shortHash(): string; export declare function componentLogicalId(file: string, name: string): string; export declare function hookLogicalId(file: string, componentName: string, hookName: string, index: number): string; export declare function slotLogicalId(file: string, line: number, kind: string): string; export declare function makeInstanceId(logicalId: string): { instanceId: string; generation: number; }; /** * Cheap deterministic hash over an array of dependency values. Used by * the traced hooks to compute `depsHash` so the reducer can decide * whether a hook re-ran because of a dep change. * * IDENTITY semantics, deliberately: objects and functions hash by a stable * per-reference id (a WeakMap registry), primitives by value — which is * exactly how React itself compares deps (`Object.is` per slot). The old * value hash (`JSON.stringify` per object dep, `fn.toString()` per function * dep, per hook, per render) was BOTH the profiler's top self-time in commit * storms AND less truthful: a re-created dep with equal content hashed * "unchanged", hiding precisely the referential instability that makes a * hook re-run — the thing this field exists to expose. */ export declare function depsHash(deps: readonly unknown[] | undefined): string; /** Test hook to reset generation counters between smoke iterations. */ export declare function resetIdentityState(): void;