import { EventEmitter } from 'events'; import type { ReadStream } from 'fs'; import { type FeishuCardActionEvent, type FeishuCardActionResponse } from './client-utils.js'; declare class FeishuClient extends EventEmitter { private client; private wsClient; private eventDispatcher; private cardActionHandler?; private cardUpdateQueue; private connectionState; private heartbeatTimer; private lastHeartbeatAt; private heartbeatFailureCount; private readonly HEARTBEAT_INTERVAL_MS; private readonly HEARTBEAT_FAILURE_THRESHOLD; private botOpenId; constructor(); private createEventDispatcher; getBotOpenId(): string | null; getLastHeartbeatAt(): number; private startHeartbeat; private stopHeartbeat; private performHeartbeat; private fetchBotInfo; start(): Promise; onMemberLeft(callback: (chatId: string, memberId: string) => void): void; onChatDisbanded(callback: (chatId: string) => void): void; onMessageRecalled(callback: (event: any) => void): void; private handleMessage; setCardActionHandler(handler: (event: FeishuCardActionEvent) => Promise): void; private handleCardAction; downloadMessageResource(messageId: string, fileKey: string, type: 'image' | 'file' | 'audio' | 'video'): Promise<{ writeFile: (filePath: string) => Promise; headers: Record; } | null>; sendText(chatId: string, text: string): Promise; reply(messageId: string, text: string): Promise; replyCard(messageId: string, card: object): Promise; updateCard(messageId: string, card: object): Promise; private doUpdateCard; updateMessage(messageId: string, text: string): Promise; sendCard(chatId: string, card: object): Promise; deleteMessage(messageId: string): Promise; addChatManager(chatId: string, managerId: string, idType: 'open_id' | 'app_id'): Promise; createChat(name: string, userIds: string[], description?: string): Promise<{ chatId: string | null; invalidUserIds: string[]; }>; disbandChat(chatId: string): Promise; getChatMembers(chatId: string): Promise; getUserChats(): Promise; getChat(chatId: string): Promise<{ ownerId: string; name: string; } | null>; addChatMembers(chatId: string, userIds: string[]): Promise; uploadImage(imageData: Buffer | ReadStream): Promise; uploadFile(fileData: Buffer | ReadStream, fileName: string, fileType: 'opus' | 'mp4' | 'pdf' | 'doc' | 'xls' | 'ppt' | 'stream'): Promise; sendImageMessage(chatId: string, imageKey: string): Promise; sendFileMessage(chatId: string, fileKey: string): Promise; stop(): void; } export declare const feishuClient: FeishuClient; export type { FeishuMessageEvent, FeishuCardActionEvent, FeishuCardActionResponse, FeishuAttachment } from './client-utils.js'; export { isCompletionNotFoundError } from './client-utils.js'; //# sourceMappingURL=client.d.ts.map