import { OnInit, OnChanges, Renderer2, ElementRef } from '@angular/core';
import { DefaultControlValueAccessor } from './../../common/default-control-value-accessor';
import { FormControl } from '@angular/forms';
import { AsiComponentTemplateOptionDef, AsiComponentTemplateSelectedDef } from './../../common/asi-component-template';
import { AsiDropDown } from '../../asi-dropdown/asi-dropdown.component';
/**
 * asi-autocomplete component
 */
export declare class AsiAutoCompleteComponent extends DefaultControlValueAccessor implements OnInit, OnChanges {
    private renderer;
    private elementRef;
    /** html id */
    id: string;
    /** html name */
    name: string;
    /** Label to display (is translated) */
    label: string;
    /** Label position */
    labelPosition: 'top' | 'left' | 'right' | 'bottom' | 'bottom-center' | 'top-center';
    /** Delay between the moment you stop typing and onRequestData is called */
    delay: number;
    /** A placeholder if needed */
    placeholder: string;
    /** Function called to request new data (can return Observable/Promise/Object): Throw error if null */
    onRequestData: Function;
    optionDef: AsiComponentTemplateOptionDef;
    selectedDef: AsiComponentTemplateSelectedDef;
    asiDropDown: AsiDropDown;
    autoCompleteControl: FormControl;
    open: boolean;
    data: Array<any>;
    firstRequestDone: Boolean;
    init: boolean;
    private currentValue;
    constructor(renderer: Renderer2, elementRef: ElementRef);
    private checkInput();
    ngOnInit(): void;
    onDropdownClose(): void;
    ngOnChanges(): void;
    selectValue(data: any): void;
    clearValue(): void;
    writeValue(value: any): void;
}
