import { Plugin } from "./plugin-manager";
import { IAgentRuntime } from "@defikitdotnet/core";
/**
 * BotResponder plugin
 *
 * Monitors posts mentioning the agent and replies to unlinked users
 * Uses a Redis queue to manage replies
 */
export declare class BotResponderPlugin implements Plugin {
    name: string;
    version: string;
    description: string;
    private twitterService;
    private checkInterval;
    private checkIntervalMinutes;
    private isChecking;
    private isProcessingQueue;
    private lastCheckTime;
    private adapter;
    private runtime;
    private twitterConfig;
    private redisService;
    private agentId;
    constructor(runtime: IAgentRuntime, twitterConfig: any);
    /**
     * Initialize the plugin
     */
    initialize(): Promise<void>;
    /**
     * Load previously replied tweets from database into Redis Set via RedisService
     */
    private loadRepliedTweets;
    /**
     * Start the checker, running immediately only if necessary based on lastCheckTime.
     */
    startChecker(): void;
    stopChecker(): void;
    setCheckInterval(minutes: number): void;
    checkForUnlinkedUsers(): Promise<void>;
    private processTweetForUnlinkedUser;
    /**
     * Add a tweet to the Redis reply queue if not already replied.
     */
    private queueReply;
    /**
     * Process the reply queue with interval between replies
     */
    private processReplyQueue;
    private sendReplyToUnlinkedUser;
    private generateReplyContent;
    private sendTelegramAlert;
    getLastCheckTime(): Date | null;
    runManualCheck(): Promise<void>;
    shutdown(): Promise<void>;
}
//# sourceMappingURL=bot-responder-plugin.d.ts.map