export interface CortexMDEntry { path: string; content: string; mtimeMs: number; } export interface CortexMDBlock { type: 'text'; text: string; } export interface CortexMDInjectorOptions { /** Session id — usually process.env.CORTEX_SESSION_ID. Undefined/invalid → in-memory only. */ sessionId?: string; /** Directory where per-session cache files live. */ cacheDir?: string; /** Direct cache file override (used by tests to bypass session-id logic). */ cacheFile?: string | null; } export declare class CortexMDInjector { private cache; private readonly cacheFile; constructor(options?: CortexMDInjectorOptions); private loadCache; private persistCache; /** markOnlyPaths: entries whose path is in this set update the mtime cache * (so future reads of sibling files skip them) but do not emit a block. * Intended for the tool's own target file — the agent already has its * content as the primary tool response and does not need a duplicate. */ buildBlocks(device: string, entries: CortexMDEntry[], markOnlyPaths?: Set): CortexMDBlock[]; } export declare function getDefaultCortexInjector(): CortexMDInjector;