/**
 * `opensquid memory` CLI verb group (G.6 + G.7).
 *
 * Verbs:
 *
 *   import-auto    — bulk-imports Claude Code auto-memory files from
 *                    `~/.claude/projects/<encoded-path>/memory/` into the
 *                    libSQL memory store via the MemoryStore handle (RES-5b, engine-free).
 *                    Dedupe by frontmatter `name` (round-tripped through the
 *                    `origin:import:` marker tag).
 *                    Flags:
 *                      --dry-run                preview without writing
 *                      --project <path>         override auto-memory project
 *                                               (default: cwd); slash → dash
 *                                               encoded per Claude Code
 *                      --auto-memory-root <p>   override `~/.claude/projects/`
 *
 *   snapshot-auto  — incremental catch-up over import-auto. Re-imports any
 *                    auto-memory file modified since the timestamp stored at
 *                    `<OPENSQUID_HOME>/.last-auto-memory-snapshot`. First run
 *                    (file absent) → imports ALL files. Reuses G.6 dedup.
 *                    Same flags as import-auto except --dry-run is omitted
 *                    (snapshot is a side-effecting maintenance verb).
 *
 * Stays harness-agnostic: the importer/snapshot module know nothing about
 * commander or the CLI surface. This file owns argument parsing + summary
 * formatting + the MemoryStore handle lifecycle (built + closed per verb).
 *
 * Imports from: commander, node:os, node:path, ../../runtime/paths.js,
 *   ../migrate/memory_store_handle.js, ../migrate/auto_memory_importer.js,
 *   ../migrate/auto_memory_snapshot.js.
 * Imported by: src/cli.ts, src/setup/cli/memory.test.ts.
 */
import { type MemoryStore } from '../migrate/memory_store_handle.js';
import type { Command } from 'commander';
export interface MemoryCliDeps {
    /** Override the memory store (tests inject a stub/tmp store). */
    storeFactory?: () => Promise<MemoryStore>;
    /** Override resolver for the auto-memory directory; tests use a tmp dir. */
    resolveAutoMemoryDir?: (root: string, projectPath: string) => string;
    /** Override opensquid-home directory (snapshot-auto target); tests use a tmp dir. */
    opensquidHome?: () => string;
    stdout?: (s: string) => void;
    stderr?: (s: string) => void;
    cwd?: () => string;
}
/**
 * Encode a project path the way Claude Code does for the auto-memory
 * directory: every `/` becomes `-` (including the leading slash, so
 * `/Users/alice/x` → `-Users-alice-x`). Non-path inputs are passed verbatim.
 */
export declare function encodeProjectPath(projectPath: string): string;
/** Register `opensquid memory` on the parent program. */
export declare function registerMemory(parent: Command, deps?: MemoryCliDeps): Command;
//# sourceMappingURL=memory.d.ts.map