import { BasePlatformAdapter, MessageEvent, ProcessingOutcome, SendResult } from './platform-base.js'; import type { PlatformConfig } from './platform-base.js'; export interface DiscordConfig extends PlatformConfig { token: string; allowedUserIds?: string[]; allowedRoleIds?: string[]; commandPrefix?: string; autoArchiveThreadMinutes?: number; } interface DiscordEmbed { title?: string; description?: string; color?: number; fields?: Array<{ name: string; value: string; inline?: boolean; }>; footer?: { text: string; }; } declare const MAX_MESSAGE_LENGTH = 2000; export declare class DiscordChannel extends BasePlatformAdapter { private token; private allowedUserIds; private allowedRoleIds; private ws; private heartbeatInterval; private sequenceNumber; private sessionId; private resumeGatewayUrl; private rateLimitQueues; private activeThreads; private autoArchiveMinutes; constructor(config: DiscordConfig); connect(): Promise; disconnect(): Promise; private connectGateway; private wsSend; private handleGatewayMessage; private handleMessage; private discordApi; private chunkContent; send(chatId: string, content: string, replyTo?: string, metadata?: Record): Promise; editMessage(chatId: string, messageId: string, content: string, _finalize?: boolean): Promise; sendTyping(chatId: string, _metadata?: Record): Promise; stopTyping(_chatId: string): Promise; sendImage(chatId: string, imageUrl: string, caption?: string, _replyTo?: string, metadata?: Record): Promise; sendEmbed(chatId: string, embed: DiscordEmbed, threadId?: string): Promise; sendAnimation(chatId: string, animationUrl: string, caption?: string, _replyTo?: string, metadata?: Record): Promise; addReaction(chatId: string, messageId: string, emoji: string): Promise; createThread(chatId: string, name: string, messageId?: string): Promise; getChatInfo(chatId: string): Promise>; onProcessingComplete(_event: MessageEvent, _outcome: ProcessingOutcome): void; } export { MAX_MESSAGE_LENGTH }; //# sourceMappingURL=discord.d.ts.map