import { ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Subscription } from 'rxjs';
import { OptionModel } from '../dropdown-option.model';
import { DropdownService } from '../dropdown.service';
import { OptionsService } from '../options.service';
import { LayoutControlService } from '../../core/layout-control/layout-control.service';
import * as i0 from "@angular/core";
export declare class AutocompleteComponent implements ControlValueAccessor, OnDestroy {
    private document;
    private platformId;
    private dropdownService;
    private optionsService;
    private renderer;
    private layoutControlService;
    private $options;
    private req;
    set options(o: OptionModel[]);
    get options(): OptionModel[];
    set required(val: any);
    get required(): any;
    sub: Subscription;
    autocomplete: ElementRef;
    inputElementRef: ElementRef;
    label: string;
    placeholder: string;
    disabled: boolean;
    small: boolean;
    icon: string;
    caption: string;
    focusEvent: EventEmitter<any>;
    blurEvent: EventEmitter<any>;
    resultEvent: EventEmitter<any>;
    valueChanges: EventEmitter<any>;
    error: string;
    get isDisabled(): boolean;
    isOpen: boolean;
    focused: boolean;
    currentValue: OptionModel;
    currentValues: Set<OptionModel>;
    uid: string;
    value: string;
    constructor(document: any, platformId: any, dropdownService: DropdownService, optionsService: OptionsService, renderer: Renderer2, layoutControlService: LayoutControlService);
    getOptions(): OptionModel[];
    isInactive(): boolean;
    hasValuesToDrop(): boolean;
    onOpen(): void;
    onClose(): void;
    emitBlur(): void;
    emitFocus(): void;
    selected(): string;
    onResult(option: OptionModel): void;
    writeValue(val: any): void;
    addValue(o: OptionModel): void;
    clearValue(e: any): void;
    onChange(value: any): void;
    onTouched(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    setInputSubscription(): void;
    onInput(ev: any): void;
    showDropdown(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AutocompleteComponent, "sdk-autocomplete", never, { "options": "options"; "required": "required"; "label": "label"; "placeholder": "placeholder"; "disabled": "disabled"; "small": "small"; "icon": "icon"; "caption": "caption"; "error": "error"; "isDisabled": "isDisabled"; }, { "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; "resultEvent": "resultEvent"; "valueChanges": "valueChanges"; }, never, never, false>;
}
