import type { TextTriggerItem, TextTriggerOptions } from './text-trigger-types.ts'; /** * Base class for trigger-char-at-caret → popover → select → action pattern. * * Subclasses provide identity (trigger char, event prefix, data attribute) * and optional customization (tag text format, tag styling, option rendering). * * Used by SlashCommandController (`/`) and MentionController (`@`). */ export declare abstract class TextTriggerController { #private; readonly host: HTMLElement; protected abstract get triggerChar(): string; protected abstract get eventPrefix(): string; protected abstract get dataAttribute(): string; /** Format the text displayed inside an inserted tag. Default: `{trigger}{item.value}`. */ protected formatTagText(item: TextTriggerItem): string; /** Apply inline styles to an inserted tag element. Override for custom styling. */ protected styleTag(tag: HTMLElement, _item: TextTriggerItem): void; /** Render content inside a listbox option. Override for custom rendering (e.g. avatars). */ protected renderOptionContent(option: HTMLElement, item: TextTriggerItem): void; /** Keyboard shortcut key for Cmd/Ctrl+{key} toggle. Return null for no shortcut. */ protected get keyboardShortcut(): string | null; constructor(host: HTMLElement, options: TextTriggerOptions); get items(): TextTriggerItem[]; set items(val: TextTriggerItem[]); get open(): boolean; destroy(): void; } //# sourceMappingURL=text-trigger-controller.d.ts.map