import { type ClipboardEvent } from 'react'; import type { ArkmeTimelineMentionTarget } from '../types.js'; import { type ArkmeLinkLabelMode, type ArkmeLinkRenderer } from './ArkmeLinkText.js'; export interface ArkmeVisibleTextRun { kind: 'text' | 'mention' | 'tag'; text: string; mentionTarget?: ArkmeTimelineMentionTarget; } export declare function arkmeVisibleMentionRuns(text: string, highlightTags?: boolean, mentionTargets?: readonly ArkmeTimelineMentionTarget[]): ArkmeVisibleTextRun[]; export type ArkmeMentionClickHandler = (mentionText: string, mentionTarget?: ArkmeTimelineMentionTarget) => void; export type ArkmeMentionClickPredicate = (mentionText: string, mentionTarget?: ArkmeTimelineMentionTarget) => boolean; export declare function ArkmeMentionText({ text, mentionTargets, readMentionMembers, interactive, highlightTags, onTagClick, onMentionClick, isMentionClickable, }: { text: string; mentionTargets?: readonly ArkmeTimelineMentionTarget[]; readMentionMembers?: ReadonlySet; interactive?: boolean; highlightTags?: boolean; onTagClick?: (tagText: string) => void; onMentionClick?: ArkmeMentionClickHandler; isMentionClickable?: ArkmeMentionClickPredicate; }): import("react").JSX.Element; export declare function copyArkmeRichText(event: ClipboardEvent): void; export declare function ArkmeRichText({ text, presentation, highlightMentions, highlightTags, renderLink, emojiSize, linkLabelMode, mentionTargets, readMentionMembers, onTagClick, onMentionClick, isMentionClickable, }: { text: string; presentation?: 'body' | 'preview'; highlightMentions?: boolean; highlightTags?: boolean; renderLink?: ArkmeLinkRenderer; emojiSize?: number; linkLabelMode?: ArkmeLinkLabelMode; mentionTargets?: readonly ArkmeTimelineMentionTarget[]; readMentionMembers?: ReadonlySet; onTagClick?: (tagText: string) => void; onMentionClick?: ArkmeMentionClickHandler; isMentionClickable?: ArkmeMentionClickPredicate; }): import("react").JSX.Element; //# sourceMappingURL=ArkmeRichText.d.ts.map