import { OnInit, EventEmitter, TemplateRef, OnChanges, ChangeDetectorRef } from '@angular/core';
import { FormControl } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/empty';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
import { SearchComboBoxGenericService } from './search-combo-box-generic.service';
import { SearchComboBoxGenericModel } from './search-combo-box-generic.model';
export declare class SearchComboBoxGenericComponent implements OnInit, OnChanges {
    service: SearchComboBoxGenericService;
    cd: ChangeDetectorRef;
    itemControl: FormControl;
    componentModel: SearchComboBoxGenericModel;
    preSelectedValue: any;
    isScrollable: boolean;
    customTemplate: TemplateRef<any>;
    selectFirst: boolean;
    dataSource: Observable<any>;
    data: any;
    asyncDataSelected: any;
    itemSelected: EventEmitter<any>;
    noResults: EventEmitter<any>;
    typeLoading: EventEmitter<any>;
    totalRecordsForSearch: EventEmitter<any>;
    constructor(service: SearchComboBoxGenericService, cd: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(): void;
    searchItems(token: string, componentModel: SearchComboBoxGenericModel): Observable<any>;
    selectItem(event: any): void;
    typeaheadNoResults(event: any): void;
    typeaheadLoading(event: any): void;
    getIsScrollable(): boolean;
    setPreSelectedValue(): void;
    setInitialValue(selectedDependency: any): void;
    private clearDataTypeObjectIfEmpty(token);
}
