import { ChatMessage, SessionRow } from './types';
export declare class SessionStore {
    private db;
    constructor(dbPath?: string);
    createSession(sessionId: string, source: string, model: string): SessionRow;
    getSession(sessionId: string): SessionRow | null;
    ensureSession(sessionId: string, source: string, model: string): SessionRow;
    updateSystemPrompt(sessionId: string, prompt: string): void;
    listSessions(): SessionRow[];
    deleteSession(sessionId: string): boolean;
    addMessage(sessionId: string, msg: ChatMessage): number;
    getMessages(sessionId: string): ChatMessage[];
    getMessagesSince(sessionId: string, sinceId: number): ChatMessage[];
    replaceMessages(sessionId: string, messages: ChatMessage[]): void;
    clearMessages(sessionId: string): void;
    messageCount(sessionId: string): number;
    searchMessages(query: string, limit?: number): Array<{
        sessionId: string;
        role: string;
        content: string;
    }>;
    getMeta(key: string): string | null;
    setMeta(key: string, value: string): void;
    sessionCount(): number;
    optimizeFts(): void;
    vacuum(): void;
    close(): void;
    private _mapSessionRow;
    private _mapMessageRow;
    private _sanitizeFtsQuery;
}
export declare function getSessionStore(): SessionStore;
export declare function resetSessionStore(): void;
//# sourceMappingURL=session-store.d.ts.map