import type { FeishuMessageEvent } from "./bot.js"; /** * Escape regex metacharacters so user-controlled mention fields are treated literally. */ export declare function escapeRegExp(input: string): string; /** * Mention target user info */ export type MentionTarget = { openId: string; name: string; key: string; }; /** * Extract mention targets from message event (excluding the bot itself) */ export declare function extractMentionTargets(event: FeishuMessageEvent, botOpenId?: string): MentionTarget[]; /** * Check if message is a mention forward request * Rules: * - Group: message mentions bot + at least one other user * - DM: message mentions any user (no need to mention bot) */ export declare function isMentionForwardRequest(event: FeishuMessageEvent, botOpenId?: string): boolean; /** * Extract message body from text (remove @ placeholders) */ export declare function extractMessageBody(text: string, allMentionKeys: string[]): string; /** * Format @mention for text message */ export declare function formatMentionForText(target: MentionTarget): string; /** * Format @everyone for text message */ export declare function formatMentionAllForText(): string; /** * Format @mention for card message (lark_md) */ export declare function formatMentionForCard(target: MentionTarget): string; /** * Format @everyone for card message */ export declare function formatMentionAllForCard(): string; /** * Build complete message with @mentions (text format) */ export declare function buildMentionedMessage(targets: MentionTarget[], message: string): string; /** * Build card content with @mentions (Markdown format) */ export declare function buildMentionedCardContent(targets: MentionTarget[], message: string): string;