export interface QueuedReply { tweetId: string; userId: string; } export declare class RedisService { private client; private redisKeyPrefix; constructor(agentId: string); private get repliedTweetsKey(); private get replyQueueKey(); private get lastCheckTimeKey(); private get lastProcessingTweetIdKey(); ping(): Promise; quit(): Promise; isTweetReplied(tweetId: string): Promise; addRepliedTweet(tweetId: string): Promise; addRepliedTweets(tweetIds: string[]): Promise; getRepliedTweetCount(): Promise; addToReplyQueue(reply: QueuedReply): Promise; getReplyQueue(): Promise; clearReplyQueue(): Promise; /** * Remove the first item from the reply queue * @returns Number of items removed (0 or 1) */ removeFromReplyQueue(): Promise; requeueFailedReplies(replies: QueuedReply[]): Promise; setLastCheckTime(time: Date): Promise<'OK'>; getLastCheckTime(): Promise; setLastProcessingTweetId(tweetId: string): Promise<'OK'>; getLastProcessingTweetId(): Promise; clearLastProcessingTweetId(): Promise; private getLeaderboardKey; cacheLeaderboard(period: string, limit: number, data: any, agentId?: string): Promise<'OK'>; getCachedLeaderboard(period: string, limit: number, agentId?: string): Promise; getKeys(): { repliedTweetsKey: string; replyQueueKey: string; lastCheckTimeKey: string; lastProcessingTweetIdKey: string; }; } //# sourceMappingURL=redis-service.d.ts.map