import { ChatSession, ChatMessage } from '../shared/types.js'; interface SessionState { session: ChatSession; messages: ChatMessage[]; isActive: boolean; lastAccessedAt: string; messageCount: number; metadata: SessionMetadata; } interface SessionMetadata { providers: string[]; models: string[]; totalTokensUsed?: number; averageResponseTime?: number; lastModel?: string; lastProvider?: string; tags?: string[]; customData?: Record; } interface SessionRestoreOptions { includeMessages?: boolean; messageLimit?: number; fromDate?: string; toDate?: string; } interface SessionHistoryEntry { timestamp: string; action: 'created' | 'updated' | 'message_added' | 'title_changed' | 'accessed'; details: string; metadata?: Record; } interface SessionPersistenceOptions { autoSave?: boolean; saveInterval?: number; maxHistoryEntries?: number; } export type { SessionHistoryEntry, SessionMetadata, SessionPersistenceOptions, SessionRestoreOptions, SessionState };