export interface SchemaSection { name: string; loadDepth: number; defaultChildren?: string[]; /** Short convention describing what belongs in this section. Consumed by the * checkpoint agent and shown as placeholder body in empty sections. ~100 chars. */ description?: string; /** What the checkpoint agent may write here: readonly | pointer | append (default). */ checkpointPolicy?: 'readonly' | 'pointer' | 'append'; } export interface EntrySchema { sections: SchemaSection[]; createLinkedO?: boolean; } export interface HmemConfig { /** Per-prefix entry schemas. Keys are prefix letters ("P", "E", …). Generic. */ schemas?: Record; prefixes?: Record; maxTitleChars?: number; maxNodeChars?: number; } export declare const DEFAULT_PREFIXES: Record; export declare const DEFAULT_CONFIG: HmemConfig; /** * Load config from `/hmem.config.json`, deep-merging `schemas` over DEFAULT_CONFIG. * Missing file → defaults. User-supplied schema keys win; default keys fill the rest. * Malformed prefix keys (not 1–2 uppercase letters) are dropped. */ export declare function loadConfig(dir: string): HmemConfig;