/** * Slack Adapter - Hermes-style Slack platform adapter * * Features: * - Incoming webhooks (outbound only) * - Web API (with bot token) * - Slash command support * - Block Kit support */ import { BaseAdapter, type PlatformConfig } from "./base.js"; export interface SlackConfig extends PlatformConfig { platform: "slack"; webhookUrl?: string; botToken?: string; signingSecret?: string; teamId?: string; defaultChannel?: string; } export declare class SlackAdapter extends BaseAdapter { readonly platform: "slack"; config: SlackConfig; private connected; constructor(config: SlackConfig); initialize(): Promise; private apiRequest; start(callbacks: any): Promise; stop(): Promise; sendMessage(channelId: string, content: string): Promise; postMessage(channelId: string, content: string, blocks?: any[]): Promise; replyToThread(channelId: string, threadTs: string, content: string): Promise; editMessage(channelId: string, messageTs: string, content: string): Promise; deleteMessage(channelId: string, messageTs: string): Promise; setTyping(channelId: string, isTyping: boolean): Promise; getChannelInfo(channelId: string): Promise<{ id: string; name: string; numMembers: number; topic: string; } | null>; listChannels(): Promise>; getStatus(): Promise<{ connected: boolean; latency?: number; }>; handleIncomingEvent(event: any): Promise; }