/**
 * LocalMemoryProvider — SQLite-backed MemoryProvider implementation.
 *
 * Uses the existing NodeBench SQLite database (via getDb()) with FTS5
 * for full-text recall. All data stays local on disk at ~/.nodebench/nodebench.db.
 *
 * Tables created on connect:
 *   - memory_items       — core memory storage
 *   - memory_items_fts   — FTS5 virtual table for search
 *   - memory_relations   — directed edges between memories
 *   - memory_profiles    — cached user profile aggregates (optional)
 *
 * Follows the same schema patterns as db.ts (triggers for FTS sync, indexes).
 */
import type { MemoryProvider, ProviderConfig, MemoryInput, Memory, MemoryRelation, RecallOptions, ListOptions, UserProfile, SyncResult } from "./memoryProvider.js";
export declare class LocalMemoryProvider implements MemoryProvider {
    readonly name = "local-sqlite";
    readonly type: "local";
    private db;
    private config;
    private connected;
    connect(config: ProviderConfig): Promise<void>;
    disconnect(): Promise<void>;
    isConnected(): boolean;
    private ensureConnected;
    store(memory: MemoryInput): Promise<string>;
    update(id: string, memory: MemoryInput): Promise<void>;
    delete(id: string): Promise<void>;
    recall(query: string, options?: RecallOptions): Promise<Memory[]>;
    get(id: string): Promise<Memory | null>;
    list(options?: ListOptions): Promise<Memory[]>;
    relate(fromId: string, toId: string, relation: MemoryRelation): Promise<void>;
    getProfile(userId?: string): Promise<UserProfile | null>;
    sync(direction: "push" | "pull" | "both"): Promise<SyncResult>;
}
