import { ViewTemplate } from '@ni/fast-element';
import type { MappingConfigs, MentionUpdateEmitter } from '../types';
import type { RichTextMentionValidator } from './mention-validator';
export interface MentionInternalsOptions<TValidator extends RichTextMentionValidator = RichTextMentionValidator> {
    readonly icon: string;
    readonly character: string;
    readonly viewElement: string;
    readonly validator: TValidator;
}
/**
 * Internal mention state
 */
export declare class MentionInternals<TValidator extends RichTextMentionValidator = RichTextMentionValidator> {
    /**
     * Mappings configured for the mention node
     */
    mappingConfigs?: MappingConfigs;
    /**
     * Regex used to extract user ID from user key (url)
     */
    pattern?: string;
    /**
     * Label to use as accessible name and title of mention button
     */
    buttonLabel?: string;
    /**
     * Template of the Icon to display on RichTextEditor Toolbar
     */
    readonly iconTemplate: ViewTemplate;
    /**
     * Character to show respective mention list
     */
    readonly character: string;
    /**
     * Mention view element to render in rich text components
     */
    readonly viewElement: string;
    /**
     * The validator for the mention element.
     */
    readonly validator: TValidator;
    /**
     * Function to invoke to emit a mention-update event
     */
    readonly mentionUpdateEmitter: MentionUpdateEmitter;
    constructor(options: MentionInternalsOptions<TValidator>, mentionUpdateEmitter: MentionUpdateEmitter);
}
