import { BasePlatformAdapter, MessageEvent, ProcessingOutcome, SendResult } from './platform-base.js'; import type { PlatformConfig } from './platform-base.js'; export interface FeishuConfig extends PlatformConfig { appId: string; appSecret: string; verificationToken?: string; encryptKey?: string; allowedUsers?: string[]; requireMention?: boolean; homeChannel?: string; transport?: 'websocket' | 'webhook'; webhookPort?: number; webhookHost?: string; } declare const MAX_MESSAGE_LENGTH = 4096; declare function stripMarkdown(text: string): string; export declare class FeishuChannel extends BasePlatformAdapter { private appId; private appSecret; private verificationToken; private allowedUsers; private requireMention; private homeChannel; private transport; private webhookPort; private webhookHost; private tokenCache; private botOpenId; private seenMessages; private wsReconnectAttempt; private wsRunning; constructor(config: FeishuConfig); connect(): Promise; disconnect(): Promise; private getTenantAccessToken; private fetchBotOpenId; private connectWebSocket; private runWebSocketSession; private isDuplicate; handleWebhookEvent(body: Record, signature?: string): Promise>; private verifySignature; private processMessageEvent; private processReactionEvent; private processCardAction; private feishuApi; 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; addReaction(messageId: string, emoji: string): Promise; removeReaction(messageId: string, reactionId: string): Promise; replyMessage(messageId: string, content: 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; sendCard(chatId: string, card: Record): Promise; getChatInfo(chatId: string): Promise>; onProcessingComplete(_event: MessageEvent, _outcome: ProcessingOutcome): void; } export { MAX_MESSAGE_LENGTH, stripMarkdown }; //# sourceMappingURL=feishu.d.ts.map