/** * Conversation Selector for Loop Mode * Handles discovery and selection of stored conversations from Redis */ import type { ConversationSummary, RedisStorageConfig } from "../../lib/types/index.js"; export declare class ConversationSelector { private redisClient; private redisConfig; private conversationCache; private cacheTimestamp; constructor(redisConfig?: RedisStorageConfig); /** * Initialize Redis connection */ private initializeRedis; /** * Get available conversations for a user */ getAvailableConversations(userId?: string): Promise; /** * Display conversation menu and get user selection */ displayConversationMenu(userId?: string): Promise; /** * Check if there are any stored conversations */ hasStoredConversations(userId?: string): Promise; /** * Close Redis connection */ close(): Promise; private scanConversationKeys; private processConversationKeys; private processSingleConversationKey; private sortConversationsByDate; private updateCache; private filterConversationsByUser; private createMenuChoices; private showSelectionPrompt; private handleRetrievalError; private handleMenuError; private createConversationSummary; private formatConversationChoice; }