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 { getSessionMetadata } from './session-read-repository.js'; export declare function ensureSessionInTransaction(db: DatabaseSync, conversationId: string, cwd: string, seed?: SessionMetadataSeed): SessionMetadata; export declare function ensureSessionRecord(conversationId: string, cwd: string, seed?: SessionMetadataSeed): SessionMetadata; export { readCurrentTranscriptId } from './session-instance-repository.js'; export declare function getCurrentTranscriptId(conversationId: string): string | null; export declare function listSessionMetadata(query?: SessionListQuery): PaginatedResult; export declare function patchSessionMetadata(conversationId: string, updates: Partial): SessionMetadata; export declare function updateSessionStats(conversationId: string, stats: { messageCount: number; estimatedTokens: number; lastInteractionAt?: number; }): void; export declare function incrementSessionStatsOnAppend(conversationId: string, tokenDelta?: number): void; export declare function resetSessionRecord(conversationId: string, cwd: string): { transcriptId: string; previousTranscriptId: string; } | null; export declare function deleteSessionRecord(conversationId: string): boolean; export declare function listSessionsByAgent(agentId: string): SessionMetadata[]; export declare function findConversationIdByTranscriptId(transcriptId: string): string | null; export declare function getGlobalSessionStats(): ReturnType; export declare function resolveSessionAgentId(conversationId: string): string;