/**
 * Telegram-Orchestrator Bridge
 *
 * Routes messages between Telegram and the Crewly orchestrator,
 * enabling mobile control of AI teams via Telegram bot.
 *
 * Flow:
 * 1. TelegramService emits 'message' event for each incoming text
 * 2. This bridge enqueues the message to MessageQueueService
 * 3. QueueProcessor delivers it to the orchestrator
 * 4. ResponseRouter calls the telegramResolve callback
 * 5. Bridge sends the response back to the Telegram chat
 *
 * @module services/telegram/telegram-orchestrator-bridge
 */
import type { MessageQueueService } from '../messaging/message-queue.service.js';
/**
 * TelegramOrchestratorBridge routes incoming Telegram messages to the
 * orchestrator via the message queue, and sends responses back.
 *
 * @example
 * ```typescript
 * const bridge = getTelegramOrchestratorBridge();
 * bridge.setMessageQueueService(queueService);
 * await bridge.initialize();
 * ```
 */
export declare class TelegramOrchestratorBridge {
    private logger;
    private telegramService;
    private messageQueueService;
    private threadStore;
    private initialized;
    constructor();
    /**
     * Set the MessageQueueService for enqueuing incoming messages.
     *
     * @param service - The MessageQueueService instance
     */
    setMessageQueueService(service: MessageQueueService): void;
    /**
     * Initialize the bridge by subscribing to TelegramService events.
     * Must be called after TelegramService.initialize() and startPolling().
     */
    initialize(): Promise<void>;
    /**
     * Handle an incoming Telegram message by enqueuing it for the orchestrator.
     *
     * @param msg - The incoming Telegram message
     */
    private handleIncomingMessage;
    /**
     * Enqueue a Telegram message into the message queue with a resolve callback.
     *
     * @param msg - The incoming message to enqueue
     */
    private enqueueMessage;
    /**
     * Clean up the bridge by removing event listeners.
     */
    destroy(): void;
}
/**
 * Get the TelegramOrchestratorBridge singleton.
 *
 * @returns The bridge instance
 */
export declare function getTelegramOrchestratorBridge(): TelegramOrchestratorBridge;
/**
 * Reset the TelegramOrchestratorBridge singleton (for testing).
 */
export declare function resetTelegramOrchestratorBridge(): void;
//# sourceMappingURL=telegram-orchestrator-bridge.d.ts.map