import type { Pool } from 'pg'; export interface RecallTracker { /** Record that the given memory ids were surfaced to the model for a query. */ record(params: RecallRecordParams): Promise; /** Backend-specific schema migration. Idempotent. */ migrate(): Promise; } export interface RecallRecordParams { agentId: string; query: string; hits: Array<{ id: string; path: string; score: number; }>; nowMs?: number; } export declare const RECALL_TABLE = "agent_memory_recalls"; export declare class PgvectorRecallTracker implements RecallTracker { private readonly pool; private readonly table; constructor(pool: Pool, table?: string); migrate(): Promise; record(params: RecallRecordParams): Promise; } /** No-op tracker — used when recall tracking is disabled or the backend isn't pgvector. */ export declare class NullRecallTracker implements RecallTracker { record(): Promise; migrate(): Promise; }