import { ChangeDetectorRef, ComponentFactoryResolver, ElementRef, OnInit } from '@angular/core';
import { BaseInputComponent } from '../base/base-input.component';
import { CoreComponentsIcon } from '../../core/enum/core-components-icon.enum';
import { OverlayService } from '../../service/overlay.service';
import { SafeHtml } from '@angular/platform-browser';
import { FormComponent } from "../form/form.component";
import { FormInputUserModelChangeListenerService } from "../../core/service/form-input-user-change-listener.service";
import { NgZoneWrapperService } from "../../core/service/ng-zone-wrapper.service";
import { IconCacheService } from '../icon/icon-cache.service';
export declare class ListOfValuesComponent extends BaseInputComponent<any> implements OnInit {
    formComponent: FormComponent;
    iconCacheService: IconCacheService;
    protected changeDetector: ChangeDetectorRef;
    protected overlayService: OverlayService;
    protected componentFactoryResolver: ComponentFactoryResolver;
    protected formUserChangeListener?: FormInputUserModelChangeListenerService;
    protected ngZoneWrapper?: NgZoneWrapperService;
    elementRef?: ElementRef;
    readonly icons: typeof CoreComponentsIcon;
    set model(value: any);
    get model(): any;
    parentForOverlay: ElementRef;
    multiselect: boolean;
    showToggleAll: boolean;
    largeCollection: boolean;
    displayField: string;
    optionIcon: string;
    set collection(value: any[]);
    get collection(): any[];
    collectionLoadFn: Function;
    collectionLoadFnProp: string;
    leftIconData: SafeHtml | undefined;
    searchPlaceholder: string;
    label: string;
    customCssClass: string;
    searchDisabled: boolean;
    showChips: boolean;
    showClass(): boolean;
    isSelectOpen: boolean;
    state: string;
    filterText: string;
    selectedModel: string;
    selectedModels: string[];
    filteredCollection: any[];
    isLoading: boolean;
    private _collection;
    private debounceTimeout;
    private _lovPopupComponentRef;
    constructor(formComponent: FormComponent, iconCacheService: IconCacheService, changeDetector: ChangeDetectorRef, overlayService: OverlayService, componentFactoryResolver: ComponentFactoryResolver, formUserChangeListener?: FormInputUserModelChangeListenerService, ngZoneWrapper?: NgZoneWrapperService, elementRef?: ElementRef);
    ngOnInit(): void;
    handleInputModelChange(model: string): void;
    onModelChange(text: string): void;
    applyFilter(text: string): Promise<[]>;
    handleInputKeyDown(event: KeyboardEvent): boolean;
    clearModel(event: MouseEvent): void;
    toggleSelect(): void;
    openPopup(): void;
    removeOptionFromModel(chip: any): void;
    optionChosen(option: any): void;
    closePopup(): void;
    checkModel(): void;
    private _setSelectedModel;
}
