import { Context } from 'telegraf'; import type { MessageEntity } from 'telegraf/types'; import { Telegraf } from 'telegraf'; import { SessionManager } from '../session-manager.js'; import { type TelegramRoute } from '../route.js'; type LogFn = (...args: unknown[]) => void; export declare function addressedToBot(text: string | undefined, entities: MessageEntity[] | undefined, replyFromId: number | undefined, botId: number, botUsername: string | undefined): boolean; export declare class MessageHandler { private static readonly MAX_QUEUE_DEPTH; private sessionManager; private messageQueues; private registeredCommandChats; private log; private bot; private claimedChats; private reserveClaim; private releaseClaim; private isClaimed; pendingElicitations: Map void>; ledgerOriginatedPendingChats: Set; private readonly tagOnlyChats; constructor(bot: Telegraf, sessionManager: SessionManager, registeredCommandChats: Set, log: LogFn, tagOnlyChats?: Set); handlePhoto(ctx: Context): Promise; handleDocument(ctx: Context): Promise; handle(ctx: Context): Promise; processClearDirect(route: TelegramRoute, ctx: Context): Promise; private processCompactDirect; private queueFor; private enqueueMessage; private enqueuePhoto; private enqueueDocument; enqueueClear(route: TelegramRoute, ctx: Context): void; enqueueCompact(route: TelegramRoute, ctx: Context): void; private processOne; drainQueue(route: TelegramRoute): Promise; } export {};