import type { Message } from "grammy/types"; import type { MessagingBot, ConversationEvent, MessagingEventHandler, MessagingInfo } from "../../adapter.js"; export type { TelegramEvent } from "./types.js"; export declare class TelegramMessagingBot implements MessagingBot { private client; private handler; private botToken; private workingDir; private botUserId; private botUsername; private queues; private startupTime; constructor(handler: MessagingEventHandler, config: { token: string; workingDir: string; }); start(): Promise; postMessage(channel: string, text: string): Promise; updateMessage(channel: string, ts: string, text: string): Promise; enqueueEvent(event: ConversationEvent): boolean; getMessagingInfo(): MessagingInfo; postMessageRaw(chatId: number, text: string): Promise; postPlainMessage(chatId: number, text: string): Promise; postReply(chatId: number, replyToMessageId: number, text: string): Promise; deleteMessageRaw(chatId: number, messageId: number): Promise; sendTyping(chatId: number): Promise; uploadFile(channel: string, filePath: string, title?: string): Promise; logToFile(channel: string, entry: object): void; logBotResponse(channel: string, text: string, ts: string): void; /** * Process attachments from a Telegram message * Downloads files before returning metadata so the agent can read them immediately * Returns format compatible with ConversationMessage: { name: string, localPath: string }[] */ processAttachments(chatId: string, message: Message): Promise<{ name: string; localPath: string; }[]>; /** * Download a file from Telegram and return attachment metadata */ private processTelegramFile; private getQueue; private extractMessageContext; private isAddressedToMessagingBot; private cleanText; private isStopText; private resolveStopTarget; private setupEventHandlers; } //# sourceMappingURL=bot.d.ts.map