import type { DatabaseSync } from 'node:sqlite'; import type { SessionListQuery, SessionMetadata, PaginatedResult } from '../../session/types.js'; import { type SessionMetadataSeed } from './session-metadata.js'; import { buildGlobalSessionStats } from './row-mappers.js'; export declare function ensureSessionInTransaction(db: DatabaseSync, sessionKey: string, cwd: string, seed?: SessionMetadataSeed): SessionMetadata; export declare function ensureSessionRecord(sessionKey: string, cwd: string, seed?: SessionMetadataSeed): SessionMetadata; export declare function readCurrentSessionId(db: DatabaseSync, sessionKey: string): string | null; export declare function getSessionMetadata(sessionKey: string): SessionMetadata | null; export declare function getCurrentSessionId(sessionKey: string): string | null; export declare function listSessionMetadata(query?: SessionListQuery): PaginatedResult; export declare function patchSessionMetadata(sessionKey: string, updates: Partial): SessionMetadata; export declare function updateSessionStats(sessionKey: string, stats: { messageCount: number; estimatedTokens: number; lastInteractionAt?: number; }): void; export declare function incrementSessionStatsOnAppend(sessionKey: string, tokenDelta?: number): void; export declare function resetSessionRecord(sessionKey: string, cwd: string): { sessionId: string; previousSessionId: string; } | null; export declare function deleteSessionRecord(sessionKey: string): boolean; export declare function listSessionsByAgent(agentId: string): SessionMetadata[]; export declare function getSessionPersistedLevels(sessionKey: string): { thinkingLevel: string | null; verboseLevel: string | null; } | null; export declare function findSessionKeyBySessionId(sessionId: string): string | null; export declare function getGlobalSessionStats(): ReturnType; export declare function resolveSessionAgentId(sessionKey: string): string;