import { type PersonaProfile } from './memory.js'; export interface PersonaSnippetOpts { /** Per-conversation IM platform. */ platform: string; /** Per-conversation user id (the human across IMs). */ userId: string; /** Master switch — defaults to ON (P3). When false, buildPersonaSnippet * returns ''. Controlled by AGIM_MEMORY_ENABLED. */ enabled?: boolean; } export declare function isMemoryEnabled(): boolean; /** * Pure render helper — given a persona profile + fact count, build the * snippet text. Exported separately so unit tests can exercise the * P0 #4 row-age formatting without mocking SQLite-backed memory. * * When profile.updated_at is non-zero, the header carries a * "(summary last consolidated 3d ago)" tag so the agent can weight * stale facts against fresh ones without an extra tool call. */ export declare function renderPersonaSnippet(profile: PersonaProfile | null, factCount: number): string; /** * Build the persona snippet for prepending to a prompt. Empty string means * "don't prepend anything" — caller should just use the original prompt. */ export declare function buildPersonaSnippet(opts: PersonaSnippetOpts): string; /** Convenience: same as buildPersonaSnippet but reads the row + count once * for inspection (e.g. /memory list IM command). */ export declare function inspectPersona(platform: string, userId: string): { user_key: string; profile: PersonaProfile | null; factCount: number; }; //# sourceMappingURL=persona.d.ts.map