/**
 * Replay — biologically-inspired rehearsal during consolidation.
 *
 * Hippocampal replay is internally-driven reactivation of memories during
 * slow-wave sleep: the brain picks important recent experiences and "plays
 * them back" without external input, strengthening them before they decay.
 * In McClelland's complementary-learning-systems framing, replay is also
 * how episodic memories train the neocortex (interleaved rehearsal); in
 * reward-modulated STDP, replay is gated by dopamine so rewarded
 * experiences get preferentially consolidated.
 *
 * This module implements a lightweight, deterministic analog. During each
 * `hippo sleep`, we sample N surviving memories by a priority score that
 * weighs reward feedback, emotional valence, under-rehearsal, and age —
 * then apply the same retrieval-strengthening dynamics `markRetrieved`
 * applies to real queries. The effect is that important memories stay
 * strong even when the user hasn't explicitly queried them recently.
 *
 * Distinct from the other consolidation passes:
 *   - decay: removes what's too weak
 *   - physics: moves particles in embedding space
 *   - merge: collapses near-duplicate episodics into semantics
 *   - REPLAY: picks winners and rehearses them (this file)
 */
import type { MemoryEntry } from './memory.js';
/**
 * Priority score used to rank survivors for replay. Higher = more likely
 * to be sampled. Pure function of the entry and current time.
 */
export declare function replayPriority(entry: MemoryEntry, now: Date): number;
/**
 * Pick `count` memories for replay, weighted by `replayPriority`, without
 * replacement. Deterministic given the same seed.
 *
 * The sampler is weighted but not greedy — picking by priority alone would
 * always pick the top-N, which overfits. Biological replay shows both
 * preferential-for-reward AND stochastic-exploration characteristics; we
 * keep the stochastic element so adjacent survivors aren't always ignored.
 */
export declare function sampleForReplay(survivors: MemoryEntry[], count: number, now: Date, seed?: number): MemoryEntry[];
//# sourceMappingURL=replay.d.ts.map