import { OnDestroy, ChangeDetectorRef, ElementRef } from '@angular/core';
import { OverlayPanel } from 'primeng/overlaypanel';
import { NgModel } from '@angular/forms';
import { SmzAutocompleteSelectorComponent } from './smz-autocomplete-selector-component';
import { SmzAutocompleteTagAreaControl } from '../../models/control-types';
import { SmzFormsBehaviorsConfig } from '../../models/behaviors';
import { SmzSmartAutocompleteTagOption } from '../../directives/smart-autocomplete-tag.directive';
import * as i0 from "@angular/core";
export declare class SmzInputAutocompleteTagArea implements OnDestroy {
    ngModel: NgModel;
    private cdr;
    overlay: OverlayPanel;
    inputElement: ElementRef;
    selectorElement: SmzAutocompleteSelectorComponent;
    input: SmzAutocompleteTagAreaControl;
    control: any;
    behaviors: SmzFormsBehaviorsConfig;
    currentOption: SmzSmartAutocompleteTagOption;
    currentTagPosition: number;
    constructor(ngModel: NgModel, cdr: ChangeDetectorRef);
    onHideOverlay(): void;
    private updateValue;
    hide(): void;
    onTag(event: {
        tag: SmzSmartAutocompleteTagOption;
        position: number;
    }): void;
    calc(inputElement: any): any;
    ngOnDestroy(): void;
    calcEvent: (e: any) => void;
    getCursorXY: (input: any, selectionPoint: any) => {
        x: any;
        y: any;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzInputAutocompleteTagArea, [{ optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SmzInputAutocompleteTagArea, "smz-input-autocomplete-tag-area", never, { "input": { "alias": "input"; "required": false; }; "control": { "alias": "control"; "required": false; }; "behaviors": { "alias": "behaviors"; "required": false; }; }, {}, never, never, false, never>;
}
