import { BasePlatformAdapter, MessageEvent, ProcessingOutcome, SendResult } from './platform-base.js'; import type { PlatformConfig } from './platform-base.js'; export interface SlackConfig extends PlatformConfig { botToken: string; appToken?: string; signingSecret?: string; requireMention?: boolean; replyInThread?: boolean; freeResponseChannels?: string[]; allowBots?: 'none' | 'mentions' | 'all'; } declare const MAX_MESSAGE_LENGTH = 39000; export declare class SlackChannel extends BasePlatformAdapter { private botToken; private appToken; private requireMention; private replyInThread; private freeResponseChannels; private allowBots; private botUserId; private wsClient; private reconnectDelay; private threadContextCache; private mentionedThreads; private botMessageTs; private seenEventIds; constructor(config: SlackConfig); connect(): Promise; disconnect(): Promise; private connectSocketMode; private handleSocketMessage; private handleSlackEvent; private handleSlashCommand; private slackApi; 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; sendAnimation(chatId: string, animationUrl: string, caption?: string, replyTo?: string, metadata?: Record): Promise; addReaction(chatId: string, ts: string, emoji: string): Promise; removeReaction(chatId: string, ts: string, emoji: string): Promise; sendBlockKit(chatId: string, blocks: unknown[], text: string, threadTs?: string): Promise; getChatInfo(chatId: string): Promise>; fetchThreadContext(channelId: string, threadTs: string, limit?: number): Promise; formatMessage(text: string): string; private chunkMessage; onProcessingComplete(_event: MessageEvent, _outcome: ProcessingOutcome): void; } export { MAX_MESSAGE_LENGTH }; //# sourceMappingURL=slack.d.ts.map