import type { ConversationLogMessage, RunAnswer } from "../../types.js"; import type { ConversationEvent, MessagingEventHandler, MessagingBot, MessagingInfo } from "../../types.js"; import type { DiscordAttachmentSource, DiscordMessagingBotOptions } from "./types.js"; export declare class DiscordMessagingBot implements MessagingBot { private client; private handler; private token; private workspace; private botUserId; private stopped; private queues; private intake; private startupTime; private channels; private users; constructor(handler: MessagingEventHandler, options: DiscordMessagingBotOptions); start(): Promise; stop(): Promise; postMessage(channel: string, text: string): Promise; updateMessage(channel: string, ts: string, text: string): Promise; addReaction(channel: string, messageTs: string, emoji: string): Promise; enqueueEvent(event: ConversationEvent): boolean; getMessagingInfo(): MessagingInfo; updateMessageRaw(channelId: string, messageId: string, text: string): Promise; postReply(channelId: string, replyToId: string, text: string): Promise; postInThread(channelId: string, threadOrMessageId: string, text: string): Promise; deleteMessageRaw(channelId: string, messageId: string): Promise; sendTyping(channelId: string): Promise; uploadFile(channelId: string, filePath: string, title?: string): Promise; sendDirectMessage(userId: string, text: string): Promise; postPrivate(_conversationId: string, userId: string, text: string): Promise; getAllChannels(): { id: string; name: string; }[]; getAllUsers(): { id: string; userName: string; displayName: string; }[]; logToFile(channelId: string, entry: ConversationLogMessage): void; logBotResponse(channelId: string, text: string, ts: string, threadTs?: string, { answer }?: { answer?: RunAnswer; }): void; processAttachments(channelId: string, attachments: ReadonlyMap): Promise<{ name: string; localPath: string; }[]>; private getQueue; private resolveStopTarget; private loadCachedGuildData; private stripMessagingBotMention; private resolveConversationContext; private createSlashCommandAdapters; private setupEventHandlers; private handleInteractionCreate; private handleMessageCreate; private fetchTextChannel; } //# sourceMappingURL=bot.d.ts.map