/**
 * Parses a Claude Code auto-memory file (G.6).
 *
 * Auto-memory files live at `~/.claude/projects/<encoded-path>/memory/<name>.md`.
 * Shape: YAML frontmatter delimited by `---` lines, then a markdown body.
 *
 *   ---
 *   name: foo-bar
 *   description: "..."
 *   metadata:
 *     type: feedback | user | project | reference
 *     originSessionId: <uuid>      # optional
 *     node_type: memory            # optional
 *   ---
 *   <markdown body, may itself contain `---` separators>
 *
 * Strict Zod validation on the frontmatter; the body is preserved verbatim
 * (re-joined with `---` so embedded HRs survive the round-trip).
 *
 * No I/O beyond `fs.readFile`. No engine knowledge — purely a file-format
 * parser. The importer (auto_memory_importer.ts) is the side-effect layer.
 *
 * Imports from: node:fs, yaml, zod.
 * Imported by: auto_memory_importer.ts, auto_memory_reader.test.ts.
 */
import { z } from 'zod';
/**
 * Accept BOTH the current nested shape (`metadata: { type }`) and the LEGACY
 * flat shape (`type:` at the frontmatter top level, no `metadata:` block) —
 * older auto-memory files predate the nested convention. A `z.preprocess`
 * normalizes the flat form into `metadata` before validation, so the
 * "record everything" backfill (MAU.6) never drops a memory just because its
 * frontmatter is older. The `type` data is present either way → scope stays
 * correct (no silent mis-scope to a default).
 */
export declare const AutoMemoryFrontmatter: z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    metadata: z.ZodObject<{
        type: z.ZodEnum<["user", "feedback", "project", "reference"]>;
        originSessionId: z.ZodOptional<z.ZodString>;
        node_type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "user" | "project" | "feedback" | "reference";
        originSessionId?: string | undefined;
        node_type?: string | undefined;
    }, {
        type: "user" | "project" | "feedback" | "reference";
        originSessionId?: string | undefined;
        node_type?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    name: string;
    description: string;
    metadata: {
        type: "user" | "project" | "feedback" | "reference";
        originSessionId?: string | undefined;
        node_type?: string | undefined;
    };
}, {
    name: string;
    description: string;
    metadata: {
        type: "user" | "project" | "feedback" | "reference";
        originSessionId?: string | undefined;
        node_type?: string | undefined;
    };
}>, {
    name: string;
    description: string;
    metadata: {
        type: "user" | "project" | "feedback" | "reference";
        originSessionId?: string | undefined;
        node_type?: string | undefined;
    };
}, unknown>;
export type ParsedAutoMemoryFrontmatter = z.infer<typeof AutoMemoryFrontmatter>;
export interface ParsedAutoMemory {
    frontmatter: ParsedAutoMemoryFrontmatter;
    body: string;
    source_path: string;
}
export declare function readAutoMemory(path: string): Promise<ParsedAutoMemory>;
//# sourceMappingURL=auto_memory_reader.d.ts.map