import type { MemoryStore } from "./memory-store.js";
import type { MemoryEvent, MemoryEventInput, MemorySearchRequest, MemorySearchResult, MemorySessionIdentity, MemoryStatus } from "./memory-types.js";
interface SqliteMemoryStoreOptions {
    dbPath: string;
}
export declare class SqliteMemoryStore implements MemoryStore {
    readonly kind = "sqlite";
    private readonly dbPath;
    private db;
    private session;
    private writeQueue;
    constructor(options: SqliteMemoryStoreOptions);
    initialize(session: MemorySessionIdentity): Promise<void>;
    recordEvent(session: MemorySessionIdentity, event: MemoryEventInput): Promise<MemoryEvent>;
    search(request: MemorySearchRequest): Promise<MemorySearchResult[]>;
    getRecent(projectId: string, limit: number): Promise<MemoryEvent[]>;
    deleteEvent(projectId: string, eventId: string): Promise<boolean>;
    purgeProject(projectId: string): Promise<number>;
    getStatus(): Promise<MemoryStatus>;
    close(): Promise<void>;
    private open;
    private configureDatabase;
    private runMigrations;
    private openDatabase;
    private enqueueWrite;
    private ensureProject;
    private ensureSession;
}
export {};
//# sourceMappingURL=sqlite-memory-store.d.ts.map