import { TextTriggerController } from '../text-trigger/text-trigger-controller.ts'; import type { TextTriggerItem } from '../text-trigger/text-trigger-types.ts'; export interface MentionItem extends TextTriggerItem { /** Optional avatar URL for display in the listbox. */ avatar?: string; } export interface MentionOptions { input: HTMLElement; items: MentionItem[]; } /** * Detects `@` at the caret position (preceded by whitespace or at text start), * shows a caret-anchored mention listbox popover, filters by query, and * dispatches selection events. * * Events: * - `native:mention-query` — dispatched on host when typing after `@`. Detail: `{ query, commands }` * - `native:mention-select` — dispatched on host when a mention is selected. Detail: `{ command }` */ export declare class MentionController extends TextTriggerController { protected get triggerChar(): string; protected get eventPrefix(): string; protected get dataAttribute(): string; constructor(host: HTMLElement, options: MentionOptions); /** Tag displays `@label` (display name), not `@value` (ID). */ protected formatTagText(item: TextTriggerItem): string; /** Mention tags use accent color styling. */ protected styleTag(tag: HTMLElement, _item: TextTriggerItem): void; /** Render avatar + label in listbox options. */ protected renderOptionContent(option: HTMLElement, item: TextTriggerItem): void; } //# sourceMappingURL=mention-controller.d.ts.map