import { OnDestroy, ChangeDetectorRef, ElementRef, AfterViewInit } from '@angular/core';
import { SmzSmartTagConfig, SmzSmartTagData, SmzSmartTagOptions } from '../../directives/smart-tag.directive';
import { OverlayPanel } from 'primeng/overlaypanel';
import { UntypedFormControl, NgModel } from '@angular/forms';
import { Listbox } from 'primeng/listbox';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "@angular/forms";
import * as i3 from "primeng/inputtextarea";
import * as i4 from "../../directives/smart-tag.directive";
import * as i5 from "primeng/overlaypanel";
import * as i6 from "primeng/dropdown";
import * as i7 from "primeng/button";
import * as i8 from "primeng/listbox";
export declare class SmzInputTagArea implements AfterViewInit, OnDestroy {
    ngModel: NgModel;
    private cdr;
    overlay: OverlayPanel;
    inputElement: ElementRef;
    listboxElement: Listbox;
    config: SmzSmartTagConfig;
    rows: number;
    control: UntypedFormControl;
    currentTag: SmzSmartTagOptions;
    currentTagPosition: number;
    currentTagSelection: SmzSmartTagData;
    constructor(ngModel: NgModel, cdr: ChangeDetectorRef);
    ngAfterViewInit(): void;
    onHideOverlay(): void;
    hide(event: any): void;
    onTag(event: {
        tag: SmzSmartTagOptions;
        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<SmzInputTagArea, [{ optional: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SmzInputTagArea, "smz-input-tag-area", never, { "config": { "alias": "config"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class SmzInputTagAreaModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<SmzInputTagAreaModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<SmzInputTagAreaModule, [typeof SmzInputTagArea], [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.InputTextareaModule, typeof i4.SmzSmartTagModule, typeof i5.OverlayPanelModule, typeof i6.DropdownModule, typeof i7.ButtonModule, typeof i8.ListboxModule], [typeof SmzInputTagArea]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<SmzInputTagAreaModule>;
}
