import type { MessengerAdapter, MessageContext } from '../../../core/types.js';
export declare class FeishuAdapter implements MessengerAdapter {
    readonly name = "feishu";
    private client;
    private config;
    private messageHandler?;
    /** message_id → first-seen timestamp (ms). LRU-ish: pruned on insert. */
    private seenMessages;
    start(): Promise<void>;
    stop(): Promise<void>;
    onMessage(handler: (ctx: MessageContext) => Promise<void>): void;
    sendMessage(threadId: string, text: string): Promise<void>;
    sendCard(threadId: string, card: unknown): Promise<void>;
    sendTyping(threadId: string, isTyping: boolean): Promise<void>;
    /**
     * Returns true if this message_id was already seen within DEDUP_TTL_MS.
     * Side effect on first sight: record it and prune any expired entries.
     */
    private isDuplicate;
    private handleFeishuMessage;
}
export declare const feishuAdapter: FeishuAdapter;
//# sourceMappingURL=feishu-adapter.d.ts.map