import { FlexibleConnectedPositionStrategy, Overlay, OverlayConfig } from '@angular/cdk/overlay';
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { Subject } from 'rxjs';
import { Mention, MentionOnSearchTypes, MentionPositionType } from './mention.types';
import * as i0 from "@angular/core";
export declare class MentionDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy {
    private el;
    private viewContainerRef;
    private cdr;
    private overlay;
    mentionNotFoundContent: string;
    mentionSuggestions: any[];
    mentionLoading: boolean;
    mentionTrigger: string[];
    mentionSeparator: string;
    mentionSeparatorToggle: {
        prefix: boolean;
        suffix: boolean;
    };
    mentionPosition: MentionPositionType;
    mentionItemTemplate: TemplateRef<any>;
    mentionValueParse: (value: string) => string;
    mentionSelectItem: EventEmitter<any>;
    mentionSearchChange: EventEmitter<MentionOnSearchTypes>;
    mentionAfterMentionInit: EventEmitter<MentionDirective>;
    isOpen: boolean;
    activeIndex: number;
    unsubscribe$: Subject<unknown>;
    defaultNotFoundText: string;
    get nativeElement(): any;
    private value;
    private previousValue;
    private cursorMention;
    private cursorMentionStart;
    private cursorMentionEnd;
    private cursorEnd;
    private overlayRef;
    private portal?;
    private positionStrategy;
    private mentionRef;
    private filterSuggestions;
    constructor(el: ElementRef, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, overlay: Overlay);
    onKeyDown(event: any): void;
    onClick(e: any): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    resetMention(emit?: boolean): void;
    checkMention(): void;
    hideMention(): void;
    showMention(): void;
    attachOverlay(): void;
    getOverlayConfig(): OverlayConfig;
    getOverlayPosition(target: any): FlexibleConnectedPositionStrategy;
    updatePositions(): void;
    suggestionsFilter(value: string, emit: boolean): void;
    setMentionData(): void;
    selectSuggestion(suggestion: any): void;
    insertMention(mention: Mention): void;
    setPreviousItemActive(): void;
    setNextItemActive(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MentionDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MentionDirective, "[dMention]", ["dMention"], { "mentionNotFoundContent": "mentionNotFoundContent"; "mentionSuggestions": "mentionSuggestions"; "mentionLoading": "mentionLoading"; "mentionTrigger": "mentionTrigger"; "mentionSeparator": "mentionSeparator"; "mentionSeparatorToggle": "mentionSeparatorToggle"; "mentionPosition": "mentionPosition"; "mentionItemTemplate": "mentionItemTemplate"; "mentionValueParse": "mentionValueParse"; }, { "mentionSelectItem": "mentionSelectItem"; "mentionSearchChange": "mentionSearchChange"; "mentionAfterMentionInit": "mentionAfterMentionInit"; }, never, never, false>;
}
