import { BaseChannel } from './index'; /** * Feishu / Lark Channel — v1.1.0 * * Supports: * - Event Subscription (webhook) mode for receiving messages * - Bot send via Feishu Open API * - URL verification challenge * - Message card (interactive) responses * - Group chat & P2P messaging * - Event deduplication * - No external dependencies (uses Node.js built-in http/https) */ export interface FeishuChannelConfig { /** Feishu App ID */ appId?: string; /** Feishu App Secret */ appSecret?: string; /** Verification token for event subscription */ verificationToken?: string; /** Encrypt key (optional, for encrypted events) */ encryptKey?: string; /** Webhook server port (default: 8081) */ port?: number; /** API base URL (use 'https://open.larksuite.com' for Lark international) */ apiBase?: string; } export declare class FeishuChannel extends BaseChannel { readonly type = "feishu"; private config; private server; private tokenCache; private processedEvents; constructor(config?: FeishuChannelConfig); start(): Promise; stop(): Promise; /** Handle Feishu event */ private handleEvent; /** Parse Feishu event body (exported for testing) */ static parseEventBody(body: any): { type: string; challenge?: string; eventType?: string; content?: string; chatId?: string; senderId?: string; messageId?: string; }; /** Get tenant access token (cached) */ private getAccessToken; /** Send a text message to a chat */ sendTextMessage(chatId: string, text: string): Promise; /** Send an interactive card message */ sendCardMessage(chatId: string, card: Record): Promise; /** Read request body */ private readBody; /** HTTPS POST */ private httpsPost; /** HTTPS POST with Bearer auth */ private httpsPostWithAuth; } //# sourceMappingURL=feishu.d.ts.map