import { BasePlatformAdapter, MessageEvent, ProcessingOutcome, SendResult } from './platform-base.js'; import type { PlatformConfig } from './platform-base.js'; export interface WeComConfig extends PlatformConfig { botId: string; secret: string; websocketUrl?: string; dmPolicy?: 'open' | 'allowlist' | 'disabled'; allowFrom?: string[]; groupPolicy?: 'open' | 'allowlist' | 'disabled'; homeChannel?: string; } declare const MAX_MESSAGE_LENGTH = 4000; export declare class WeComChannel extends BasePlatformAdapter { private botId; private secret; private wsUrl; private dmPolicy; private allowFrom; private groupPolicy; private homeChannel; private ws; private heartbeatTimer; private reconnectAttempt; private seenMessages; constructor(config: WeComConfig); connect(): Promise; disconnect(): Promise; private clearHeartbeat; private connectLoop; private runSession; private sendFrame; private handleFrame; private isDuplicate; private isAllowed; private handleMessageCallback; 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; sendAnimation(chatId: string, animationUrl: string, caption?: string, replyTo?: string, metadata?: Record): Promise; getChatInfo(chatId: string): Promise>; verifyCallbackSignature(timestamp: string, nonce: string, body: string, signature: string): boolean; encryptMessage(message: string): string; decryptMessage(encrypted: string): string; onProcessingComplete(_event: MessageEvent, _outcome: ProcessingOutcome): void; } export { MAX_MESSAGE_LENGTH }; //# sourceMappingURL=wecom.d.ts.map