/**
 * 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;
