/**
 * @author Andres Echeverri <andres.echeverri@alertlogic.com>
 * @copyright 2020 Alert Logic, Inc.
 */
import { AfterViewInit, ElementRef, Renderer2 } from "@angular/core";
import { ControlValueAccessor, NgControl } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class AlSuggestionInputComponent implements AfterViewInit, ControlValueAccessor {
    control: NgControl;
    private render;
    get placeholder(): string;
    set placeholder(plh: string);
    type: string;
    rows: number;
    autoResize: boolean;
    required: boolean;
    openWithSpecialCharacter: boolean;
    specialCharacter: string;
    filter: boolean;
    suggestions: string[];
    suggestionList: ElementRef;
    suggestionPanel: ElementRef;
    tracingPaper: ElementRef;
    input: ElementRef;
    value: string;
    isDisabled: boolean;
    suggestionTemp: string[];
    suggestionPanelClass: string;
    hasFocus: boolean;
    private iPlaceholder;
    private suggestionInputHelper;
    private currentSuggestionSelect;
    private uniqueClass;
    constructor(control: NgControl, render: Renderer2);
    onChangeFn: (_: any) => void;
    onTouchFn: () => void;
    ngAfterViewInit(): void;
    onKeyup(e: any): void;
    onKeydown(e: any): void;
    onClick(e: any): void;
    default(): void;
    updateValue(): void;
    closeSpecialCharacter(): void;
    placeCursorInMiddle(): void;
    isCursorInMiddle(): boolean;
    countSpecialCharacter(str: string): number;
    isPair(n: number): boolean;
    isOdd(n: number): boolean;
    isSpecialCharacter(str: string): boolean;
    isSuggestionPanelVisible(): boolean;
    isSuggestionPanelHidden(): boolean;
    hadSuggestion(): boolean;
    generateUniqueClass(): void;
    openSuggestionPanel(): void;
    hiddenSuggestionPanel(): void;
    putSuggestion(str: string): void;
    getTextInMiddle(): string;
    removeTextInMiddle(): number | null;
    filterSuggestions(value: string): void;
    executeFilter(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    get invalid(): boolean;
    onChange(): void;
    static ɵfac: i0.ɵɵFactoryDef<AlSuggestionInputComponent, [{ optional: true; self: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<AlSuggestionInputComponent, "al-suggestion-input", never, { "placeholder": "placeholder"; "type": "type"; "rows": "rows"; "autoResize": "autoResize"; "required": "required"; "openWithSpecialCharacter": "openWithSpecialCharacter"; "specialCharacter": "specialCharacter"; "filter": "filter"; "suggestions": "suggestions"; }, {}, never, ["[errors]", "[errors]"]>;
}
