import type { MemoryIndexEntry } from '../memory/memory-search-service.js'; /** * preflight ranks over. * * - `hot` — standing rules / feedback / decisions. Always eligible. * - `warm` — project / reference memos. Injected only on task relevance. * * `cold` is deep storage and is deliberately NOT surfaced here. */ export interface MemoryTieredSelection { hot: MemoryIndexEntry[]; warm: MemoryIndexEntry[]; } export declare class MemoryIndexReader { private readonly projectRoot; private cache; constructor(projectRoot: string); /** * Flatten the whole index (all tiers, all buckets). Kept for * back-compat with the pre-2026-09-09 callers. */ loadIfStale(): MemoryIndexEntry[]; /** * * Returns `null` when `.peaks/memory/index.json` is absent or * unreadable — the caller distinguishes "no index" from "index with * zero entries" for its fail-soft reason code. Never throws. */ selectTiered(): MemoryTieredSelection | null; selectFeedbackLayerA(cap: number): MemoryIndexEntry[]; private loadSnapshot; }