/**
 * snapshotPipeline — composes `loadSnapshot` + `writeSnapshot` into a
 * `MemoryPipeline` ready to be mounted by `defineMemory({ type: CAUSAL })`.
 *
 *   READ  :  LoadSnapshot — embed query → search → project → format
 *   WRITE :  WriteSnapshot — embed query → store as MemoryEntry<SnapshotEntry>
 *
 * The pipeline emits the same `agentfootprint.context.injected` event
 * (with `source: 'memory'`) as every other memory flavor, so Lens
 * shows Causal injections as memory chips alongside Episodic /
 * Semantic / Narrative without special UI.
 */
import type { MemoryStore } from '../store/index.js';
import type { Embedder } from '../embedding/index.js';
import type { MemoryPipeline } from '../pipeline/types.js';
import type { SnapshotProjection } from '../define.types.js';
export interface SnapshotPipelineConfig {
    /** Vector-capable store for the snapshots. Must implement `search()`. */
    readonly store: MemoryStore;
    /** Embedder used for both write-side indexing and read-side query. */
    readonly embedder: Embedder;
    /** Stable id of the embedder — prevents cross-model similarity pollution. */
    readonly embedderId?: string;
    /** Top-k past snapshots to consider on read. Default 1. */
    readonly topK?: number;
    /** Cosine threshold below which matches are dropped. Default 0.7. */
    readonly minScore?: number;
    /** Slice of the snapshot to inject. Default `'decisions'`. */
    readonly projection?: SnapshotProjection;
    /** Optional TTL for snapshots in ms. Useful for compliance windows. */
    readonly ttlMs?: number;
    /** Optional tier tag for written snapshots. */
    readonly tier?: 'hot' | 'warm' | 'cold';
}
export declare function snapshotPipeline(config: SnapshotPipelineConfig): MemoryPipeline;
