import type { ArkmeBotSummary, ArkmeConversationMemberItem, ArkmeGroupBotCandidate, ArkmeTimelineMentionTarget } from '../types.js'; export interface ArkmeComposerMentionTrigger { startIndex: number; endIndex: number; query: string; } export declare const ARKME_RESERVED_ASEN_BOT_REF = "asen"; export declare const ARKME_RESERVED_ASEN_DISPLAY_NAME = "\u963F\u68EE"; export declare function arkmeComposerMentionTrigger(text: string, selectionStart: number, selectionEnd?: number): ArkmeComposerMentionTrigger | undefined; export declare function arkmeMentionCandidateMatches(member: Pick & { mentionDisplayName?: string; mentionSecondaryName?: string; memberName?: string; secondaryName?: string; searchText?: string; }, query: string): boolean; export type ArkmeMentionCandidate = { kind: 'all'; displayName: '所有人'; } | { kind: 'bot'; displayName: string; botRef: string; secondaryName?: string; avatarRef?: string; searchText?: string; reservedAgent?: 'asen'; } | ({ kind: 'member'; mentionRef: string; } & ArkmeConversationMemberItem); export declare function arkmeMentionCandidateKey(candidate: ArkmeMentionCandidate): string; export declare function arkmeMentionCandidateIsReservedAsen(candidate: ArkmeMentionCandidate): boolean; export declare function arkmeMentionCandidatePrimaryText(member: { kind: 'all' | 'bot' | 'member'; displayName: string; mentionDisplayName?: string; mentionSecondaryName?: string; secondaryName?: string; }): string; export declare function arkmeGroupMentionCandidates(query: string, bots: readonly ArkmeGroupBotCandidate[], members: readonly ArkmeConversationMemberItem[]): ArkmeMentionCandidate[]; export declare function arkmePrivateMentionCandidates(query: string, bots: readonly ArkmeBotSummary[]): ArkmeMentionCandidate[]; export declare function arkmeMemberForVisibleMention(mentionText: string, members: readonly ArkmeConversationMemberItem[]): ArkmeConversationMemberItem | undefined; export declare function arkmeMemberForMentionTarget(mentionTarget: ArkmeTimelineMentionTarget | undefined, members: readonly ArkmeConversationMemberItem[]): ArkmeConversationMemberItem | undefined; export declare function arkmeMemberForMention(mentionText: string, members: readonly ArkmeConversationMemberItem[], mentionTarget?: ArkmeTimelineMentionTarget): ArkmeConversationMemberItem | undefined; //# sourceMappingURL=mention-candidates.d.ts.map