import type { ObservationIndex, ObservationType } from "../types"; import { type Database } from "./database"; /** A cross-project observation stored in the user-level memory database. */ export interface UserObservation { id: string; type: ObservationType; title: string; subtitle: string; facts: string[]; narrative: string; concepts: string[]; filesRead: string[]; filesModified: string[]; toolName: string; createdAt: string; tokenCount: number; importance: number; sourceProject: string; } /** Manages the user-level SQLite database for cross-project memory. */ export declare class UserMemoryDatabase { private db; constructor(dbPath: string); private initializeUserSchema; /** Get the underlying database instance. */ get database(): Database; /** Close the database connection. */ close(): void; } /** Repository for CRUD operations on user-level cross-project observations. */ export declare class UserObservationRepository { private db; constructor(db: Database); /** Create a new user-level observation. */ create(data: Omit): UserObservation; /** Search user observations using FTS5 full-text search. */ search(query: { query: string; limit?: number; sourceProject?: string; }): Array<{ observation: UserObservation; rank: number; }>; /** Get a lightweight index of user observations for context injection. */ getIndex(limit?: number, sourceProject?: string): ObservationIndex[]; /** Get a user observation by its unique ID. */ getById(id: string): UserObservation | null; /** Delete a user observation by ID. */ delete(id: string): boolean; private mapRow; } //# sourceMappingURL=user-memory.d.ts.map