export type {
  ChannelAdapter,
  ChannelStatus,
  InboundMessage,
  OutboundMessage,
  OutboundAttachment,
  Attachment,
  ToolStatusEvent,
  MessageHandler,
} from './types.js';
export { ChannelRegistry } from './registry.js';
export { splitMessage } from './utils.js';
export { TelegramAdapter, type TelegramAdapterConfig } from './telegram/index.js';
export { WebChatAdapter, type WebChatAdapterConfig } from './webchat/index.js';
export { DiscordAdapter, type DiscordAdapterConfig } from './discord/index.js';
export { SlackAdapter, type SlackAdapterConfig } from './slack/index.js';
export { WhatsAppAdapter, type WhatsAppAdapterConfig } from './whatsapp/index.js';
export { MatrixAdapter, type MatrixAdapterConfig } from './matrix/index.js';
export { SignalAdapter, type SignalAdapterConfig } from './signal/index.js';
export { MattermostAdapter, type MattermostAdapterConfig } from './mattermost/index.js';
export { TeamsAdapter, type TeamsAdapterConfig } from './teams/index.js';
export { GoogleChatAdapter, type GoogleChatAdapterConfig } from './googleChat/index.js';
export { BlueBubblesAdapter, type BlueBubblesAdapterConfig } from './bluebubbles/index.js';
export { LineAdapter, type LineAdapterConfig } from './line/index.js';
export { FeishuAdapter, type FeishuAdapterConfig } from './feishu/index.js';
export { ZaloAdapter, type ZaloAdapterConfig } from './zalo/index.js';
export { PairingManager, type PairingConfig, type PairingStore, type ApprovedSender } from './pairing.js';
