/**
 * Working Memory — bounded buffer for current-state notes.
 *
 * Separate from long-term semantic memory. Entries are scoped,
 * importance-ranked, and automatically evicted when the buffer
 * exceeds WM_MAX_ENTRIES per scope.
 */
export declare const WM_MAX_ENTRIES = 20;
export interface WorkingMemoryItem {
    id: number;
    scope: string;
    sessionId: string | null;
    taskId: string | null;
    importance: number;
    content: string;
    metadata: Record<string, unknown>;
    createdAt: string;
    updatedAt: string;
}
/**
 * Push a new entry into working memory.
 * If the scope exceeds WM_MAX_ENTRIES, the lowest-importance entry
 * is evicted (ties broken by oldest created_at).
 * Returns the new row ID.
 */
export declare function wmPush(hippoRoot: string, opts: {
    scope: string;
    content: string;
    importance?: number;
    sessionId?: string;
    taskId?: string;
    metadata?: Record<string, unknown>;
}): number;
/**
 * Read working memory entries, sorted by importance DESC.
 */
export declare function wmRead(hippoRoot: string, opts?: {
    scope?: string;
    sessionId?: string;
    limit?: number;
}): WorkingMemoryItem[];
/**
 * Clear (delete) working memory entries. Returns the count deleted.
 */
export declare function wmClear(hippoRoot: string, opts?: {
    scope?: string;
    sessionId?: string;
}): number;
/**
 * Flush working memory — delete entries after session end.
 * Functionally identical to wmClear but semantically distinct:
 * used at session boundaries to discard ephemeral state.
 * Returns the count flushed.
 */
export declare function wmFlush(hippoRoot: string, opts?: {
    scope?: string;
    sessionId?: string;
}): number;
//# sourceMappingURL=working-memory.d.ts.map