/** * Sent Message Cache * * Tracks message IDs sent by the bot for: * - Reaction filtering (don't react to own messages) * - Message editing/deletion * - Session context tracking */ export interface SentMessageCacheOptions { /** Time-to-live in milliseconds */ ttlMs?: number; /** Cleanup threshold - cleanup when size exceeds this */ cleanupThreshold?: number; } export declare class SentMessageCache { private cache; private ttlMs; private cleanupThreshold; constructor(options?: SentMessageCacheOptions); private getChatKey; /** * Record a message ID as sent by the bot */ record(chatId: number | string, messageId: number): void; /** * Check if a message was sent by the bot */ wasSentByBot(chatId: number | string, messageId: number): boolean; /** * Clean up expired entries in a chat entry */ private cleanupEntry; /** * Clear all entries for a chat */ clearChat(chatId: number | string): void; /** * Clear all entries (for testing) */ clearAll(): void; /** * Get cache statistics */ getStats(): { totalChats: number; totalMessages: number; oldestMessageAt?: Date; newestMessageAt?: Date; }; } export declare const sentMessageCache: SentMessageCache;