import * as Lark from '@larksuiteoapi/node-sdk';
import type { FeishuConfig } from './types.js';
interface MessageReceiveEvent {
    message: {
        message_id: string;
        root_id?: string;
        parent_id?: string;
        chat_id: string;
        message_type: string;
        content: string;
        create_time: string;
    };
    sender: {
        sender_id?: {
            open_id?: string;
            user_id?: string;
            union_id?: string;
        };
        sender_type: string;
        tenant_key: string;
    };
}
type MessageHandler = (event: MessageReceiveEvent) => Promise<void>;
export declare class FeishuClient {
    private client;
    private wsClient;
    private eventDispatcher;
    private messageHandler?;
    constructor(config: FeishuConfig);
    onMessage(handler: MessageHandler): void;
    sendMessage(chatId: string, text: string): Promise<{
        message_id?: string;
    }>;
    deleteMessage(messageId: string): Promise<void>;
    sendCard(chatId: string, card: unknown): Promise<unknown>;
    replyToMessage(messageId: string, text: string): Promise<unknown>;
    replyWithCard(messageId: string, card: unknown): Promise<unknown>;
    start(): Promise<void>;
    stop(): Promise<void>;
    get larkClient(): Lark.Client;
}
export {};
//# sourceMappingURL=feishu-client.d.ts.map