/**
 * G.7 incremental auto-memory snapshot — periodic catch-up importer.
 *
 * Re-runs G.6's `importAutoMemoryDir` on auto-memory files modified since the
 * last snapshot timestamp recorded at `<opensquidHome>/.last-auto-memory-snapshot`
 * (an ASCII Number.toString() of `Date.now()` ms-precision).
 *
 * First-run semantics: snapshot file absent / unreadable / non-numeric → treat
 * `lastSnapshot = 0` so every `.md` file (minus `MEMORY.md`) is considered
 * "new" and gets the full G.6 import path. Per-file dedup via G.6's
 * `existingNames` set still prevents re-importing names already in the engine.
 *
 * Atomicity note: the snapshot timestamp is written AFTER `importAutoMemoryDir`
 * returns, even when `result.errors.length > 0`. Rationale: per-file errors are
 * usually parse failures on malformed files (the same files would fail on the
 * next run too). Loop-avoidance > replay-on-transient-fail for this verb. If
 * the importer THROWS (engine-down, fs error mid-readdir), we never reach the
 * write — so the next run still picks up the same window.
 *
 * Strict-greater comparison (`mtimeMs > lastSnapshot`) avoids re-importing a
 * file modified at exactly the snapshot timestamp. The ms resolution of
 * `Date.now()` makes simultaneous-modification edge cases statistically rare,
 * but the strict inequality is the principled choice.
 *
 * Imports from: node:fs, node:path, ../../engine/client.js,
 *   ./auto_memory_importer.js.
 * Imported by: src/setup/cli/memory.ts, auto_memory_snapshot.test.ts.
 */
import { type ImportResult } from './auto_memory_importer.js';
import type { MemoryStore } from './memory_store_handle.js';
export declare const SNAPSHOT_FILE = ".last-auto-memory-snapshot";
export declare function snapshotAuto(autoMemoryDir: string, opensquidHome: string, store: MemoryStore): Promise<ImportResult>;
//# sourceMappingURL=auto_memory_snapshot.d.ts.map