/** * WhatsApp 平台适配器 * * 支持双模式: * - personal: 使用 baileys (WhatsApp Web 协议) * - business: 使用 WhatsApp Business API (HTTP API) */ import type { WASocket } from '@whiskeysockets/baileys'; import type { PlatformAdapter, PlatformSender, PlatformMessageEvent, PlatformActionEvent } from '../types.js'; /** * WhatsApp 连接状态 */ import { type WhatsAppStatusInfo } from './whatsapp-adapter-types.js'; /** * WhatsApp 平台适配器实现 */ export declare class WhatsAppAdapter implements PlatformAdapter { readonly platform: "whatsapp"; private socket; private qrCode; private qrCodeDataUrl; private connectionStatus; private isActive; private personalSender; private businessSender; private messageCallbacks; private actionCallbacks; private readonly messageConversationMap; constructor(); getSocket(): WASocket | null; getConversationByMessageId(messageId: string): string | undefined; rememberMessageConversation(messageId: string, conversationId: string): void; forgetMessageConversation(messageId: string): void; start(): Promise; private startPersonalMode; private startBusinessMode; stop(): void; getSender(): PlatformSender; onMessage(callback: (event: PlatformMessageEvent) => void): void; onAction(callback: (event: PlatformActionEvent) => void): void; isAdapterActive(): boolean; /** * 获取二维码(用于扫码登录) */ getQrCode(): Promise; /** * 获取连接状态和二维码(用于前端展示) */ getStatus(): WhatsAppStatusInfo; private handleMessage; private extractMessageContent; /** * 检测消息类型 */ private detectMessageType; /** * 提取媒体附件信息 * Personal 模式:下载媒体并转为 base64 data URL * Business 模式:返回 mediaId(需通过 Business API 下载) */ private extractAttachments; } export declare const whatsappAdapter: WhatsAppAdapter; export { readStatusFile, writeStatusFile } from './whatsapp-adapter-utils.js'; //# sourceMappingURL=whatsapp-adapter.d.ts.map